Аналог client.indices.exists для типов и их содержимого в node js


(Alexey) #1

Здравствуйте!

Подскажите, пожалуйста, есть ли для node js удобный метод проверки на существование типа с полями, перед тем как добавлять новый mapping?

Нашел из похожего только client.indices.exists для самих индексов
и curl -XHEAD -i 'http://localhost:9200/twitter/tweet'

Или для типов и пропертей уже надо свои велосипеды делать?

Спасибо.


(Igor Motov) #2

Наличие типов можно проверить через client.indices.existsType. Для полей нужно смотреть в mapping. Однако, такой подход может быть не безопасен в много-поточном приложении (два потока проверяют что новый тип отсутствует и потом начинают его одновременно создавать). К тому же, я бы не рекомендовал создавать больше одного типа в индексе (если это, конечно, не нужно для parent/child). Если типы статические, то лучше их задавать во время создания индекса. Если типы и поля надо добавлять динамически, то я бы возложил эту работы на elasticsearch с использованием index templates и dynamic templates.


(Alexey) #3

Спасибо за быстрый ответ и особенно за замечания.

В данном конкретном случае будет 1 поток с parent/child и статическими типами.

Изначально я буду генерировать JSON и хранить в другой БД. А потом кнопкой когда все готово - заливать в Elastic.

Но перед созданием сущностей в моей базе хочу проверять что их еще нету в Elastic.


(system) #4

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.