有没有一种方法可以将elasticsearch的_score按升序排序?

3
我有一个包含574,279,238个文档的索引ES。由于这个原因,当我查询数据库时,我必须管理大量的结果。
有没有一种方法可以根据_ASC_排序的_score来获取结果?即使我有超过1百万的结果,我也想看到ES给我的X个“最差”结果...
'sort' => [{'_score': {'order':'asc'}}]
这不起作用...
感谢您的帮助。

“sort”:[{"_score":“asc”}]无效吗? - Andrei Stefan
“sort” => [{‘_score’: {‘order’: ‘desc’}}]是有效的…而“sort” => [{‘_score’: {‘order’: ‘asc’}}]以及“sort” => [{‘_score’: ‘asc’}]则无效… - frednotet
1
那毫无意义。如果desc有效,asc也应该有效。你说的“不起作用”是什么意思?你期望看到什么,实际上得到了什么? - Andrei Stefan
你说得对... 我错了... 我的脚本返回了一个空响应,因为 "max_score" 是 NULL... 没有办法按照这个排序方式获取最大分数吗? - frednotet
请提供按升序和降序排序的查询和结果。此外,这是哪个ES版本? - Andrei Stefan
显示剩余2条评论
1个回答

0

是的,它是可用的。您可以摄入一些文档并检查它。请按照我的指示按术语频率计数对结果进行排序

运行以下查询并找出预期结果:

curl -XPOST "http://localhost:9200/movies/_search" -d'
{
  "query": {
    "filtered": {
      "query": {
        "query_string": {
          "query": "godfather"
        }
      }
    }
  },
  "sort": [
    {
      "_score": {
        "order": "asc"
      }
    }
  ]
}'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接