1

这是我想使用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 似乎还没有基于脚本的排序的等效运算符 - 或者是吗?

4

1 回答 1

2

NEST 支持脚本排序SortScript()

在此处查看它们的单元测试:

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

于 2013-11-15T13:57:30.390 回答