Jak utworzyć niewrażliwą na wielkość liter kopię pola tekstowego w SOLR?

Jak mogę utworzyć kopię pola tekstowego w formie bez rozróżniania wielkości liter? Chcę użyć typowego typu „string” i typu bez rozróżniania wielkości liter. Typy są zdefiniowane w ten sposób:

    <fieldType name="string" class="solr.StrField"
        sortMissingLast="true" omitNorms="true" />

    <!-- A Case insensitive version of string type  -->
    <fieldType name="string_ci" class="solr.StrField"
        sortMissingLast="true" omitNorms="true">
        <analyzer type="index">
            <tokenizer class="solr.KeywordTokenizerFactory"/>           
            <filter class="solr.LowerCaseFilterFactory" />
        </analyzer>
        <analyzer type="query">
            <tokenizer class="solr.KeywordTokenizerFactory"/>
            <filter class="solr.LowerCaseFilterFactory" />
        </analyzer>
    </fieldType> 

I przykład takiego pola:

<field name="destANYStr" type="string" indexed="true" stored="true"
    multiValued="true" />
<!-- Case insensitive version -->
<field name="destANYStrCI" type="string_ci" indexed="true" stored="false" 
    multiValued="true" />

Próbowałem użyć CopyField tak:

<copyField source="destANYStr" dest="destANYStrCI" />

Ale najwyraźniej CopyField jest wywoływany na źródle i dest, zanim zostaną wywołane jakiekolwiek analizatory, więc nawet jeśli określiłem, że dest nie uwzględnia wielkości liter w anaylyzerach, przypadek wartości skopiowanych z pola źródłowego zostaje zachowany.

Mam nadzieję uniknąć ponownego przesłania wartości w polu przez klienta w czasie tworzenia rekordu.

questionAnswers(2)

yourAnswerToTheQuestion