这是我想使用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/