2016-11-24 59 views

回答

0

您可以使用PHP函数用strtolower()转换您的查询字符串;

http://php.net/manual/en/function.strtolower.php

或者你可以建立与小写过滤器新的字段类型schema.xml中

https://cwiki.apache.org/confluence/display/solr/Tokenizers#Tokenizers-LowerCaseTokenizer

<fieldType name="newFilter" class="solr.TextField" omitNorms="false" positionIncrementGap="100" multiValued="true"> 
    <analyzer type="index"> 
     <tokenizer class="solr.WhitespaceTokenizerFactory"/> 
     <filter class="solr.LowerCaseFilterFactory"/> 
    </analyzer> 
    <analyzer type="query"> 
     <tokenizer class="solr.WhitespaceTokenizerFactory"/> 
     <filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/> 
     <filter class="solr.LowerCaseFilterFactory"/> 
    </analyzer> 
    </fieldType> 

例子:

:“我只是爱我的iPhone!“
:“我”,“公正”,“爱”,“我的”,“iphone”

+0

我同意你的@Oyeme但我问我这里有没有到Solr的数据转换方法从日光浴室到小写/大写? – Junaid

+0

@Junaid,没有办法做到这一点,最简单的方法是使用strtolower(); 。或者你可以在schema.xml中创建两个不同的字段,一个是小写字母,一个是大写字母。 – Oyeme

相关问题