2016-05-04 10 views
0

私は、idフィールドに基づいてヒットした次のelastic search (0.90)クエリを取得しました。このフィールドの組み合わせはORの演算子です。それは完璧に働いています。検索クエリ文字列から用語クエリ

私ははるかに簡単なクエリと同じことを行いたいと私は termオプションを発見し、私は正常に動作している以下のものを持っている
$query = '{ 
    "fields": "position", 
    "query": { 
     "query_string": { 
      "query": "id:rs6663158 id:rs6695131", 
      "default_operator": "OR" 
     } 
    } 
}'; 

$query = '{ 
    "fields": "position", 
    "query": { 
     "term": { 
      "id": "rs6663158", 
      "default_operator": "OR" 
     } 
    } 
}'; 

私はより多くを追加するかどうかはわかりません1 idフィールドは"id": ["rs6663158", "rs7221234"]のようになります。 termオプションでこれを行うことは可能ですか?他にも優れた簡単な解決法がないのですか?

+1

のように、termsクエリを使用して-terms-filter.html)複数の値を一致させるフィルタ –

答えて

1

あなたは[ `terms`](https://www.elastic.co/guide/en/elasticsearch/reference/0.90/query-dslを使用することができ、この

$query = '{ 
    "fields": "position", 
    "query": { 
     "terms": { 
      "id": ["rs6663158", "rs6695131"] 
     } 
    } 
}'; 
+0

ああ...私は 's'を逃した..それは働いた!!! – DhiwaTdG

+0

素晴らしい、それはうまくいった! – Val

関連する問題