[英]"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.