我从查询中获得了一堆文件,这些文件按修改日期排序。但是,我希望某些文件(由字段值标识)始终返回前十个结果,无论是否有十个或更多文档具有更新的修改日期。
从我读过的关于Elasticsearch中的各种排序方式(得分,提升,脚本)我不认为我有任何方法可以确定文档在搜索结果中的实际位置,更不用说某种方式了操纵分数将文件推进前十名。
答案 0 :(得分:0)
假设你有一个名为" important_field"其中包含值1,对于您在顶部的文档,并为所有其他文档说0,您可以使用多字段排序,如下所示
{
"sort": [
{ "important_field": { "order": "desc" }},
{ "modified_date": { "order": "desc" }}
]
}
这种排序方式意味着它将按重要字段值排序,如果它们相同则将按modified_date排序。因此,所有具有important_field值1的文档将位于顶部,其余文档仍将按modified_date排序。