Hibernate搜索只读数据库

时间:2013-03-22 09:14:59

标签: full-text-search hibernate-search readonly

我需要使用hibernate执行全文查询,而Hibernate Seach似乎是一个不错的选择,匹配同义词等的功能非常有趣。问题是我的应用程序只执行查询,而另一个应用程序执行insert / updates / deletes。我不知道“hibernate seach”是否可以保存在这种情况下更新的文本索引,并且在不能的情况下,我认为重建每个查询中的索引不是一个选项(是吗?)。

在数据库中执行更新的应用程序能够为我的应用程序生成事件。这可能是刷新索引的机会......

任何建议都会被贬低。提前致谢:

卡洛斯。

2 个答案:

答案 0 :(得分:1)

我认为这个其他应用程序不是可以触发索引更新的Java应用程序。在这种情况下,您确实要确保索引得到正确更新。如果您可以向Java应用程序发送通知以触发更新,那么已经赢了很多。例如,如果您可以发送已更改的实体的主键,则可以使用这些ID仅更新索引中的这些实体。您不必重建整个索引。另一种方法是使用最后更新的列。当索引应用程序收到通知时,它会选择自上次更新触发后更改的记录。这取决于你的表格如何以及你的要求是什么。

答案 1 :(得分:0)

是的,完整索引重建太久是大多数情况。但如果你能够接收事件 - 这不是问题。收到活动后,只需重新索引实体manually

顺便说一句,如果您使用PostgreSQL或Oracle,请检查PostgreSQL FTSOracle Text