1
検索クエリにsplit_on_whitespaceを使用したいが、それを分からない。クエリは "hello world"のような文字列を持ちます。クエリワードを分割したくありません。弾性検索でsplit_on_whitespaceを使用するには?
検索クエリにsplit_on_whitespaceを使用したいが、それを分からない。クエリは "hello world"のような文字列を持ちます。クエリワードを分割したくありません。弾性検索でsplit_on_whitespaceを使用するには?
まず、検索するフィールドのマッピングが解析されていないことを確認してください。したがって、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の一致のクエリーとの違いを見てみることができます。