2012-04-19 152 views
0

我遇到一個問題,我試圖搜索一個字段,如 modelnumbers:"ModeL SX4"我沒有收到任何數據。本場我試圖讓不區分大小寫的樣子:solr不區分大小寫

<arr name="modelnumbers"> 
<str>Model sX4</str> 
</arr> 

試圖像加跟隨我的schema.xml中所有可能的解決方案:像

<fieldType name="text" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true" > 
    <analyzer type="index"> 
     <tokenizer class="solr.WhitespaceTokenizerFactory"/> 
     <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> 
     <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/> 
     <filter class="solr.LowerCaseFilterFactory" ignoreCase="true"/> 
     <filter class="solr.PorterStemFilterFactory"/> 
     <filter class="solr.StopFilterFactory" ignoreCase="true"/> 
    </analyzer> 

    <analyzer type="query"> 

     <tokenizer class="solr.WhitespaceTokenizerFactory"/> 
     <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> 
     <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/> 
     <filter class="solr.LowerCaseFilterFactory" ignoreCase="true"/> 
     <filter class="solr.StopFilterFactory" ignoreCase="true"/> 
     <filter class="solr.PorterStemFilterFactory"/> 
    </analyzer> 
</fieldType> 

,並用它與現場:

<field name="modelnumbers" type="text" indexed="true" stored="true" multiValued="true" /> 

重新發布我的數據很多次。不工作。 如果我搜索「model sX4」,它可以工作,但是其他任何修改(如「ModeL SX4」)都會失敗。結果與結果不一致。另外一個字段看起來像:「24AAB3」,如果我嘗試搜索「24aAB3」。這也不起作用。

請幫忙。

+0

找到解決辦法。它更好的使用 2012-04-19 10:32:15

+0

複製字段爲小寫,昨天有一個解決方案的問題,有一個快速搜索 – encodes 2012-04-19 10:43:06

回答

1

您的探針位於WordDelimiterFilterFactory中。因爲它會將「ModeL SX4」分成「M ode L SX 4」或類似的東西。因此,在標記器之後放置LowerCaseFilterFactory,你應該沒問題。

+0

爲了我將添加一個建議,除非它是必要的,使用一臺分析儀進行查詢和索引。這將有助於檢查發生了什麼問題。並檢查「admin/analysis.jsp」以查看您的模式將如何在您的數據集上運行。 – Fuxi 2012-04-19 11:14:20