我正在尝试使用 copyField 命令将包含数值但具有一些关联文本的文本字段放入可以进行范围过滤的数字字段中。
例如。正常值 1.3 或 200 脏值 200cc 或 1,500
是否可以设置使用过滤器去除非数字字符的浮点字段类型?
如果我这样定义,过滤器似乎没有处理
<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>
我收到以下错误:
严重:org.apache.solr.common.SolrException:没有类或标记器和过滤器列表的分析器
有没有办法设置一个数字字段,以便您可以对其应用过滤器?或者我可以让源字段将数据的剥离版本呈现给复制字段吗?