Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用聚合中的最佳_分数对弹性搜索结果进行排序_Python_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Python,elasticsearch" /> elasticsearch,Python,elasticsearch" />

Python 使用聚合中的最佳_分数对弹性搜索结果进行排序

Python 使用聚合中的最佳_分数对弹性搜索结果进行排序,python,elasticsearch,Python,elasticsearch,我正在尝试做一个汇总,然后在top中对得分最高的结果进行排序。虽然聚合是成功的,但它的分数没有排序。如何使之成为可能 "aggs": { "group": { "terms": { "field": "description.keyword", "order": { "description_score":

我正在尝试做一个汇总,然后在top中对得分最高的结果进行排序。虽然聚合是成功的,但它的分数没有排序。如何使之成为可能

   "aggs": {
            "group": {
                "terms": {
                    "field": "description.keyword",
                    "order": {
                        "description_score": "desc"
                    }
                },
                "aggs": {
                    "group_docs": {
                        "top_hits": {
                            "size": 1
                        }
                    }
                }
            },

        }

由于@Lupanoide提到的分数不是在聚合中计算的,所以您无法根据文档分数对存储桶进行排序。相反,可以使用

允许根据字段值折叠搜索结果。这个 折叠是通过仅选择排序靠前的文档来完成的 折叠键


默认情况下,搜索结果按“分数”排序,因此您无需添加“排序”

,因为@Lupanoide提到的分数不是在聚合中计算的,因此您无法根据文档分数对存储桶进行排序。相反,可以使用

允许根据字段值折叠搜索结果。这个 折叠是通过仅选择排序靠前的文档来完成的 折叠键


默认情况下,搜索结果按“分数”排序,因此您不需要添加“排序”

@Lupanoide您可以共享您的视图吗?正如刚才所说,这是不可能的,因为术语聚合不会返回任何分数。它是SQL中的一种groupBy。它将某个字段的所有值分组,没有分数。你需要改变策略。请更好地解释你的目标是什么。你需要得到什么分数?根据哪些标准?@Lupanoide您可以分享您的观点吗?正如刚才所说,这是不可能的,因为术语聚合不会返回任何分数。它是SQL中的一种groupBy。它将某个字段的所有值分组,没有分数。你需要改变策略。请更好地解释你的目标是什么。你需要得到什么分数?根据哪些标准?
{
  "query": {
    "match_all": {}
  },
  "collapse": { --> group by on given field
    "field": "sources.keyword"
  }
}