EdgeNGramFilterFactory中的确切结果(Solr搜索)

时间:2012-12-06 15:48:19

标签: solr

我在模式文件

中使用EdgeNGramFilterFactory和config
<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 。为什么会这样?帮我。谢谢大家:))

1 个答案:

答案 0 :(得分:1)

sort添加到查询中。像q = text:sanonuke&amp; sort = text asc