Исключение Elasticsearch index_out_of_bounds для многоуровневого вложенного и обратного - PullRequest
0 голосов
/ 12 июня 2019

У меня есть индекс упругого поиска с множественными вложениями глубокого уровня. Я выполняю агрегирование терминов в одном поле глубокого уровня и хочу получить все записи для другого связанного поля глубокого уровня. Для которого я использую агрегацию top_hits. Но мой запрос возвращает мне исключение "index_out_of_bounds".

Вот индексные отображения:

{
  "mappings": {
  "type": {
    "properties": {
      "campaigns": {
        "type": "nested",
        "properties": {
          "campaign_id": {
            "type": "integer"
          },
          "campaign_name": {
            "type": "text"
          },
          "contents": {
            "type": "nested",
            "properties": {
              "content_id": {
                "type": "integer"
              },
              "content_name": {
                "type": "text",
                "fielddata": true
              }
            }
          }
        }
      },
      "forms": {
        "type": "nested",
        "properties": {
          "form_id": {
            "type": "integer"
          },
          "form_issubmitted": {
            "type": "integer"
          },
          "form_name": {
            "type": "text"
          },
          "form_tabs": {
            "type": "nested",
            "properties": {
              "tab_id": {
                "type": "integer"
              },
              "tab_name": {
                "type": "text"
              },
              "tab_section": {
                "properties": {
                  "section_id": {
                    "type": "long"
                  },
                  "section_name": {
                    "type": "text",
                    "fields": {
                      "keyword": {
                        "type": "keyword",
                        "ignore_above": 256
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
}

и мой запрос выглядит так:

{
  "size": 0,
  "aggs": {
    "sectionAgg": {
      "nested": {
        "path": "forms.form_tabs.tab_sections"
      },
      "aggs": {
        "termsField": {
          "filter": {
            "bool": {}
          },
          "aggs": {
            "sectionFields": {
              "terms": {
                "field": "forms.form_tabs.tab_sections.section_id",
                "size": 10000
              },
              "aggs": {
                "sectionFieldDocs": {
                  "top_hits": {
                    "size": 1,
                    "_source": [
                      "forms.form_tabs.tab_sections.*"
                    ]
                  }
                },
                "completioncampaigns.contentsFields": {
                  "reverse_nested": {
                    "path": "campaigns.contents"
                  },
                  "aggs": {
                    "completionFieldFilter": {
                      "filter": {
                        "bool": {}
                      },
                      "aggs": {
                        "campaignContents": {
                          "top_hits": {
                            "size": 100,
                            "_source": [
                              "campaigns.contents.*"
                            ]
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

В противном случае не вставлять весь результат, это будет очень долго. Но он также имеет данные агрегации.

И это выдает мне такую ​​ошибку

{
  "took": 178,
  "timed_out": false,
  "_shards": {
      "total": 5,
      "successful": 2,
      "skipped": 0,
      "failed": 3,
      "failures": [
          {
              "shard": 1,
              "index": "userlocal",
              "node": "KmxVF34iTXWeLFLmtCy7WQ",
              "reason": {
                  "type": "index_out_of_bounds_exception",
                  "reason": "2147483647 is out of bounds: [0-803["
              }
          },
          {
              "shard": 2,
              "index": "userlocal",
              "node": "KmxVF34iTXWeLFLmtCy7WQ",
              "reason": {
                  "type": "index_out_of_bounds_exception",
                  "reason": "2147483647 is out of bounds: [0-1278["
              }
          },
          {
              "shard": 4,
              "index": "userlocal",
              "node": "KmxVF34iTXWeLFLmtCy7WQ",
              "reason": {
                  "type": "index_out_of_bounds_exception",
                  "reason": "2147483647 is out of bounds: [0-2659["
              }
          }
      ]
  }
}

Я хочу знать, почему происходит эта ошибка и как ее устранить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...