-
Notifications
You must be signed in to change notification settings - Fork 2
创建视频索引
Kyusong Lee edited this page Jun 4, 2021
·
17 revisions
本节将介绍如何使用SOCO Search创建一个基础的视频索引
和创建图片数据集一致,您需要先将您想要索引的视频文件上传到服务器,获取他们的url。并确保这些url信息可以被SOCO访问以进行后续处理。
例如您现在有3个视频文件,他们的url分别为
- http://68.77.252.175:30041/video/sample_video_1.mp4
- http://68.77.252.175:30041/video/sample_video_2.mp4
- http://68.77.252.175:30041/video/sample_video_3.mp4
(本例给出的并不是可访问的视频文件,请根据情况修改url来做测试)
您就可以创建如下的json代码来列出每段视频的url。
[
{
"url": "http://68.77.252.175:30041/video/sample_video_1.mp4"
},
{
"url": "http://68.77.252.175:30041/video/sample_video_2.mp4"
},
{
"url": "http://68.77.252.175:30041/video/sample_video_3.mp4"
}
]
创建视频数据集的方式和创建图片数据集的方式一样,您只需在dashboard上创建新的数据集,并填入数据集名称和对应的jsonl代码,请参考图片索引的数据集创建部分
{
url: [
{targetFieldName: "url", type: "keyword", configs: []},
{
targetFieldName: "tss",
type: "term_score",
configs: [
{key: "plugin_api", value: "video_search_grpc"},
{key: "q_processor", value: "tf_tokenize"},
{key: "model_id", value: "bert-base-chinese"},
],
},
]
}
我们把视频数据中的url作为源字段,并设定两个目标字段,一个作为关键字类型,一个为term_score类型
完成了数据集和Mapping的设定,就可以开始创建索引了,只需输入index名称。并在mapping部分选择您所创建的mapping即可。 创建完成后,打开您所创建的索引,并在reindex界面选择您所创建的数据集,确认无误后点击reindex,然后等待索引完成吧。请参考图片索引的部分
您可以在console界面或使用API直接测试索引好的index
{
"query": {
"match": {
"tss": "球"
},
"include": [
"tss",
"url"
]
}
}
{
"took": 0,
"ranks": [
{
"_source": {
"tss": {
"球": 7.628842398498781,
"内": 10.250266283552396,
"昏": 1.725182349625662,
"_timestamp_": 0.00008724380551949906,
"[SEP]": 6.7982755509194766,
"弓": 1.0541763774847968,
....
},
"_uid": "2466013306382878965",
"url": "http://192.168.1.125:30041/video/sample_video.mp4"
},
"score": 2.154665
}
],
"reads": []
}
其中
"_timestamp_": 0.00008724380551949906
部分为播放视频的时间戳,我们可以通过_timestamp_ * 1,000,000
来获取到搜索对应的视频结果的开始时间的秒数。
例如本例中开始的秒数为“0.00008724380551949906 * 1000000” 约为87.2秒,对应的搜索即为视频地址的开头87.2秒的部分