2013-01-11 81 views
0

我的數據庫包含fist_name作爲「薩米特」,當我搜索這讓我產生了以下FIRST_NAME:薩米特〜0.7/FIRST_NAME:Sumits〜0.7Solr的模糊搜索不只是區分大小寫的搜索

但它不返回任何東西如果我試圖對案件鈍感搜索像 -first_name:SUMIT〜0.7/FIRST_NAME:SUMIT〜0.7

我的schema.xml內容是:

<fieldType name="custum_fuzzy_text" class="solr.TextField" omitNorms="false"> 
    <analyzer type="index"> 
     <tokenizer class="solr.StandardTokenizerFactory"/> 
     <filter class="solr.StandardFilterFactory"/> 
     <filter class="solr.LowerCaseFilterFactory"/> 
    </analyzer> 
    <analyzer type="query"> 
     <tokenizer class="solr.StandardTokenizerFactory"/> 
     <filter class="solr.StandardFilterFactory"/> 
     <filter class="solr.LowerCaseFilterFactory"/> 
     </analyzer> 
    </fieldType> 

誰能幫助?難道我做錯了什麼?還是我因爲沒有分析在查詢時進行模糊搜索,因此較低的情況下,過濾器會在查詢時可以應用做了做別的事情

回答

2

Analyzers

On wildcard and fuzzy searches, no text analysis is performed on the search word. 


您需要在客戶端處理它。

+0

感謝.. Jayendra –

+0

是上述任何回答你的問題,你可以接受它。 – Jayendra

1

您使用的是哪個版本的Solr?這非常重要。另外,你是否正在做''(如Summit)或只是普通文本模糊查詢。這兩種情況也是不同的。

如果您正在進行'*'查詢並且您的Solr在3.6之前,那麼您正在碰到the MultiTerm issue(技術名稱爲Fuzzy)。

如果您不使用*,我不確定問題出在哪裏。使用Solr 4,Admin界面具有分析器部分,您可以將文本對照字段定義並查看出現的內容。試試看。

最後,就像一個音符,如果你的索引和查詢分析器設置是一樣的,你不需要把它寫兩次,只是有一個組合分析部分(不類型= ...)

+0

謝謝,亞歷山大幫助了很多。 –