Как исправить "Имя типа сопоставления документов не может начинаться с '_", найдено: [_create] _ "asticsearch? - PullRequest
0 голосов
/ 10 июля 2019

Я использую Nodejs для индексации некоторых данных в Elasticsearch (размещенный на kubernetes), я использую метод client.create () для индексации документа вasticsearch. Если я запускаю код на локальном хосте и kubernetes Elasticsearch конечной точки, все работает нормально. Но после развертывания того же кода, когда я пытался проиндексировать документ, я получаю сообщение об ошибке "[invalid_type_name_exception] Имя типа отображения документа не может начинаться с '_', найдено: [_create] :: {" path ":" / index_name / _create / DocId "]". Версия Elasticsearch "6.3.0" и версия node_module "^ 16.0.0". Кроме того, он работал изначально, но перестал работать с прошлых нескольких дней. Я думаю, что проблема с некоторыми совместимостью и конфигурациями, может кто-нибудь помочь, пожалуйста?

Я попытался использовать client.index вместо client.create, и он работает нормально. я уже сопоставил все файлы конфигурации и совместимости на локальном и сервере. Мне все кажется нормальным.

const elasticsearchDoc = { index: "school", type: "_doc", id: 12345, body: { name:"raj",marks:40 } }; const result = await client.create(elasticsearchDoc); ...

1 Ответ

0 голосов
/ 10 июля 2019

Мне кажется, проблема в том, что вы используете старую JS клиентскую библиотеку вместо новой .

С 16.0.0 вам нужно , чтобы явно установить параметр apiVersion на версию 6.x, потому что 7.0 является значением по умолчанию, и, вероятно, именно поэтому вы видите эту ошибку (так как вывы используете ES 6.3.0):

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