2010-06-28 11 views
9

mam pole zdefiniowane jakoindeksowania Pola SOLR i LowerCaseFilterFactory

<fieldType name="text_ws_lc" class="solr.TextField" positionIncrementGap="100"> 
    <analyzer type="index"> 
    <tokenizer class="solr.WhitespaceTokenizerFactory"/> 
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    </analyzer> 
    <analyzer type="query"> 
    <tokenizer class="solr.WhitespaceTokenizerFactory"/> 
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    </analyzer> 
</fieldType> 

który działa dobrze dla poszukiwania bez czułości przypadku na polach, które są tego typu. Jednak chcę, aby oryginalna wartość wstawiona do pola NIE była mała. Czy jest możliwe usunięcie narzędzia LowerCaseFilterFactory z analizatora indeksów i uzyskanie tej funkcji? ALA

<fieldType name="text_ws_lc_std" class="solr.TextField" positionIncrementGap="100"> 
    <analyzer type="index"> 
    <tokenizer class="solr.WhitespaceTokenizerFactory"/> 
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    </analyzer> 
    <analyzer type="query"> 
    <tokenizer class="solr.WhitespaceTokenizerFactory"/> 
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    </analyzer> 
</fieldType> 

Odpowiedz

8

Powinieneś zdefiniować dwa pola: jeden o małej wartości używany do wyszukiwania i drugi do przechowywania wartości początkowej. Możesz użyć instrukcji pola kopiowania w pliku schema.xml, aby zachować dwa pola zsynchronizowane.

Powiązane problemy