大家好我想在ES中搜索通配符查询,现在要搜索多个字段我可以有两种方法首先使用query_string来搜索单词。
{
"query": {
"query_string": {
"fields": ["title", "description", "state"],
"query": "Ban*",
"lowercase_expanded_terms": false
}
}
}
或
我可以使用bool查询,我可以编写多个通配符查询来执行此操作现在我的问题是您认为哪一个是快速且合适的。
"bool": {
"should": [
{"query": {"wildcard": {"title": {"value": "Ban*"}}}},
{"query": {"wildcard": {"description": {"value": "Ban*"}}}},
{"query": {"wildcard": {"taste": {"value": "Ban*"}}}}
]
}
答案 0 :(得分:1)
Lucene查询字符串查询只是将查询字符串转换为bool查询,该查询具有这些简单查询(如match,wildcard,regexp)等。
因此你不应该看到任何差异。