【发布时间】:2018-07-31 21:08:07
【问题描述】:
当我要使用的索引是 Enum 类型时,我在使用 Hibernate 搜索时遇到问题。
这是我的应用程序的示例:
@Entity
@Indexed
public class MyEntity{
@Id
@Field
public Long id;
@Field(bridge=@FieldBridge(impl=EnumBridge.class))
public Flavour flavour;
}
与
public enum Flavour {
vanilla,
chocolate,
strawberry,
pistacchio;
}
然后我尝试使用这种类型的查询查找所有实例。
QueryBuilder qb = [~] ;
Query q = qb.keyword().onField("flavour").matching(Flavour.vanilla).createQuery();
当我对此进行测试时,结果总是空的。我什至尝试使用 Luke 查看索引的内容,但似乎找不到“味道”。提交更改后,我会重新索引所有内容。 除枚举字段外,其他所有类型的索引和查询都可以完美运行。
我尝试了norms、analyze、index、store、... 的几乎任何组合 @Field 注释(我正在使用 Hibernate-search 4.5.x 和 hibernate 4.3。 1).
我做错了什么?我应该查看任何设置吗?欢迎任何帮助。
【问题讨论】:
-
你有数据样本吗?
标签: java hibernate lucene hibernate-search