繁体   English   中英

插入 Solr 后“int”值发生变化

[英]"int" value changes after inserting in Solr

我将 solr 架构定义为:

<schema name="mysolrcore_01" version="1.6">

    <fieldType name="string" class="solr.StrField" />
    <fieldType name="text" class="solr.TextField" />

    <fieldType name="long" class="solr.LongPointField" />
    <fieldType name="int" class="solr.IntPointField" />

    <uniqueKey>id</uniqueKey>
    <uniqueKey>item_key</uniqueKey>
    <field name="_version_" type="long" indexed="true" stored="true" multiValued="false" />
    <field name="_root_" type="string" indexed="true" stored="false" />
    <field name="id" type="string" indexed="true" stored="true" required="false" multiValued="false" />
    <field name="sqlid" type="int" indexed="true" stored="true" required="true" multiValued="false" />
    <field name="mongoid" type="string" indexed="true" stored="true" required="true" multiValued="false" />
    <field name="item_lang" type="string" indexed="false" stored="true" required="true" multiValued="false" />
    <!-- Field "published" to be noted. I intend to store an UNIX timestamp here. -->
    <field name="published" type="int" indexed="true" stored="true" required="true" multiValued="false" />
    <field name="item_key" type="string" indexed="true" stored="true" required="true" />
    <field name="content_en" type="text" indexed="true" stored="false" />

</schema>

一切正常,直到我尝试插入此文档:

{
   "sqlid":99,
   "mongoid":"63c69aa7dc7c000062000267",
   "item_key":"inferno",
   "item_lang":"en",
   "published":-2347142400
   "content_en":"Some content",
}

但这是 solr 实际插入的内容(请注意,“已发布”字段填充的是 1947824896 而不是 -2347142400):

{
        "sqlid":99,
        "mongoid":"63c69aa7dc7c000062000267",
        "item_key":"inferno",
        "item_lang":"en",
        "published":1947824896,
        "id":"b818cfe9-f84a-4c08-a9c0-cea988b0c437",
        "_version_":1755274390346399744
}

以前插入了两个包含正面和负面条目的文档published 在这种情况下出了什么问题?

感谢您的阅读和思考。

根据 qna 为什么值在 Apache solr 中发生了变化? 以及对这个 qna 的评论,如果你需要存储一个大的 integer,请改用long

这个 qna 解释了这一点: 为什么浮点数不准确?

所以我将类型从int更改为long ,它正在工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM