2017-10-13 76 views
0

當我搜索solr中的公司時,結果應該包含類似的結果,例如company,comp-any和company.How to get that that using solr。如何改善solr中的鄰近搜索

+0

什麼你嘗試了嗎? – Mysterion

+0

準確地說,你認爲「類似的結果」是什麼規則? – MatsLindh

+0

如果我搜索沃爾瑪,結果應該顯示沃爾瑪,沃爾瑪和沃爾瑪,反之亦然。如何實現這一目標 – Savitha

回答

0

對於您提供的用例,可以使用n-gram。

<analyzer> 
    <tokenizer class="solr.StandardTokenizerFactory"/> 
    <filter class="solr.NGramFilterFactory" minGramSize="3" maxGramSize="7"/> 
</analyzer> 

該過濾器打破了令牌的指定大小,喜歡的部分,對於「公司」二字,將產生如下標記:「COM」,「OMP」,「MPA」,「泛」, 「any」「comp」「ompa」「mpan」「pany」「compa」「ompan」「mpany」「compan」「ompany」「公司」

TAKE CARE此過濾器可能會降低性能並使索引以指數級增長,並可能根據所使用的字段的大小(即,如果將其用於內容提取)運行Solr內存不足。所以,明智的選擇現場使用它:)

以下是有關它的例子一些有用的信息: https://lucene.apache.org/solr/guide/6_6/filter-descriptions.html#FilterDescriptions-N-GramFilter