2012-12-06 46 views
3

我用EdgeNGramFilterFactory與配置在架構文件確切的結果在EdgeNGramFilterFactory(Solr的搜索)

<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

sort添加到查詢。例如q =文本:sanonuke &排序=文本ASC

+0

非常感謝你 – sanosuke

+0

喜O.克萊恩,我遇到錯誤HTTP狀態500 - Java堆空間java.lang.OutOfMemoryError:在 – sanosuke

+0

HTTP Java堆空間://維基.apache.org/solr/SolrPerformanceFactors#OutOfMemoryErrors –