我有一个带
的基类@Field
protected Integer group;
on hibernate 5.6.0.Final
我将对象值设置为值0或1.但是当我使用luke观察索引时,它总是显示4行存储为h, p, x ,
我的测试实际上工作正常,当我在其中一个组中添加带范围查询的MustJunction时,我得到了正确的过滤结果。也许我在解释卢克错了......?
答案 0 :(得分:1)
默认情况下,Hibernate Search会将数值存储为Lucene中的数字字段。这意味着即使值按原样存储在索引中,您的索引中也不会有“0”字符串或“1”字符串,而是一些二进制值。
但即使考虑到这一点,您可能会惊讶地看到相同源值的不同二进制编码。这是一个优化:记住你正在查看倒排索引的内容,其目的不是查找给定文档的值,而是查找与特定值匹配的文档。
如果您对数字索引在Lucene中的工作方式感兴趣,可以查看IntField javadoc。但是既然你查询工作,那真的只是出于好奇:)