Синхронизация данных JSON в Elastic Search - PullRequest
2 голосов
/ 28 апреля 2019

У меня есть данные файла JSON, которые постоянно обновляются (после каждого часа).Как лучше всего синхронизировать эти данные с индексом эластичного поиска?

Что я делаю в данный момент?Я просто удаляю и добавляю индекс снова, и это не очень хороший подход для живой версии моего приложения.

Какой лучший подход вы бы предложили, люди?

1 Ответ

1 голос
/ 29 апреля 2019

Я не думаю, что ваш подход совершенно неверен.Однако, если вам необходимо сохранить доступность, лучше использовать псевдонимы индекса .Думайте об алиасе как о символической ссылке на индекс.Из документации:

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

Первоначально,Вы индексируете свои документы (из файла JSON) по какому-либо индексу, скажем, data-2019-04-29-08-00 (имя которого основано на дате и времени), и создаете псевдоним data для этого индекса.Все ваши запросы направлены на псевдоним data.Когда ваши данные (файл JSON) изменятся в течение следующего часа, вы индексируете данные в новый индекс data-2019-04-29-09-00 и измените псевдоним data, чтобы он указывал на этот новый индекс.Теперь все запросы будут работать с новыми данными.Таким образом, независимо от того, сколько времени займет индексация документов, вы не столкнетесь с перебоями, так как изменение псевдонима - очень быстрая операция.

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