gpt4 book ai didi

indexing - 使 Lucene 索引与域模型更改保持同步的策略

转载 作者:行者123 更新时间:2023-12-02 21:37:33 25 4
gpt4 key购买 nike

希望了解人们对在应用程序的域模型对象发生更改时保持 Lucene 索引最新的想法。

相关应用程序是一个使用 Hibernate 的基于 Java/J2EE 的 Web 应用程序。我目前的工作方式是 Hibernate 映射模型对象都实现一个通用的“Indexable”接口(interface),该接口(interface)可以返回一组记录在 Lucene 中的键/值对。每当执行涉及此类对象的 CRUD 操作时,我都会通过 JMS 队列将其发送到消息驱动 bean,该 bean 在 Lucene 中记录该对象的主键以及从可索引对象的 index() 方法返回的键/值对。假如。

我对此方案的主要担心是 MDB 是否落后并且无法跟上即将到来的索引操作,或者某种错误/异常是否阻止对象被索引。结果是在一段时间内或很长一段时间内索引都已过时。

基本上我只是想知道其他人针对此类事情想出了什么样的策略。不一定要寻找一个正确的答案,而是想象一系列“白板”想法,让我的大脑思考替代方案。

最佳答案

更改消息:只需提供主键和当前日期,而不是键/值对。您的 mdb 通过主键获取实体并调用 index()。建立索引后,您可以在索引中将“已更新”值设置为消息日期。仅当消息日期位于索引的“已更新”字段之后时,才更新索引。这样你就不会落后,因为你总是先获取当前的键/值对。

作为替代方案:查看 http://www.compass-project.org .

关于indexing - 使 Lucene 索引与域模型更改保持同步的策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com