Поиск и замена в Solr? - PullRequest
       21

Поиск и замена в Solr?

0 голосов
/ 16 марта 2012

Я ищу что-то вроде функциональности поиска и замены в Solr.

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

Например: «Южная Африка» будет рассматриваться как один токен для дальнейшей обработки.А также обратите внимание, что они могут быть динамичными, и я собираюсь позволить конечному пользователю решить, какие слова он / она должен сгруппировать.Так что семантика не требуется.

Мой текущий план - добавить специальный символ между этими двумя словами, чтобы Solr рассматривал его как один единственный токен (StandardTokenizerFactory) для дальнейшей обработки.

Так что я ищучто-то вроде:

replace("South Africa",South_Africa")

Может у кого-нибудь есть решение?

Ответы [ 2 ]

0 голосов
/ 17 марта 2012

Используйте фильтр синонимов и определите эти замены в файле synonyms.txt. Как только вы получите все свои определения, перестройте индекс.

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

Южная Африка, Южная Африка => Саутхафрика

Подробнее здесь http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.SynonymFilterFactory

0 голосов
/ 16 марта 2012

Возможно, вы могли бы использовать PatternReplaceFilter и умное регулярное выражение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...