Python Elasticsearch DSL:如何按分数降序排序?

Posted

技术标签:

【中文标题】Python Elasticsearch DSL:如何按分数降序排序?【英文标题】:Python Elasticsearch DSL: how to sort by score in descending order? 【发布时间】:2021-12-13 17:55:51 【问题描述】:

我有一个简单的查询:

Search().filter(
    "multi_match",
    fields=['name', 'description'],
    query='something',
    fuzziness="AUTO",
)
.sort("_score")

如何更改排序顺序?

我试过了: .sort("-_score") 返回错误:Sorting by '-_score' is not allowed.

【问题讨论】:

【参考方案1】:

根据documentation,你试过用字典指定吗?

Search().filter(
    "multi_match",
    fields=['name', 'description'],
    query='something',
    fuzziness="AUTO",
)
.sort("_score": "order": "desc")

【讨论】:

以上是关于Python Elasticsearch DSL:如何按分数降序排序?的主要内容,如果未能解决你的问题,请参考以下文章

如何记录或打印被调用的 python elasticsearch-dsl 查询

Python Elasticsearch DSL 查询过滤聚合操作实例

Elasticsearch:使用 Python elasticsearch-dsl-py 库对 Elasticsearch 进行查询

Elasticsearch:使用 Python elasticsearch-dsl-py 库对 Elasticsearch 进行查询

Python Elasticsearch DSL:如何按分数降序排序?

我可以将 elasticsearch-dsl 的 IpRange 子类化以供 django-elasticsearch-dsl 使用吗?