2011-10-11 78 views

回答

0

看來你有詞幹在過濾器鏈,由於其持續的和連續性和MAPP編輯到同一根,將被視爲平等。

你想要檢查你正在使用的stemmer,並希望根據你的需要得到一個。默認的porter stemmer非常激進,你可能需要一個不太積極的選擇。

Solr目前不會提升精確匹配,高於生成相同根的其他條款。
一種選擇是在你的模式中有兩個字段。
朵朵(title_stemmed)和非朵朵版本(標題 - 沒有制止過濾器)

例子 -

schema.xml中 -

<!-- Without Porter Stemmer --> 
<fieldType name="text_non_stemmed" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true"> 
    <analyzer type="index"> 
     <tokenizer class="solr.WhitespaceTokenizerFactory 
     <filter class="solr.LowerCaseFilterFactory"/> 
    </analyzer> 
    <analyzer type="query"> 
     <tokenizer class="solr.WhitespaceTokenizerFactory"/> 
     <filter class="solr.LowerCaseFilterFactory"/> 
    </analyzer> 
</fieldType> 

<!-- With Porter Stemmer --> 
<fieldType name="text" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true"> 
    <analyzer type="index"> 
     <tokenizer class="solr.WhitespaceTokenizerFactory 
     <filter class="solr.LowerCaseFilterFactory"/> 
     <filter class="solr.PorterStemFilterFactory"/> 
    </analyzer> 
    <analyzer type="query"> 
     <tokenizer class="solr.WhitespaceTokenizerFactory"/> 
     <filter class="solr.LowerCaseFilterFactory"/> 
     <filter class="solr.PorterStemFilterFactory"/> 
    </analyzer> 
</fieldType> 

<field name="title" type="text" indexed="true" stored="true" termVectors="false" omitNorms="false"/>  
<field name="title_non_stemmed" type="text_non_stemmed" indexed="true" stored="true" termVectors="false" omitNorms="false"/> 

<copyField source="title" dest="title_non_stemmed"/> 

可以加權場 -

solrconfig.xml - 修改默認請求處理程序

<requestHandler name="search" class="solr.SearchHandler" default="true"> 
<lst name="defaults"> 
    <str name="echoParams">explicit</str> 
    <str name="defType">dismax</str> 
    <str name="qf"> 
     title_non_stemmed^1 title^0.8 
    </str> 
    <str name="q.alt">*:*</str> 
    <str name="rows">10</str> 
    <str name="fl">*,score</str> 
</lst> 
</requestHandler> 

,以便完全匹配產生比非精確匹配更高的分數,並且看起來更高。

網址 -

http://localhost:8983/solr/select/?q=continuing 
+0

感謝帕蒂爾我只是說<字段名= 「title_unstem」 類型= 「文本」 收錄= 「真正的」 存儲= 「真」 termVectors = 「假」 omitNorms = 「假」/ >和但它給了我相同的reult plz幫助 –

+0

您的字段類型似乎是相同的「文本」。用一個例子編輯了答案。 – Jayendra

+0

也可能需要重建索爾的索引 –