Поиск по массиву в поле Elasticsearch

У меня есть коллекция документов Elasticsearch, которые выглядят примерно так:

  {
    "_score": 1,
    "_id": "inv_s3l9ly4d16csnh1b",
    "_source": {
      "manufacturer_item_id": "OCN1-1204P-ARS4",
      "description": "TLX Headlight",
      "ext_invitem_id": "TDF30907",
      "tags": [
        {
          "tag_text": "Test Tag"
        }
      ],
      "id": "inv_s3l9ly4d16csnh1b",
    },
    "_index": "parts"
  }

Я хочу иметь возможность искать документы по tag_text в tags, но я также хочу искать по другим полям. Я составил запрос multi_match, который выглядит следующим образом:

{
  "query": {
    "multi_match": {
      "query": "Test Tag",
      "type": "cross_fields",
      "fields": [
        "tags",
        "description"
      ]
    }
  }
}

Но я не получаю никаких результатов. Может ли кто-нибудь сказать мне, что не так с моим запросом?

Хорошо, оказывается, я делал что-то глупое. Я получил ожидаемые результаты, используя этот запрос:

{
  "query": {
    "multi_match": {
      "query": "Test Tag",
      "type": "cross_fields",
      "fields": [
        "tags.tag_text",
        "description"
      ]
    }
  }
}
Вернуться на верх