另一种选择是应用
EdgeGramFilterFactory
到现有的领域,并与您当前的标记器(
WhitespaceTokenizerFactory
),例如
<filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="15" />
这将保持您当前的模式不变,即您不需要具有另一个标记器的附加字段。(
NGramTokenizerFactory
)
您的字段看起来如下所示:
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="15" />
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
</analyzer>
...
</fieldType>