首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在elasticsearch 7.x中使用术语查询

如何在elasticsearch 7.x中使用术语查询
EN

Stack Overflow用户
提问于 2021-01-22 02:26:12
回答 1查看 43关注 0票数 1

elasticsearch版本为7.x

这里有一些嵌套的数据打击:

代码语言:javascript
复制
data1:
[{name:"tom"},{name:"jack"}]

data2:
[{name:"tom"},{name:"rose"}]

data3:
[{name:"tom"},{name:"rose3"}]
...

dataN:
[{name:"tom"},{name:"roseN"}]

当我使用术语查询时,只想搜索汤姆,杰克,但不想包括rose...roseN

代码语言:javascript
复制
query:{
terms:{["tom","jack"]}
}
this code is not effective
EN

回答 1

Stack Overflow用户

发布于 2021-01-22 02:28:00

添加一个工作示例

索引数据:

代码语言:javascript
复制
PUT /_doc/1
{
  "names": [
    {
      "name": "tom"
    },
    {
      "name": "jack"
    }
  ]
}

PUT /_doc/2
{
  "names": [
    {
      "name": "tom"
    },
    {
      "name": "rose"
    }
  ]
}

搜索查询:

代码语言:javascript
复制
    {
  "query": {
    "bool": {
      "must": {
        "terms": {
          "names.name": [
            "tom",
            "jack"
          ]
        }
      },
      "must_not": {
        "match": {
          "names.name": "rose"
        }
      }
    }
  }
}

搜索结果:

代码语言:javascript
复制
"hits": [
      {
        "_index": "65838516",
        "_type": "_doc",
        "_id": "1",
        "_score": 1.0,
        "_source": {
          "names": [
            {
              "name": "tom"
            },
            {
              "name": "jack"
            }
          ]
        }
      }
    ]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65838516

复制
相关文章

相似问题

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