0
我有一个查询,其中我要求基于ID列表的记录列表弹性搜索。例如elasticsearch中的列表排序
比赛:IDS:[1,2,3]
是否可以告诉elasticsearch返回元素,我的顺序?我的ID的名单将在数百,我在分页25.
块的元素这将是巨大的,如果我可以这么像
{匹配:IDS [1,2,3] 类别:ids [3,1,2}
任何建议将是非常有益的。谢谢!
我有一个查询,其中我要求基于ID列表的记录列表弹性搜索。例如elasticsearch中的列表排序
比赛:IDS:[1,2,3]
是否可以告诉elasticsearch返回元素,我的顺序?我的ID的名单将在数百,我在分页25.
块的元素这将是巨大的,如果我可以这么像
{匹配:IDS [1,2,3] 类别:ids [3,1,2}
任何建议将是非常有益的。谢谢!
如果可能的话使用Multi Get:
POST /orderbyids/_mget
{
"ids" : [12, 80, 44, 50]
}
一种替代方法是使用动态脚本:
POST /orderbyids/_search
{
"query": {
"function_score": {
"query": {
"ids": {
"values": [
50,
80,
44,
12
]
}
},
"script_score": {
"params": {
"ids": [
12,
80,
44,
50
]
},
"script": "return -ids.indexOf(doc['id'].value.intValue());"
}
}
}
}
的功能已在一个关闭issue了讨论。
真棒很多谢谢! – jdkealy