gpt4 book ai didi

java - solr保存大长的错误值

转载 作者:行者123 更新时间:2023-11-30 07:57:13 24 4
gpt4 key购买 nike

我有一个 solr 模式,其中有一个长类型字段

<field name="source_raw_hash" type="long" indexed="true" stored="true"/>

架构中的长类型是默认值:

<fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>

我正在保存到solrJ中的索引,值:3954983690244748504到这个字段,但它被保存为3954983690244748300

我有相同的不同的大值。

也尝试将类型更改为 double with is 64,但也不起作用。

我正在使用 solr 5.3 和 solrj 5.3

最佳答案

您不是在索引长整型,而是在索引 double 型。这意味着在内容到达 Solr 之前,您可能会将其作为 double 值存储在某处。

当存储为 double 时,3954983690244748504只能表示为3.9549836902447483e+18(或者没有科学记数法,3954983690244748300),与您的第二个号码匹配。

double 并不精确,它们是一个近似值 - 对于非常大的数字也是如此。

关于java - solr保存大长的错误值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32504049/

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