2012-01-05 89 views
0

我使用的是標準的Solr NGRAM字段定義 -Solr ngram與數字不符?

<fieldType name="ngram" class="solr.TextField" positionIncrementGap="100" stored="false" multiValued="true"> 
    <analyzer type="index"> 
    <tokenizer class="solr.StandardTokenizerFactory"/> 
    <!-- potentially word delimiter, synonym filter, stop words, NOT stemming --> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    <filter class="solr.NGramFilterFactory" minGramSize="2" maxGramSize="15"/> 
    </analyzer> 
    <analyzer type="query"> 
    <tokenizer class="solr.StandardTokenizerFactory"/> 
    <!-- potentially word delimiter, synonym filter, stop words, NOT stemming --> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    </analyzer> 
</fieldType> 

<field name="item" type="text" indexed="true" stored="true"/> 
<field name="item_ngram" type="ngram" indexed="true" stored="true"/> 

現在 「項目:iPad和項目:2」 認定的 「iPad 2」,但 「item_ngram:iPad和item_ngram:2」 不會。

有什麼想法?

回答

2

您的n元組的最小長度爲2(minGramSize =「2」)。所以item_ngram:2不會匹配任何東西。將它減少到1,你會得到匹配。