Ошибка при индексации данных к эластичной с использованием Java - PullRequest
0 голосов
/ 20 ноября 2018

Сценарий: я пытаюсь индексировать данные JSON в эластичный.Я получаю сообщение об ошибке типа

17: 13: 38.146 [main] ОШИБКА com.opnlabs.lighthouse.elastic.ElasticSearchIndexer - {"root_cause": [{"type": "invalid_argument_exception", "reason ":" Невозможно объединить сопоставление не-объекта [map.audits.map.font-size.map.details.map.items.myArrayList.map.selector] с сопоставлением объекта [map.audits.map.font-size.map.details.map.items.myArrayList.map.selector] "}]," type ":" invalid_argument_exception "," reason ":" Невозможно объединить не объектное отображение [map.audits.map.font-size.map.details.map.items.myArrayList.map.selector] с отображением объекта [map.audits.map.font-size.map.details.map.items.myArrayList.map.selector] "}

В чем причина проблемы?Пожалуйста, помогите

Код

JSONObject newJsonObject = new JSONObject();
            JSONObject log = jsonObject.getJSONObject("audits");
            JSONObject log1 = jsonObject.getJSONObject("categories");
            newJsonObject.put("audits", log);
            newJsonObject.put("categories", log1);
            newJsonObject.put("timeStamp", time);
            Index index = new Index.Builder(newJsonObject).index(mongoIndexName+"1").type("data").build();
            DocumentResult a = client.execute(index);

В основном я пытаюсь добавить 3 значения json в индекс упругости.Пожалуйста, помогите мне с тем, что я делаю неправильно.

1 Ответ

0 голосов
/ 20 ноября 2018

Сообщение об ошибке означает, что вы пытаетесь изменить существующее сопоставление.Однако это невозможно в Elasticsearch.После создания сопоставления его нельзя изменить.

Как объяснил сам Шэй Банон :

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

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

  • создаете дополнительный индекс, либо
  • удаляете текущий индекс и заново создаете его с нуля.

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

Взято отсюда: Невозможно объединить отображение не-объекта с ошибкой отображения объекта в машинном обучении (бета-версия)модуль

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