我目前正在使用 Lucene 和 Hibernate Search 为我的公司构建概念验证搜索解决方案。我已经构建了可以正常工作的单个组件。我现在正在考虑创建一个单一的 API,允许用户从不同的来源(域 + 数据)获取搜索结果。我想要实现的是像搜索管理器异步触发搜索请求到不同的搜索组件,当一组结果被处理后,在处理其余结果时将该结果返回给用户。处理完搜索结果后,通知客户端还有更多可用的搜索结果。
我想知道我是否有一个搜索管理器,它创建单独的线程来搜索单个搜索组件并保留搜索结果列表。一旦列表填充了一组,就将其返回给用户。添加的任何其他搜索结果都将涉及搜索管理器将结果推送给用户。
我不是在寻找任何代码示例(任何将不胜感激),但我想知道是否可以就如何解决这个问题获得一些指导。我是使用事件处理技术(GigaSpaces、Spring、JMS)还是使用标准 Java 并发库。管理列表和推送更新结果的有效方法是什么。
干杯