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

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

И отображение

{
  "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
Tirumalesh 15 Апр 2020 в 06:58

1 ответ

Лучший ответ

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

PUT recommendations
{
  "mappings": {
    "properties": {
      "events": {
        "type": "nested",
        "properties": {
          "recommendationData": {
            "type": "nested",
            "properties": {
              "recommendations": {
                "type": "nested",
                "properties": {
                  "recommendationType": {
                    "type": "keyword"
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
1
Nishant 15 Апр 2020 в 04:05