2014-04-11 6 views
0

다음 필드 유형 구성을 사용하여 solr의 데이터를 인덱싱했습니다. 이 경우에만 수행 할 수있는 것은 대문자와 소문자를 구별하지 않고 입니다. 예 : 텍스트를 입력 할 경우 : Abc 또는 abc 같은 결과가 나타납니다. 그때 그렇지 abc 방송, 또한 작업을해야 리버스 ABC 방송 모든 결과 매칭을 제공한다 ABC 방송을 검색하고 경우 대소 문자를 구분하며 대소 문자를 모두 사용하는 검색

<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100"> 
    <analyzer type="index"> 
    <tokenizer class="solr.ClassicTokenizerFactory"/> 
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /> 
    <filter class="solr.StandardFilterFactory"/> 
    <!-- in this example, we will only use synonyms at query time 
    <filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/> 
    --> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    </analyzer> 
    <analyzer type="query"> 
    <tokenizer class="solr.ClassicTokenizerFactory"/> 
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /> 
    <filter class="solr.StandardFilterFactory"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    </analyzer> 
</fieldType> 

그러나

지금 내 요구 사항은 changed.Suppose을 얻었다.

현재 구성이 가능합니까? 그렇지 않다면 어떤 구성을 사용해야합니까? 나를 제안하십시오.

답변

2

토크 나이저에서 소문자 필터 만 제거하면 문제가 해결됩니다. 그런 다음 토큰을 소문자로 변환하지 않으므로 원하는 결과를 얻을 수 있습니다.

관련 문제