我们有一个产品作为我们组织内各个产品团队的参考数据来源。数据已存储在 solr 索引中,我们公开了服务以向客户提供对这些数据的访问。
现在我们需要提供一种事件驱动的机制,以便客户端在服务器端发生某些事情时得到通知。
尽管我知道使用 Oracle coherence 等产品很容易实现这一点,但 solr 并不是适合此目的的正确产品。但现在我们不可能倒退并改变解决方案。
因此,为了达到这个要求,在某种程度上,我们公开了一个 RESTFul 服务,它返回特定索引中的所有文档,客户端应用程序继续访问这个 resful 服务,以便在一定数量的迭代中获取完整的数据集。
我知道这不是最好的方法,但我们可用的选项有限,因为我们不希望为此使用另一个数据存储。
作为对这种方法的改进,我们希望我们公开另一个服务,该服务将在特定时间范围内完成的插入/更新/删除返回到 solr 索引。/companyIndex/itr/15 之类的东西,它在过去 15 分钟内对公司指数进行了修改。这将帮助客户减少他们将要处理的数据量。一旦客户端从索引中获取完整的数据集,他们就可以稍后使用增量更新,这样客户端数据集将与主数据集同步。仍然会有一些滞后,但这很好。
有没有办法使用 solr/lucene 本身来实现这一点?solr 是否维护一些可以公开的审计跟踪?
虽然我们可以通过数据加载层保留这些信息,但我们想知道是否可以使用 solr 可用的东西?
有什么建议/意见吗?