Фильтр запроса не работает в поиске elasti c - PullRequest
1 голос
/ 12 апреля 2020

У меня есть документ и поисковый запрос, как показано ниже. Elasti c не может изначально получить документы для идентификаторов с совпадающими исключениями при создании индекса, после которого я сделал отображение, и после этого он не может получить записи

и мое отображение выглядит следующим образом

{
  "mappings": {
    "properties": {
      "events": {
        "type": "nested",
        "properties": {
          "data": {
            "type": "nested",
            "properties": {
              "comments": {
                "type": "nested",
                "properties": {
                  "type": {
                    "type": "keyword"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

вот мой индексный документ, который я проверяю с помощью поискового запроса.

{
  "id": "1",
  "score": 1,
  "comments": [{
    "id": "1",
    "type": "Delayed",

1 Ответ

1 голос
/ 13 апреля 2020

Вы не можете напрямую использовать строку запроса для вложенных полей, для этого вам нужно использовать вложенный запрос

GET <index-name>/_search
{
  "query": {
    "bool": {
      "filter": [
        {
          "nested": { --> note
            "path": "events.recommendationData",
            "query": {
              "query_string": {
                "query": "\"1\" OR \"2\"",
                "fields": [
                  "events.recommendationData.exceptionId"
                ],
                "type": "best_fields",
                "default_operator": "or",
                "max_determinized_states": 10000,
                "enable_position_increments": true,
                "fuzziness": "AUTO",
                "fuzzy_prefix_length": 0,
                "fuzzy_max_expansions": 50,
                "phrase_slop": 0,
                "escape": false,
                "auto_generate_synonyms_phrase_query": true,
                "fuzzy_transpositions": true,
                "boost": 1
              }
            }
          }
        }
      ]
    }
  },
  "size": 1, --> note, to return documents ,keep 0 for only aggs
  "aggs": {
            "genres": {
                "nested": {
                    "path": "events.recommendationData.recommendations"
                },
                "aggs": {
                    "nested_comments_recomms": {
                        "terms": {
                            "field": "events.recommendationData.recommendations.recommendationType"
                        }
                    }
                }
            }
        }
}
...