2011-03-15 78 views

回答

0

您可以對其分析鏈中具有N-Gram Tokenizer的索引字段執行「中綴」或n格式自動建議活動。

+0

是的,我知道。但是有可能以某種方式在推薦人中使用N-Gram Tokenizer,或者對提示器組件使用文本字段?我不這麼認爲。 – Zardoz 2011-04-01 01:11:20

1

是的,它支持。 編輯你的solrconfig.xml,去searchComponent元素,從org.apache.solr.spelling.suggest.tst.TSTLookupFactory改變「lookupImpl」的值(如 wiki page of the Solr Suggester component例子所示,但它可以是另一個像FuzzyLookupFactory等... )到AnalyzingInfixLookupFactory。

這是需要非常類似:

<searchComponent name="suggest" class="solr.SuggestComponent"> 
<lst name="suggester"> 
<str name="name">mySuggester</str> 
<str name="lookupImpl">AnalyzingInfixLookupFactory</str> 
<str name="dictionaryImpl">DocumentDictionaryFactory</str> 
<str name="field">yourSearchFieldName</str> 
<str name="suggestAnalyzerFieldType">yourSearchFieldType(String, text-general)</str> 
<str name="buildOnStartup">true</str> 
</lst> 
</searchComponent> 

<requestHandler name="/suggest" class="solr.SearchHandler" 
       startup="lazy" > 
<lst name="defaults"> 
    <str name="suggest">true</str> 
    <str name="suggest.count">10</str> 
</lst> 
<arr name="components"> 
    <str>suggest</str> 
</arr> 
</requestHandler> 

不要忘了更改後重新啓動Solr的。