2013-04-04 19 views
5

私は、 'usernamesAssigned'プロパティを持つElasticsearchのドキュメントをソートするために以下を使用しています。 usernamesAssignedは、文字列の配列です:ElasticSearchの文字列の並べ替え

"sort": [ 
    { 
     "_script": { 
      "script": "doc["usernamesAssigned"].values.sort().join()", 
      "type": "string", 
      "lang": "js", 
      "order": "asc" 
     } 
    } 
] 

スクリプトベースのソートを使用せずにこれを行うには、より効率的な方法があります場合、私は思ったんだけど?

答えて

3

documentationによると、これは古い質問ですが、同じ問題を解決しようとしているときに、私は最近、それを越えさまよっ...

Elasticsearchが配列によってソートや複数値をサポートフィールド。 モードオプションは、それが属する文書 をソートするためにどの配列値が選択されるかを制御します。

だから、あなたは次のように並べ替えることができるはずです:これは、バージョン0.90.0.Beta1以降で利用可能となっている

"sort" : [ {"usernamesAssigned" : {"order" : "asc", "mode" : "min"}} ]

関連する問題