使用Hibernate搜索索引多个实体

使用Hibernate搜索索引多个实体,hibernate,search,lucene,indexing,hibernate-search,Hibernate,Search,Lucene,Indexing,Hibernate Search,是否可以使用Hibernate搜索为同一索引中的多个实体编制索引?我有3个实体:用户、类别和活动。这些实体彼此不相关 我需要提供一个功能,用户可以搜索这些实体。类似于facebook搜索或Quora搜索 例如:将使用给定的查询字符串显示所有组、页面等。虽然可以使用FullTextSession.createFullTextQuery(query,Class…方法同时查询多个索引,但不可能(AFAIK)为同一索引中的多个实体编制索引。在您的情况下,用法是fullTextSession.create

是否可以使用Hibernate搜索为同一索引中的多个实体编制索引?我有3个实体:用户、类别和活动。这些实体彼此不相关

我需要提供一个功能,用户可以搜索这些实体。类似于facebook搜索或Quora搜索


例如:将使用给定的查询字符串显示所有组、页面等。

虽然可以使用
FullTextSession.createFullTextQuery(query,Class…
方法同时查询多个索引,但不可能(AFAIK)为同一索引中的多个实体编制索引。在您的情况下,用法是
fullTextSession.createFullTextQuery(query,User.class,Category.class,Campaign.class)

虽然可以使用
FullTextSession.createFullTextQuery(query,Class…)
方法同时查询多个索引,但不可能(AFAIK)为同一索引中的多个实体编制索引。在您的情况下,用法是
fullTextSession.createFullTextQuery(query,User.class,Category.class,Campaign.class)

我确实意识到这是一个相当老的问题,但我仍然会发布这个问题的答案,因为它可能有一天仍然会帮助一些人

是的,这是可能的。这里介绍了如何做到这一点:

我确实意识到这是一个相当古老的问题,但我仍然会发布这个问题的答案,因为它可能有一天仍然会帮助一些人

是的,这是可能的。这里介绍了如何做到这一点:

不过,对我来说,这是在擦除其他实体,并仅对我请求重新编制索引的当前实体重新编制索引。命令
ftem.createIndexer().startAndWait()
正在触发PurgeAllLuceneWork,然后是重新插入当前实体的流式工作。不过,对我来说,这是擦除其他实体并仅重新索引我请求重新索引的当前实体。命令
ftem.createIndexer().startAndWait()触发PurgeAllLuceneWork,然后触发重新插入当前实体的流工作。