Как организовать доставку информации "в реальном времени"?

Опишу алгоритм работы приложения:
Парсится открытый API источник информации (50-100 ГБ в сутки, много дублирующей информации, реально хранится из этого в десятки-сотни тысяч раз меньше). Есть необходимость (в общем и целом это не обязательно, но крайне желательно) отдавать информацию в реальном времени по определенным запросам ("клиентов" может быть много, т.е. больше одного и это меня на данный момент слегка пугает и ничего лучше чем отдавать каждому результат до добавления в базу я пока придумать не могу, опыта у меня мало).

Вопрос №1
Есть ли в ElasticSearch какая либо "встроенная" реализация подобного функционала? Если нет, то как лучше всего это реализовать?

Вопрос №2
В ElasticSearch нет никакой связей (как это реализовано, например, в SQL). Как реализовать поддержку разных языков? На данный момент я вижу лишь 1 выход из этой ситуации - вынос языков из базы в тот же SQL, но если честно этот вариант мне кажется медленным и нагруженным.

PS На данный момент я лишь планирую (что бы не наделать костылей уже во время разработки), скорее всего буду использовать Node.js + MongoDB (для хранения статики).

Для определения набора "клиентов" можно воспользоваться перколятором, но запуск запроса к перколятору и оповещение клиентов вам придется делать самому.

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

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

Тогда https://www.elastic.co/guide/en/elasticsearch/guide/2.x/language-intro.html

Видимо речь за корреляцию данных, для этого можно писать всё в эластик, потом проходить их с временным интервалом, обрабатывать и результат писать уже отдельно. Для смотреть надо в сторону logstash.

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