elasticsearch - NEST是否支持基于脚本的排序?

标签 elasticsearch nest

这是我想使用NEST构建的ElasticSearch查询:

{
    "from": 0,
    "size": 10,
    "sort": {
        "_script": {
            "script": "doc['name'].value=='my perfect match' ? 1 : 0",
            "type" : "number",
            "order" : "desc"
        },
        "_score": {}
    },
    "query": {
       ....
    }
}

(简化了-实际上我正在按其他一些属性进行排序。基于脚本的排序的重点是将精确匹配提升到结果集的顶部。)

用_score明确排序不是问题...
.Sort(sort => sort.OnField("_score"))

...但是NEST似乎还没有基于脚本的排序的等效运算符-还是吗?

最佳答案

NEST支持通过SortScript()进行脚本排序

在这里查看针对它们的单元测试:

https://github.com/Mpdreamz/NEST/blob/master/src/Nest.Tests.Unit/Search/Sort/SortTests.cs#L171

关于elasticsearch - NEST是否支持基于脚本的排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19986471/

相关文章:

python - 在Python中按时间进行 Elasticsearch Lucene查询

scala - Elastic4s 5.x中的多字段

elasticsearch - 如何使用ElasticSearch处理聚合?

java - 查找elasticsearch聚合计数

elasticsearch - 如何从映射中排除继承的对象属性

elasticsearch - 如何使用NEST构造记录的汇总(计数)?

node.js - 检索有关ElasticSearch Node 的信息

ElasticSearch似乎不支持数组查找

elasticsearch - NEST是否支持嵌套数据类型?

c# - 编译器找不到 Nest 中的映射器装饰器