Elasticsearch使用全文匹配筛选两个字段

1u4esq0p  于 2023-01-04  发布在  ElasticSearch
关注(0)|答案(1)|浏览(170)
{
  "query": {
    "bool": {
      "must" : [ 
        { "match": { "metadata.cloudAccountId": "462854006774" } },
        { "match": { "metadata.customerId": "3d472521-2a36-49d7-9080-5af57bf1af14" } },
      ]
    }
  } 
}

这里我想通过两个字段过滤。它是全文匹配。cloudAccountId工作正常,但对于customerId,当我从上一部分更改任何内容时,它仍在工作。我如何才能做到必须匹配,以便它将给予结果,如果字符串对两者都是精确的。

ubby3x7f

ubby3x7f1#

如果要精确匹配,请使用Term Query.

{
  "query": {
    "bool": {
      "filter": [
        {
          "term": {
            "metadata.cloudAccountId": "462854006774"
          }
        },
         {
          "term": {
            "metadata.customerId": "3d472521-2a36-49d7-9080-5af57bf1af14"
          }
        }
      ]
    }
  } 
}

相关问题