在多个应用程序中使用Hibernate的单个全文索引实例

在多个应用程序中使用Hibernate的单个全文索引实例,hibernate,spring-boot,spring-data-jpa,full-text-search,hibernate-search,Hibernate,Spring Boot,Spring Data Jpa,Full Text Search,Hibernate Search,我在spring boot应用程序中使用Hibernate搜索,并创建了索引。但在我的例子中,有许多应用程序,我在多个模块中使用单个数据库、单个实体。当我在一个应用程序中更新实体时,它将创建索引,但这些索引将为此应用程序创建;当我更新该实体时,将创建新索引,但我已经为此实体创建了索引。最终,我得到了单个实体的多个索引。我为每个应用程序使用了不同的索引位置。我试图使用相同的位置,但在这种情况下,我得到了错误。如何对所有应用程序使用单一索引。我想很快地说,我必须对所有索引执行相同的操作。多个应用程序

我在spring boot应用程序中使用Hibernate搜索,并创建了索引。但在我的例子中,有许多应用程序,我在多个模块中使用单个数据库、单个实体。当我在一个应用程序中更新实体时,它将创建索引,但这些索引将为此应用程序创建;当我更新该实体时,将创建新索引,但我已经为此实体创建了索引。最终,我得到了单个实体的多个索引。我为每个应用程序使用了不同的索引位置。我试图使用相同的位置,但在这种情况下,我得到了错误。如何对所有应用程序使用单一索引。我想很快地说,我必须对所有索引执行相同的操作。多个应用程序必须使用单个索引。

您在这里几乎处于未知领域;我们经常看到人们使用同一应用程序的多个实例,但很少(如果有的话)使用多个不同的应用程序

您可能能够使用或主/从体系结构共享索引,但如果您的所有应用程序都在同一台机器上运行,那么这显然是过火了。此外,设置将相当复杂

也许更好的解决办法是你使用实验性的方法

您必须确保使用
验证
,并使用
创建
策略从开发环境中创建的转储中初始化生产Elasticsearch集群。然后一切都会正常工作,您将能够同时从多个应用程序发送更新和搜索查询


请注意,如果您更改了索引映射,您应该确保手动更新Elasticsearch群集的架构(但这可能很棘手),或者从开发环境中创建的转储重新初始化群集。

好的,我理解,非常感谢。我使用单索引。在发生任何更改的地方,我监听并通过JMS或Spring的RestTemplate将其发送到BuildSearchIndex服务,它进行索引