首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在弹性搜索2.3.3中,术语查询不支持minimum_match。

在弹性搜索2.3.3中,术语查询不支持minimum_match。
EN

Stack Overflow用户
提问于 2016-11-28 05:26:57
回答 1查看 3.6K关注 0票数 1

我希望搜索至少匹配两个关键字的文档,使用这样的术语查询:

代码语言:javascript
复制
{
  "query": {
     "terms": {
        "title": ["java","编程","思想"],
        "minimum_match": 2
    }
  },
  "highlight": {
    "fields": {
       "title": {}
    }
  }
}

它返回“术语查询不支持minimum_match”。我的查询有什么问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-28 05:34:22

正确的名称是minimum_should_match,该设置是在ES 2.0中被否决

您可以做的是将bool/should查询与三个term查询一起使用,并为bool/should查询使用minimum_should_match设置:

代码语言:javascript
复制
{
  "query": {
    "bool": {
      "minimum_should_match": 2,
      "should": [
        {
          "term": {
            "title": "java"
           }
        },
        {
          "term": {
            "title": "编程"
          }
        },
        {
          "term": {
            "title":  "思想"
          }
        }
      ]
    }
  },
  "highlight": {
    "fields": {
      "title": {}
    }
  }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40837678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档