Что такое регулярное выражение для удаления пробелов в SOLR - PullRequest
0 голосов
/ 24 февраля 2012

В регулярном выражении, как удалить все ведущие, конечные и везде, где есть пробелы в SOLR. Чтобы удалить специальные символы, мы можем иметь PatternReplaceFilterFactory как

<filter class="solr.PatternReplaceFilterFactory" pattern="([^a-z])" replacement="" replace="all" />

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

Ответы [ 3 ]

3 голосов
/ 24 февраля 2012

Я не знаю SOLR, но, основываясь на вашем примере, думаю, вы могли бы просто сделать

<filter class="solr.PatternReplaceFilterFactory" pattern="(\s+)" replacement="" replace="all" /> для удаления всех пробелов

или

<filter class="solr.PatternReplaceFilterFactory" pattern="(^\s+|\s+$)" replacement="" replace="all" /> для удаления только начальных и конечных пробелов.

2 голосов
/ 24 февраля 2012

Используйте фильтр обрезки, чтобы удалить начальные и конечные пробелы. http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.TrimFilterFactory

просто замена всего, что не a-z ничем, вызовет странные вещи, и это не очень хорошая идея.

0 голосов
/ 11 марта 2017

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

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