В сообществе solr предлагается, чтобы наилучший подход к завершению терминов без учета регистра (при сохранении исходного регистра в фасете) для значений фильтра/фасета состоял в том, чтобы индексировать содержимое в форме «lowercasevalue|OriginalCaseValue», чтобы префикс мог совпадать на первая часть, в то время как отображаемое значение может быть значением OriginalCase.
Я хотел бы добиться этого в любом поле, используя fieldType, который будет создавать значение через solr.PatternRepaceFilters. как бы я написал фильтр замены шаблона, который превратил бы «MyValue» в «myvalue | MyValue» для поля, индексируемого как myfield: MyValue. Но термин завершен/граненый на myfield_tc:myvalue|MyValue?
<fieldType name="termCompleteField" class="solr.StrField">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.PatternReplaceFilterFactory" ????????? />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
</analyzer>
</fieldType>