我有一个Elasticsearch字段值slim
和extra slim
,如果我搜索slim
,我将得到extra slim
包含的文档。我想匹配确切的单词。我在查询时使用了fieldName.keyword
,但是如果该字段包含多个单词,则无法正常工作。
我使用的查询是
{"query_string": {"query": "(fit:slim)" } }
如何使用query_string仅匹配指定的值?
答案 0 :(得分:1)
要查找与某个字段的完全匹配,请在keyword
字段上使用term query。
查询:
{
"query": {
"term": {
"fit.keyword": "slim"
}
}
}
更新:通过query_string
要使用query_string
进行完全匹配,请将要匹配的字符串用引号引起来。
{
"query": {
"query_string": {
"query": "fit.keyword:\"extra slim\""
}
}
}