【发布时间】:2014-12-27 12:47:17
【问题描述】:
我有一个使用 Hibernate Search(由 Lucene 索引支持)和 Infinispan 的应用程序。我确实不使用 Hibernate Core 来加载我的数据(我相信这应该没问题,因为 3.2)。
在启动时,应用程序会从各种来源将大量数据加载到 Infinispan 缓存中。我发现如果我们离开自动索引(即 not 指定 hibernate.search.indexing_strategy = manual),缓存插入(和相关的索引)会使用大量内存并且通常根本无法完成。为了解决这个问题,我禁用了自动索引,并在插入所有初始数据后在缓存上运行批量/质量索引器 - 这只需几秒钟即可正常工作。
我的问题是我会定期从缓存中插入/更新/删除项目,但我找不到告诉 Infinispan 或 Hibernate Search 来[重新]索引这些项目的方法。我可以从Hibernate Search Docs 中找到最接近的涉及 Hibernate 会话,并且仅适用于托管对象。我不通过 Hibernate 加载数据,所以这是不可能的。
如何通过对 Infinispan 或 Hibernate Search 的 API 调用为单个项目编制索引?
我期待您提供任何帮助,如果您需要任何其他信息,请告诉我。
谢谢, 詹姆斯
【问题讨论】:
标签: java lucene hibernate-search infinispan