фильтр замены шаблона solr - PullRequest
1 голос
/ 07 октября 2019

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

Я пишу фильтр замены шаблонакоторый заменит все на ноль, кроме цифр и нескольких слов, таких как дюйм, футы, футы.

<filter class="solr.PatternReplaceFilterFactory" pattern="[^0-9\.\/&&[^\*]]" replacement="" />

Здесь я успешно вижу преобразование всего в ноль, кроме цифр (22.5, 22/5, 22) к нулю, но как я могу добавить несколько слов здесь, например, дюймовые футы, если я добавляю дюйм здесь, он принимает слово «дюйм» как отдельные слова, так что сохраняет все слова «я или нет» или «где-либо» в словах, которые я нехочу.

Я пытался положить внутрь, но это не сработало.

input - hello world 123.34 123/34 inch pipe

ожидаемый вывод - 123.34 123/34 inch

вход - привет, это новые 123,34 дюймовые футы

ожидаемый результат - 123,34 дюймовые футы

1 Ответ

1 голос
/ 07 октября 2019

Не уверен, что будут работать следующие выражения, но было бы неплохо взглянуть на них, чтобы они могли дать вам некоторые идеи относительно того, как вы подходите к решению проблемы:

(?:[0-9]+(?:[.\/][0-9]+)\s){1,2}(?:inch feet|inch|ft)\b

Демо 1

\b(?!ft|feet|inch)[A-Za-z]+

Демо 2

...