gpt4 book ai didi

elasticsearch - 百分比中的 minimum_should_match 实际上对查询搜索有什么作用?

转载 作者:行者123 更新时间:2023-12-02 22:47:44 24 4
gpt4 key购买 nike

我想更多地了解 minimum_should_match 如何在 中工作 Elasticsearch 对于查询搜索

GET /customers/_search
{
"query": {
"bool": {
"must":[
{
"query_string":{
"query": "大月亮",
"default_field":"fullName",
"minimum_should_match": "70%" ------> experimented with this value
}
}
]
}
}
}

我试验了查询中的百分比,我可以看到我得到了不同的中文结果?

我尝试阅读文档,但没有清楚地了解此选项是如何工作的?

最佳答案

minimum_should_match 参数适用于“bool”查询中的“should”子句。使用此参数可以指定文档必须匹配多少个 should 子句才能匹配查询。

考虑以下查询:

{
"query": {
"bool" : {
"must" : {
"term" : { "user" : "kimchy" }
},
"filter": {
"term" : { "tag" : "tech" }
},
"must_not" : {
"range" : {
"age" : { "gte" : 10, "lte" : 20 }
}
},
"should" : [
{ "term" : { "tag" : "wow" } },
{ "term" : { "tag" : "elasticsearch" } },
{ "term" : { "tag" : "stackoverflow" } }
],
"minimum_should_match" : 2,
"boost" : 1.0
}
}
}

如果至少有 2 个 should 子句匹配,则文档将仅匹配。这意味着如果在“标签”字段中同时具有“stackoverflow”和“wow”的文档将匹配,但在标签字段中只有“elasticsearch”的文档将不被视为匹配。

使用百分比时,您指定应该匹配的 should 子句的百分比。因此,如果您有 4 个 should 子句并且将 minimum_should_match 设置为 50%,那么如果这些 should 子句中至少有 2 个匹配,则文档将被视为匹配。

更多关于 minimum_should_match 的信息可以在 the documentation 中找到.在那里您可以阅读它用于“可选子句”,即“bool”查询中的“should”。

关于elasticsearch - 百分比中的 minimum_should_match 实际上对查询搜索有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57621485/

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