2016-09-16 5 views
0

私はIDのリストに基づいてレコードのリストを求めるelasticsearchというクエリを持っています。例えばelasticsearchのリストでソートする

試合:IDS:[1,2,3]

そのために私に要素を返すようにelasticsearchを教えすることは可能でしょうか? IDSの私のリストには、数百になり、私はそれは素晴らしいことだ25

のチャンク内の要素をページ付けていた場合、私ができるよう

{試合のようなもの:IDS [1,2,3] ソート:ids [3,1,2]

どのような提案も非常に役に立ちます。ありがとう!

答えて

1

Multi Get可能使用する場合:

POST /orderbyids/_mget 
{ 
    "ids" : [12, 80, 44, 50] 
} 

代替動的スクリプトを使用することである。

POST /orderbyids/_search 
{ 
    "query": { 
    "function_score": { 
     "query": { 
     "ids": { 
      "values": [ 
      50, 
      80, 
      44, 
      12 
      ] 
     } 
     }, 
     "script_score": { 
     "params": { 
      "ids": [ 
       12, 
       80, 
       44, 
       50 
      ] 
     }, 
     "script": "return -ids.indexOf(doc['id'].value.intValue());" 
     } 
    } 
    } 
} 

機能が閉じissueで議論されてきました。

+0

非常に多くの感謝!!! – jdkealy

関連する問題