2013-05-29 65 views
0

中無法搜索我使用DataImportHandler有一個相當直接的SOLR搜索實現。 其中一個領域是企業的名稱。它創建一個可搜索的字段,其中包含商業名稱以及描述。標題中的完整標題在SOLR

問題是,搜索一家名爲C.E.D的公司。不會找到它。我知道它在那裏。更一般的搜索會返回結果。

有趣的是,索引中還有一家名爲CED的公司。搜索C.E.D.沒有返回該公司,但搜索CED。但是,搜索CED不會返回C.E.D公司。

作爲一個寫作,我意識到我可能需要做的是更改業務名稱字段,以便它按原樣使用,並且沒有過濾器與實際的單詞或標點組合相混淆?

+0

請提供您的字段類型的詳細信息?你在索引和查詢時執行了什麼樣的分析? – Jayendra

+0

字段類型是text_general,但我不認爲這很重要?我需要知道的是什麼字段類型和做什麼(分析),以使其工作。 – hayres

回答

2

具有WhitespaceTokenizerFactory的正常配置可以爲您工作。
這將在空格和小寫文本上創建令牌並與索引條件相匹配。
C.E.D將匹配C.E.D和c.e.d

<fieldType name="text" class="solr.TextField"> 
    <analyzer> 
     <tokenizer class="solr.WhitespaceTokenizerFactory"/> 
     <filter class="solr.LowerCaseFilterFactory"/>  
    </analyzer> 
</fieldType> 

如果你想C.E.D, c.e.d or ced匹配C.E.D or c.e.d or ced,你需要檢查WordDelimiterFilterFactory過濾

+0

是的。我今天早上遇到了WordDelimiterFilter工廠,我會嘗試一下,看看這是否是答案。當然看起來像。 – hayres