2013-02-06 137 views
1

我一直在努力,以使我們的Solr的4.1肉搜索的模糊搜索,但所有我能在網上找到的是:語法Solr中模糊搜索4

1 - 如何做到這一點在犯規默認Lucene的查詢語法幫助我的情況下,
2-認爲dismax不支持它,
3-說edismax將要或應該支持

但是,我無法找到如何在edismax查詢使用它的任何文件格式,甚至不在默認的edsimax頁面查詢語法,它使用運算符〜來定義斜率因子。我曾嘗試在qf參數中指定它作爲每個鏈接在線,但沒有奏效,我也在這裏假設Solr 4.1默認使用edismax。

所以,如果有人知道它應該如何工作,或者如果它甚至支持,任何指針將不勝感激。

回答

0

這對我有效。

嘗試在schema.xml中添加此fieldType。

這種情況下,對於西班牙語單詞不敏感,但改變它也適用於您。

<fieldType name="text_es_fuzzy" class="solr.TextField" positionIncrementGap="100"> 
    <analyzer> 
    <tokenizer class="solr.StandardTokenizerFactory"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_es.txt" format="snowball" enablePositionIncrements="true"/> 
    </analyzer> 
</fieldType> 

之後,當您執行查詢時,只需在搜索字符串的末尾添加「〜0.5」即可。 「0.5」是您可以選擇的自定義值。這個值決定了你的搜索是多麼「模糊」。當數值接近於零時,結果將變得「模糊」,反之亦然。