Hibernate Search 集群和近实时搜索
Hibernate Search cluster and near-real-time search
我正在努力寻找在我的集群 web 应用程序中实现搜索引擎的最佳索引解决方案,但我无法在官方文档中找到我的问题的明确答案。
我的 Java/Java EE 后端将部署在多个负载平衡实例之间。搜索引擎将要求索引数据的近实时可用性(即索引和可检索性之间的时间少于 5 秒)。
Hibernate Search 可以在 JGroups but the documentation also says, about near-real-time that as a tradeoff it requires a non-clustered and non-shared index 的集群环境中工作。
- 这是否意味着 NRTIndexManager 不能在 JGroups Slave/Master 设置中使用?即只能与一个节点一起使用?
- 这是否意味着使用这样的设置,索引数据的可用性仅取决于刷新周期(索引复制到从节点的周期)?
使用标准的 IndexManager,您只能在将最新更改写入磁盘并重新打开 IndexSearcher 时看到它们。
默认情况下,Hibernate Search 写入磁盘并为每个查询打开一个新的 IndexSearcher,因此您可以确保您的搜索始终与您的数据库同步。
NRTIndexManager 与标准管理器不同,因为它允许您搜索索引的最新更改,而无需显式写入磁盘。当您需要高吞吐量并且您不能立即将所有内容写入磁盘时,通常会使用它。因此,它与您是否会立即看到您的更改并没有真正相关:当您允许一些索引数据丢失时,这是一种优化 - 最新的更改可能会丢失。
如文档中所述 http://docs.jboss.org/hibernate/search/5.5/reference/en-US/html_single/#jgroups-backend ,您可以使用 Hibernate Search 阻塞同步 JGroups,直到所有索引都同步。所以它可以适用于您的情况。
请注意,我们目前正在 Elasticsearch 后端上开发 5.6,您可能会对它感兴趣,因为它通常是为您的情况设计的。它仍处于测试阶段,但已经处于相当不错的状态。您可能想看看它:http://docs.jboss.org/hibernate/search/5.6/reference/en-US/html/ch11.html .
我正在努力寻找在我的集群 web 应用程序中实现搜索引擎的最佳索引解决方案,但我无法在官方文档中找到我的问题的明确答案。
我的 Java/Java EE 后端将部署在多个负载平衡实例之间。搜索引擎将要求索引数据的近实时可用性(即索引和可检索性之间的时间少于 5 秒)。
Hibernate Search 可以在 JGroups but the documentation also says, about near-real-time that as a tradeoff it requires a non-clustered and non-shared index 的集群环境中工作。
- 这是否意味着 NRTIndexManager 不能在 JGroups Slave/Master 设置中使用?即只能与一个节点一起使用?
- 这是否意味着使用这样的设置,索引数据的可用性仅取决于刷新周期(索引复制到从节点的周期)?
使用标准的 IndexManager,您只能在将最新更改写入磁盘并重新打开 IndexSearcher 时看到它们。
默认情况下,Hibernate Search 写入磁盘并为每个查询打开一个新的 IndexSearcher,因此您可以确保您的搜索始终与您的数据库同步。
NRTIndexManager 与标准管理器不同,因为它允许您搜索索引的最新更改,而无需显式写入磁盘。当您需要高吞吐量并且您不能立即将所有内容写入磁盘时,通常会使用它。因此,它与您是否会立即看到您的更改并没有真正相关:当您允许一些索引数据丢失时,这是一种优化 - 最新的更改可能会丢失。
如文档中所述 http://docs.jboss.org/hibernate/search/5.5/reference/en-US/html_single/#jgroups-backend ,您可以使用 Hibernate Search 阻塞同步 JGroups,直到所有索引都同步。所以它可以适用于您的情况。
请注意,我们目前正在 Elasticsearch 后端上开发 5.6,您可能会对它感兴趣,因为它通常是为您的情况设计的。它仍处于测试阶段,但已经处于相当不错的状态。您可能想看看它:http://docs.jboss.org/hibernate/search/5.6/reference/en-US/html/ch11.html .