gpt4 book ai didi

java - 在 hibernate 搜索中,索引时的整数值似乎存储为字符

转载 作者:行者123 更新时间:2023-12-01 08:52:16 24 4
gpt4 key购买 nike

我有一个基类

@Field
protected Integer group;

在 hibernate 5.6.0.Final 上

我将对象值设置为值 0 或 1。但是当我使用 luke 观察索引时,它总是显示 4 个存储行为 h, p, x ,

<小时/>

我的测试实际上工作得很好,当我在其中一个组上添加带有范围查询的 MustJunction 时,我会得到正确过滤的结果。也许我对卢克的理解是错误的......?

最佳答案

默认情况下,Hibernate Search 将数值存储为 Lucene 中的数值字段。这意味着即使该值按原样存储在索引中,索引中也不会有“0”字符串或“1”字符串,而是一些二进制值。

但即使考虑到这一点,您可能会惊讶地看到相同源值的不同二进制编码。这是一种优化:请记住,您正在查看倒排索引的内容,其目的不是查找​​给定文档的值,而是查找与特定值匹配的文档。

如果您对 Lucene 中数字索引的工作原理感兴趣,可以查看 IntField javadoc 。但既然你查询工作,这实际上只是出于好奇:)

关于java - 在 hibernate 搜索中,索引时的整数值似乎存储为字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42313226/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com