Ошибка ниже в elasti c search rest высокого уровня клиента - PullRequest
0 голосов
/ 15 апреля 2020

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

Исключение Elasticsearch [type = mapper_parsing_exception, reason = Не удалось проанализировать сопоставление [_doc]: Root сопоставление определение имеет неподдерживаемые параметры: [рекомендации: {рекомендации = {свойства = {события = {тип = вложенные, свойства = {рекомендуемые данные = {тип = вложенные, свойства = {рекомендации = {тип = вложенные, свойства = {рекомендуемый тип = {тип = ключевое слово}}}}}}}}}}]]

, и сопоставление равно

{
  "mappings": {
    "recommendations": {
      "properties": {
        "events": {
          "type": "nested",
          "properties": {
            "recommendationData": {
              "type": "nested",
              "properties": {
                "recommendations": {
                  "type": "nested",
                  "properties": {
                    "recommendationType": {
                      "type": "keyword"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

, а код java равен

private void checkAndCreateDocumentMapping() throws IOException {

        CreateIndexRequest createIndexRequest = new CreateIndexRequest(this.getIndexName());
        String indexString = getStringFromFile("nested" + ".mapping");
        createIndexRequest.source(indexString, XContentType.JSON);
        client.indices().create(createIndexRequest, RequestOptions.DEFAULT);
    }

1 Ответ

0 голосов
/ 15 апреля 2020

Обратите внимание, чтоasticsearch больше не поддерживает множественные сопоставления, поэтому больше не требуется передавать имя сопоставления. Предполагая, что recommendations является именем отображения, его можно использовать вместо имени индекса. Поэтому правильный dsl для создания индекса должен быть,

PUT recommendations
{
  "mappings": {
    "properties": {
      "events": {
        "type": "nested",
        "properties": {
          "recommendationData": {
            "type": "nested",
            "properties": {
              "recommendations": {
                "type": "nested",
                "properties": {
                  "recommendationType": {
                    "type": "keyword"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
...