sort":[{"score":{"order":"desc"}},{"age":{"order":"asc"}},{"average":{"order":"desc"}}] のように複数のフィールドに対してソートを掛けた際の優先順位などはあるのでしょうか? 例えばscoreの降順に並べるのが優先され、検索結果としては 1.score:90 age:17 average:85 2.score:89 age:15 average:90 3.score:82 age:13 average:83 のようになるのでしょうか?
https://www.elastic.co/guide/en/elasticsearch/reference/7.5/search-request-body.html#request-body-search-sort
上記ページのsortの箇所を読みましたが、特に確認できませんでした。
Elasticsearchのバージョンは7.4.0です。
指定した順番にソートが優先されるという認識です。 ですので、提示されている例ですと以下のようになるかと思います。
第1ソート: score降順 第2ソート: age 昇順 第3ソート: average 降順
SQLのorder byと同じようなものだと思っていただければよいかもしれません。
回答ありがとうございます。 このあたりのオプションがどういう効き方をするのかはSQLチックな感じなんですね。
© 2020. All Rights Reserved - Elasticsearch
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant logo are trademarks of the Apache Software Foundation in the United States and/or other countries.