HLO,
我有一个包含一些数据的字符串。我正在申请ngram.EdgeNGramFilterFactory。
当我使用字符串时,我能够分析字符串匹配。但是,当我使用数字时,我无法实现相同的目标。
它甚至无法搜索。
以下是字段架构,工作示例和非工作的屏幕截图(ie.Numbers示例。
<field name="rcp" type="text_suffix" indexed="true" stored="true"/>
<fieldType name="text_suffix" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.LowerCaseTokenizerFactory"/>
<filter class="solr.ReverseStringFilterFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="15" side="front"/>
<filter class="solr.ReverseStringFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.LowerCaseTokenizerFactory"/>
</analyzer>
答案 0 :(得分:2)
LowerCaseTokenizerFactory
删除任何非常规字母:
通过小写所有字母并删除非字母来创建标记。
您可能希望改用WhitespaceTokenizerFactory
,StandardTokenizerFactory
或ClassicTokenizerFactory
。