本文介绍了query_string 和 multi_match 有什么区别?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
运行此查询时:
{
"query_string" : {
"query" : "text",
"fields": ["field1", "field2"]
}
}
-
{
"multi_match" : {
"query" : "text",
"fields": ["field1", "field2"]
}
}
有什么区别?什么时候用一个,什么时候用另一个?
What is the difference? When to use one and when to use the other?
推荐答案
query_string
支持 Lucene 语法来解释文本,其中 multi_match
只是尝试将给定的 "text"
与列出的字段的索引值.
query_string
supports Lucene syntax to interpret the text, where as multi_match
just attempts to match the given "text"
against the listed fields' indexed values.
因此查询字符串的功能要强大得多,但它也可能导致意想不到的情况,例如 /
可能导致部分字符串被解释为正则表达式.
Query string is therefore far more powerful, but it can also lead to unexpected scenarios, such as where /
may cause part of the string to be interpreted as a regular expression.
DrTech 在在这个答案中展示了这两个方面做得非常出色.
DrTech does a pretty excellent job demonstrating the two over in this answer.
这篇关于query_string 和 multi_match 有什么区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!