Solr - Регулярное выражение для создания поля для поля завершения термина без учета регистра

В сообществе 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>

person mdiggory    schedule 26.03.2011    source источник


Ответы (1)


почему бы тебе не заменить

<filter class="solr.PatternReplaceFilterFactory" ????????? />

с участием

<filter class="solr.LowerCaseFilterFactory"/>

и добавить поле копирования termCompleteField_lowercase с этим новым типом поля?

person Samuele Mattiuzzo    schedule 29.06.2011