以下是我想使用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似乎没有基于脚本的排序的等效运算符 - 或者它呢?
答案 0 :(得分:2)
NEST支持通过SortScript()
请在此处查看单元测试:
https://github.com/Mpdreamz/NEST/blob/master/src/Nest.Tests.Unit/Search/Sort/SortTests.cs#L171