在Hibernate Search 5.2之前,没有必要明确使用@Facet注释。在5.2中,有必要使用Lucene的原生分面API。
我在无法注释的外部类上使用Hibernate Search。有没有办法以编程方式定义这个“方面”?
对于映射配置,没有问题,因为SearchMapping提供了@Entity,@ Index和@Field注释的完整编程替代方法。但是在这个API中,特别是在EntityMapping类中,没有办法定义一个字段将在构面查询中使用;没有其他选择,而不是用@Facet注释该字段。
2018更新: 我已经更新到Hibernate Search 5.6.4,它正在使用这种映射:
.property("businessProcess", ElementType.METHOD)
.field()
.analyze(Analyze.NO)
.store(Store.YES)
.facet()
.name("businessProcess")
.encoding(FacetEncodingType.STRING)