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 に答える