gpt4 book ai didi

elasticsearch - 最小值应匹配过滤查询

转载 作者:行者123 更新时间:2023-11-29 02:46:33 27 4
gpt4 key购买 nike

是否可以有这样的查询

  "query": {
"filtered": {
"filter": {
"terms": {
"names": [
"Anna",
"Mark",
"Joe"
],
"execution" : "and"
}
}
}
}

"minimum_should_match": "2" 语句?

我知道我可以使用一个简单的查询(我试过,它有效)但我不需要计算分数。我的目标只是过滤包含 2 个值的文档。

分数通常会严重影响检索文档所需的时间吗?

使用这个查询:

  "query": {
"filtered": {
"filter": {
"terms": {
"names": [
"Anna",
"Mark",
"Joe"
],
"execution" : "and",
"minimum_should_match": "2"
}
}
}
}

我遇到了这个错误:

QueryParsingException[[my_db] [terms] filter does not support [minimum_should_match]]

最佳答案

最小应匹配不是terms filter 的参数。如果这是您正在寻找的功能,我可能会像这样重写您的查询,以使用包装在 query filter 中的 bool query:

{
"filter": {
"query": {
"bool": {
"should": [
{
"term": {
"names": "Anna"
}
},
{
"term": {
"names": "Mark"
}
},
{
"term": {
"name": "Joe"
}
}
],
"minimum_should_match": 2
}
}
}
}

您将获得最好完全匹配所有这三个词的文档,但查询也会将文档与三个词中的两个恰好匹配。 must 是隐含的 and。我们也不计算分数,因为我们已将查询作为过滤器执行。

关于elasticsearch - 最小值应匹配过滤查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32824588/

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