我是elasticsearch的新手。我有点困惑,弹性搜索匹配和多匹配查询。两种查询类型之间的区别是什么?什么时候必须使用它们?使用每种产品的性能意义是什么?
提前致谢。
答案 0 :(得分:1)
您可以轻松查看multimatch
和match
查询差异与the documentation之间的差异。例如,multimatch
查询类型为most_fields
GET /_search
{
"query": {
"multi_match" : {
"query": "quick brown fox",
"type": "most_fields",
"fields": [ "title", "title.original", "title.shingles" ]
}
}
}
这将执行:
GET /_search
{
"query": {
"bool": {
"should": [
{ "match": { "title": "quick brown fox" }},
{ "match": { "title.original": "quick brown fox" }},
{ "match": { "title.shingles": "quick brown fox" }}
]
}
}
}
如您所见,multimatch
查询来自match
个查询。所以,我认为,性能问题与您的查询结构有关。您可以选择其他查询,这样可以提高效率。
multimatch
查询的另一种类型与most_fields
类型的情况相同。例如,Phrase
type,most_fields
type。