2013-09-22 40 views
2

我正在使用facet.prefix來自動完成。
這是我的定義如何將facet.prefix定義爲不區分大小寫

<requestHandler name="/ac" class="solr.SearchHandler"> 
<lst name="defaults"> 
    <str name="echoParams">explicit</str> 
    ... 
    <str name="lowercaseOperators">true</str> 
    <str name="facet">on</str> 
    <str name="facet.field">Suggest</str> 
</lst> 

這是我的領域

<field name="Suggest" type="text_auto" indexed="true" stored="true" required="false" multiValued="true"/> 

<fieldType class="solr.TextField" name="text_auto"> 
    <analyzer> 
    <tokenizer class="solr.KeywordTokenizerFactory"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    </analyzer> 
</fieldType> 

一切工作正常,但是當我搜索使用大寫鎖定它不返回答案。
即使該字段包含大寫字母 - 它不會。

我假定solr中的字段被降低(來自字段類型過濾器定義),但搜索項不是。
如何控制搜索詞上限/無上限?

謝謝。

回答

3

方面工作在索引條款和facet.prefix不經過分析。
因此,建議有小寫過濾器,所有索引條款都較低。
但是,facet.prefix不會經歷小寫,因此在索引術語中找不到任何匹配。
您需要將在客戶端使用facet.prefix傳遞的條款小寫。