gpt4 book ai didi

elasticsearch - 术语查询和匹配查询之间有什么区别?

转载 作者:行者123 更新时间:2023-11-29 02:48:01 26 4
gpt4 key购买 nike

我有包含未分析的字符串字段的文档(通过映射或全局设置强制执行)。我试图了解之间的实际区别是什么

{
"query": {
"bool": {
"must": [
{"match": {"hostname": "hello"}},
]
}
}
}

{
"query": {
"term": {
"hostname": "hello"
}
}
}

我在文档中看到了 term queries分析字符串时存在差异(这不是我的情况)。 是否有理由使用 termmatch

最佳答案

term 查询中,搜索的术语(即 hello)不会被分析,而是与倒排索引中存在的术语完全匹配。

match 查询中,首先分析搜索到的术语(即 hello),然后与倒排索引中存在的术语进行匹配。

在您的情况下,由于 hostname 在您的映射中是 not_analyzed,您的第一选择应该是使用 term 查询,因为它不会在搜索时分析一个术语以搜索在索引时首先没有被分析的相同术语是有意义的。

关于elasticsearch - 术语查询和匹配查询之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40124317/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com