我在模式文件中使用 EdgeNGramFilterFactory 和配置
<fieldType name="prefix_token_text" class="solr.TextField" positionIncrementGap="1">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="1" maxGramSize="20" side="front" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
我在架构中有八个字段。我有配置
<field name="text" type="prefix_token_text" indexed="true" stored="false" multiValued="true"/>
和
<copyField source="AccountName" dest="text" />
我的数据索引大约三亿。
如果我搜索
sanosuke
我得到类似的结果
sanosuke3
sanosuke2
sanosuke1
sanosuke
sanosukebn
sanosukeqns
......
我想要结果sanosuke在上面。为什么会这样?帮我。谢谢大家:)