Включение имен полей solr в строку поиска, но не в фасет

Я хочу иметь возможность включать имя поля в свой поиск, но не отображать его как часть проиндексированного термина в аспекте поиска.

Пример имени поля и данных:

Навык: - Плохо - Хорошо - Отлично

Это поле копируется в текстовое поле по умолчанию, и я хотел бы, чтобы пользователь мог искать «плохие навыки», не выбирая поле «навыки».

Я расширил данные поля, чтобы индексировать:

  • Плохой навык
  • Хороший навык
  • Отличное умение

Но, очевидно, когда я использую это как аспект поиска, я получаю в ответ «Навык».

Есть ли способ указать solr включить имя поля как часть того, что индексируется? Могу ли я включить дополнительный текст в поле для копирования? то есть он индексирует «плохо», но я могу скопировать «плохие навыки» в основное текстовое поле индекса.

Я мог бы отключить его во внешнем интерфейсе пользовательского интерфейса, но это кажется немного запутанным, и я надеялся на более элегантное решение.

Какие-либо предложения?


person RogerRoger    schedule 07.03.2014    source источник


Ответы (1)


Вы должны использовать два поля в вашем документе. Один для поиска, а другой для отображения фасета.

Затем примените разные фильтры в этих двух полях. Очевидно, что фильтры в поле «поиск» должны облегчить поиск (например, ASCIIFolding). Фильтры в поле «facet» должны правильно печатать значения ваших аспектов (например, CapitalizationFilter).

Если вам нужно добавить слово «навык» для создания своего аспекта, я думаю, вам следует прочитать этот документ: http://wiki.apache.org/solr/UpdateRequestProcessor

Создав пользовательский процессор, вы сможете добавить слово «навык» для аспекта.

person Jean-Marc Desprez    schedule 07.03.2014
comment
Хорошо, так что это более или менее то, что у меня есть. Итак, вы говорите, что мне действительно нужно 3 поля. Одним из них является мое текстовое поле, в которое данные фасета копируются из «длинного» поля данных фасета просто для того, чтобы удерживать их, чтобы они были скопированы в текст. Наконец, фактическое поле для создания фасета...? Нет способа добавить некоторые данные в команду схемы поля копирования, о которой вы знаете? - person RogerRoger; 08.03.2014