2016-07-21 4 views
-2

私はフィールドを持つ文書があります。(Elasticsearch)

"provider": "AppStore", 
"device_model": "iPad3,6[graphicsDeviceName: PowerVR SGX 554]", 
"days_in_game": 34, 

をそして私はdevice_modeliPad文字列ですべての文書を取得する必要があります!

それは可能ですか?

+0

これは機能しませんか? '{ "マッチ":{ "DEVICE_MODEL": "iPadの" } }' – ruhungry

+0

私はこの「{ "クエリ" を試してみた@ruhungry:{ "マッチ":{ "DEVICE_MODEL": "iPadの" }}} 、それは私に何も(( – Smasell

+0

これを試してみて、出力を貼り付ける与えない: 'ます。http:// :?それが動作//_マッピングpretty' – ruhungry

答えて

3

Elasticsearchには2種類の検索クエリがあります。タームクエリとマッチクエリ。一致が最初にクエリ文字列を分析し、クエリ内の単語を含むドキュメントを検索し、一致するかどうかに応じて結果を返します。 用語クエリは、基本的には「はい」または「いいえ」のクエリであり、正確に一致するドキュメントのみを返します。 あなたのケースでは、用語クエリがより適切であると思います。フィールドにはiPadという厳密な単語は含まれていませんが、iPad3のようなものは含まれていないので、文書に実際に含まれているものに応じて接頭辞、ワイルドカード、または正規表現のクエリを使用する必要があります(thisを参照)。

次のクエリ:

{ 
    "query": { 
    "prefix": { 
     "device_model": "iPad" 
    } 
} 
+0

Thxをを! – Smasell