В настоящее время я работаю над созданием доказательств для решения концепции поиска для моей компании с использованием поиска Lucene и Hibernate. Я создал отдельные компоненты, которые отлично работают. Теперь я рассматриваю создание единого API, который позволит пользователю получать результаты поиска из разных источников (домен + данные). То, что я хотел бы достичь, - это что-то вроде менеджера поиска, который запускает запросы поиска к различным компонентам поиска асинхронно и когда один набор результатов обрабатывается, возвращает результат, получаемый пользователю при обработке остальных. Как только результат поиска будет обработан, уведомите клиента о наличии большего количества результатов поиска.Асинхронный поиск
Мне интересно, есть ли у меня менеджер поиска, который создает отдельные потоки для поиска отдельных компонентов поиска и ведет список результатов поиска. После того, как список будет заполнен одним возвратом, возвращающимся к пользователю. Любые дополнительные результаты поиска добавили бы менеджера поиска, который подталкивал результаты к пользователю.
Я не ищу какой-либо пример кода (любой был бы оценен), но мне было интересно узнать, могу ли я получить какое-то руководство по решению этой проблемы. Использую ли я технологии обработки событий (GigaSpaces, Spring, JMS) или использует стандартные параллельные библиотеки Java. Каким будет эффективный способ управления списком и продвигать обновленные результаты.
Приветствия
Что такое «клиент» в этом сценарии? Это приложение Java, браузерное веб-приложение и т. Д.? –