Solr - Регулярное выражение для создания поля для нечувствительного к регистру поля завершения термина - PullRequest
0 голосов
/ 26 марта 2011

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

1 Ответ

0 голосов
/ 29 июня 2011

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

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

на

<filter class="solr.LowerCaseFilterFactory"/>

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

...