2017-01-24 3 views

答えて

1

まず、検索するフィールドのマッピングが解析されていないことを確認してください。したがって、ESはフィールド内の単語を分析せず、単一のテキストとして保存します。

ので、あなたのマッピングは次のようになります。そして、あなたは、フィールド上の用語のクエリを実行することができます

curl -XPUT localhost:9200/index_name -d '{ 
     "mappings": { 
     "type_name": { 
      "properties": { 
       "field_to_search": { 
        "type": "string", 
        "index": "not_analyzed" 
       }, 
      ...(other fields) 
      } 
     } 
    } 
    } 

curl -XPOST localhost:9200/index_name/type_name/_search -d '{ 
    "query": { 
     "term": { 
      "field_to_search": "hello world" 
     } 
    } 
} 

あなたは長期クエリ用語クエリが必要な理由を理解するためにelasticsearchの一致のクエリーとの違いを見てみることができます。