0
據我所知Solr不支持BigDecimals。 所以我想我會存儲「字符串」而不是「數字」。 現在的問題是,範圍查詢不會將 整個文本視爲數字。SOLR:帶字符串的數字範圍查詢
所以我的查詢範圍 「1至10」 將返回類似{1,10}因爲 字符串的排序 - > 1,10,2,3,4,5,6,7,8 ,9
我在想,如果我能 某種方式使Solr的對待文本通過分析 什麼的一個數字。
感謝,
據我所知Solr不支持BigDecimals。 所以我想我會存儲「字符串」而不是「數字」。 現在的問題是,範圍查詢不會將 整個文本視爲數字。SOLR:帶字符串的數字範圍查詢
所以我的查詢範圍 「1至10」 將返回類似{1,10}因爲 字符串的排序 - > 1,10,2,3,4,5,6,7,8 ,9
我在想,如果我能 某種方式使Solr的對待文本通過分析 什麼的一個數字。
感謝,
對於您前綴0的字符串存儲創建一個單獨的領域,使所有字符串大小相同。這與定義十進制(x,2)相同,您可以在其中獲得每個部分所需的精度(在點之前和點之後)。
另一種選擇是使用長整型值(64位)並將其再除以100(或所需的精度)(只要您可以在2^53內適合您的值)。
這兩個字段只需要被索引並且不被存儲(因爲它們是僅用於範圍搜索的現有字段的元版本)。
那麼你是否想對類似的東西做範圍查詢:myField:[0.111 TO 1.646]? – TMBT