我試圖用一個copyField命令採取哪些包含數值,但有一些相關的文本到數字字段可以是範圍過濾的文本字段。條非數字字符,並轉換爲浮動場
例如。正常值1.3或200 髒值200cc或1,500
是否可以設置Float字段類型,該類型將使用過濾器去除非數字字符?
如果我定義它是這樣,過濾器似乎並沒有被處理
<fieldType name="floatNoText" class="solr.TrieFloatField" >
<filter class="solr.PatternReplaceFilterFactory" pattern="[^0-9.]" replacement="" replace="all"/>
</fieldType>
如果我用分析儀進行定義:
<fieldType name="floatNoText" class="solr.TrieFloatField" >
<analyzer>
<filter class="solr.PatternReplaceFilterFactory" pattern="[^0-9.]" replacement="" replace="all"/>
</analyzer>
</fieldType>
我得到以下錯誤:
SEVERE:org.apache.solr.common.SolrException:沒有類或分詞器的分析器&過濾器列表
有沒有辦法設置一個數字字段,以便您可以應用過濾器呢? 或者,我可以讓這個源字段呈現數據的一個簡化版本的拷貝場?
這是好的,但它並沒有將它轉換爲浮動型。您需要一個數字類型才能正確支持範圍查詢。 – Simon