Elasticsearch 无法搜索的字段?

Elastic search un-searchable feild?

我有一个带有文本类型映射字段的索引,名为 ean_code,但是当我尝试检索查询该字段的文档时,它显示 0 个结果。

我是运行命令:

GET <index-name>/_doc/1877

这给了我回报:

我可以清楚地看到 ean_code 在那里,但是当我尝试 运行 这个查询时:

POST <index-name>/_search
{
  "query": {
    "match": {
      "product_sale_elements.ean_code": {
        "query": "9004464248405"
      }
    }
  }
}

它说 0 次点击。我错过了什么?为什么不能搜索此字段?

这是映射:

由于 product_sale_elementsnested 类型,您需要使用 nested 查询,如下所示:

POST <index-name>/_search
{
  "query": {
    "nested": {
      "path": "product_sale_elements",
      "query": {
        "match": {
          "product_sale_elements.ean_code": {
            "query": "9004464248405"
          }
        }
      }
    }
  }
}