gpt4 book ai didi

elasticsearch - Elastic Search中如何限制然后排序

转载 作者:行者123 更新时间:2023-11-29 02:56:59 24 4
gpt4 key购买 nike

我想先将 Elasticsearch 返回的结果(按_score 排序)限制为 1000,然后按特定字段对这 1000 个结果进行排序。

SQL 中的一个示例是 -

select name,count,score 
from
(select name,count,score from users order by score limit 1000) A
order by count

如何在 Elasticsearch 中执行此操作?

最佳答案

您可以使用辅助排序选项来实现此目的。按以下顺序排序

  1. _score( Elasticsearch 得分)
  2. sort_field(根据您的 Q 进行计数)

下面的查询将搜索文档并首先使用 elasticsearch 计算的分值进行排序,然后第二级排序将应用字段计数并且大小(限制)将为 1000,因此只有 1000 个文档返回给您。

示例

{
"size": 1000,
"query": {
"match_all": {}
},
"sort": [
"_score",
{
"count": {
"order": "asc"
}
}
],
"fields": [
"name",
"count",
"score"
]
}

关于elasticsearch - Elastic Search中如何限制然后排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32117250/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com