我正在尝试使用 a 配置 solr 4.0-BETA,WordDelimiterFilterFactory
以便我可以查询包含连字符的数字。
字段值:添加时为“123456-1234” ssn
。
查询:
“123456-1234”<- 有效(带连字符)
“1234561234”<- 无效(不带连字符)
根据文档(AFAIUI),它应该匹配,因为字段类型有generateNumberParts
和catenateNumbers
。
从文档中:
generateNumberParts="1" 导致生成数字子词:"500-42" => "500" "42" catenateNumbers="1" 导致连接数字部分的最大运行次数:"500-42" => "50042"
http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.WordDelimiterFilterFactory
我的领域:
<fields>
<field name="ssn" type="text_en_splitting" indexed="true" stored="false" multiValued="false" />
<field name="ssn_exact" type="string" indexed="true" stored="true" multiValued="false" />
</fields>
<copyField source="ssn" dest="ssn_exact" />
<copyField source="ssn" dest="text" />
中的过滤器text_en_splitting
:
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
我在这里想念什么?