数字搜索结果向上取整。为什么?

最后更新于 2024 年 3 月 22 日

问题

数字搜索结果向上取整。为什么?

回答

请参考以下示例,它创建了一个索引,添加了一个 JSON 文档,并执行了搜索。

FT.CREATE item_idx ON JSON PREFIX 1 item: SCHEMA id AS id NUMERIC 

JSON.SET item:1 $ '{"id":999999999999999999}'

FT.SEARCH item_idx * RETURN 1 $.id
1) (integer) 1
2) "item:1"
3) 1) "$.id"
   2) "1000000000000000000"

id 字段上的数字索引会近似值,这是由于当前数字索引的 32 位容量限制。如果您需要管理超出 32 位索引大小支持范围的数字,可以将 id 索引为 TAG 类型。请在较新版本中重新测试此情况,并参考发布说明以了解此情况是否有所改进。

参考

详细了解数字过滤器