我有一个实体,我希望使用 Hibernate 搜索对其进行索引,以利用全文搜索功能。该实体有几个我需要过滤的字段。举个例子:
@Field(index = Index.TOKENIZED, store = Store.NO)
@Lob
private String description;
@Field(index = Index.UN_TOKENIZED, store = Store.NO)
@Enumerated(EnumType.STRING)
@NotNull
private Type type;
该description
字段是我要使用全文搜索的字段。Type
我只想做一场普通的老比赛。Lucene 应该在进行全文搜索的基础上直接处理匹配,这对我来说有点不对劲,我应该使用类似的东西CriteriaBuilder
来处理额外的过滤。但是,我找不到将两者结合起来的任何方法,我BooleanJunction
在我的搜索算法中使用运算符must
, matching
, 和keyword
在我需要直接匹配的字段上。
所以我的问题是,我做得对还是应该只使用 Lucene 进行全文搜索并以其他方式过滤其他属性?
非常感谢,芬巴尔