powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как организовать периодическую индексацию объектов в ElasticSearch?
1 сообщений из 1, страница 1 из 1
Как организовать периодическую индексацию объектов в ElasticSearch?
    #38477581
TimeCoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую,
ситуация вполне типичная: есть бизнес-приложение, база MS SQL + UI на WPF (т.е. проект на C#), в нем множество объектов различных типов, которые отображаются в гриде. Объектам соответствуют свои классы (используется ORM).
Так вот, по объектам нужен поиск в UI, для чего прикручен Elastic Search.
Для каждого бизнес-объекта есть свой поисковый объект, их надо заслать в ES для индексации. Причем делать это нужно при каждом изменении объекта.
В проекте есть 2 точки изменений объектов: в UI, объекты меняются по одному, и при запуске некоторых операций, когда они могут менять миллионами. Дублировать код в этих двух точках не красиво, поэтому логично зацепиться за момент сохранения объекта в базу - и там отдавать в ES. Поскольку ES плохо переваривает, когда ему отдаются объекты по одному, нужно заслать пачкой. Тут есть как минимум 2 варианта:

1. Завести в базе таблицу, куда складывать запросы на индексацию, и некий сторонний сервис периодически выгребает оттуда объекты пачками и отдает в ES.
2. Сделать WCF-сервис, которому давать запрос на каждый объект, он накапливает в памяти некоторое количество объектов, или ждет по таймеру, и отдает их пачкой в ES.

Первое проще, второе архитектурно красивее (наверно!). Есть у кого-нибудь опыт подобных задач, как лучше организовать синхронизацию? Или может вообще выгребать из базы по timestamp все обновившиеся объекты (сторонним сервисом), и засылать их в ES?
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как организовать периодическую индексацию объектов в ElasticSearch?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]