2014-01-09 44 views
1

我有一個price字段,類型爲tint,從中我將生成一個range facet
而我現在有一些項目在我的index中,超過了tint類型限制(最大整數)。
如何增加tintmax integer valuesolr增加色調字段可以存儲的位數

這裏是schema.xmltint定義:

<fieldType name="tint" class="solr.TrieIntField" precisionStep="8" positionIncrementGap="0"/>

我必須增加precisionStep=8?因爲嘗試插入一個數字時發生錯誤,該數字的# of digits = 10

回答

1

您不能在TrieIntField中插入一個大於Java的Integer.MAX_VALUE的整數值。只是因爲它是一個包裝。你不可以做這個。技術上不可能。參考the documentation可能是

可包含32位有符號二進制補碼整數值的數字字段。

  • 最小值允許:-2147483648
  • 最高值允許:2147483647

僅此而已,無所不及。


你可以切換到solr.TrieLongField相反,如果以下限制是你

的數字字段,可以包含64位有符號二進制補整數值確定。

  • 最小值允許:-9223372036854775808
  • 最高值允許:9223372036854775807
+0

好吧,我必須把'price'場'tlong'型 – h4k1m

+0

順便說一句'tlong'心不是用'兼容色調「,所以我必須重新編制我的數據。 – h4k1m

+0

是的,這是真的。但是,您可以將一個字段的值複製到另一個字段中。 – cheffe