2013-04-30 148 views
3

我已經安裝了Solr和我的Rails 3.0應用程序的太陽黑子寶石。Solr和太陽黑子模糊搜索

我的目標是做模糊搜索。 例如,我想將搜索字詞「Chatuea Marguxa」命名爲「ChâteauMargaux」。

其實,只找到相同的確切單詞,所以模糊根本不起作用。

我的模型:

searchable do 
    text :winery 
    end 

我的控制器:

search = Wine.search do 
    fulltext 'Chatuea Marguxa' 
    end 

Solr的模式我試過了,用的n-gram:

<fieldType name="text" class="solr.TextField" omitNorms="false"> 
    <analyzer> 
    <tokenizer class="solr.StandardTokenizerFactory"/> 
    <filter class="solr.StandardFilterFactory"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    <filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15"/> 
    </analyzer> 

我也試圖與雙音位:

<analyzer> 
     <tokenizer class="solr.StandardTokenizerFactory"/> 
     <filter class="solr.StandardFilterFactory"/> 
     <filter class="solr.LowerCaseFilterFactory"/> 
     <filter class="solr.PorterStemFilterFactory"/> 
     <filter class="solr.PhoneticFilterFactory" encoder="DoubleMetaphone" inject="true"/> 
     </analyzer> 

在這兩種情況下,我得到0響應。 (當然重新索引後)。

我做錯了什麼?

+0

語音過濾器不能滿足您的情況,您需要拼寫檢查/更正 – 2013-04-30 14:28:16

+0

我可以使用什麼工具?我不明白。 – 2013-04-30 15:36:52

回答

0

一些摸索透露fuzzily寶石:

Anecdotical基準:對我們整個國地名衍生的 位置(3.2M的記錄,大約1GB的數據),我的開發機上 (2011年的MacBook表臨)

搜索的頂部10匹配的記錄需要6ms的±1製備 索引的所有記錄約需10分鐘的DB查詢開銷時 改變的記錄是在3ms的±2的存儲器開銷(該的足跡trigrams表索引)大約300MB