我有一个非常简单的弹性搜索查询,我按类别过滤一些项目。这是一个常数分数查询,如下所示:
"query": {
"constant_score": {
"filter": {
"term": {
"category": "[category-id]"
}
}
}
}
问题在于没有得分来对这些结果进行排序,因为它们并不总是以相同的顺序返回。这是一个问题,因为它弄乱了我的分页。
一个例子。我要求前5项,我收到回来让我们说下面的ID:[4, 7, 8, 10, 3]
。然后我希望接下来的5个项目显示下一页,但我可能会重复一些项目,例如:[12, 15, 7, 13, 9]
。
问题是我的所有字段都是字符串字段,我不希望按任何字段排序。排序顺序并不重要,每次都保持相同的顺序非常重要。
有什么想法吗?谢谢!
答案 0 :(得分:0)
试试这个:
GET _search
{
"query": {
"bool": {
"filter": {
"term": {
"category": "[category-id]"
}
}
}
}
}
由于此过去曾被称为过滤查询,因此不计算分数,分数字段的值为0.