Пользовательский фильтр символов в анализаторе не работает - PullRequest
1 голос
/ 14 марта 2020

Я использую символьный фильтр регулярных выражений в couchbase для моего анализатора. желаемый результат следующий за

phuong 1 -> phuong_1
phuong  12 -> phuong_12

Фильтр символов конфигурации в веб-консоли Couchbase следующий за

Regular expression : ([a-z])\s+(\\d)
Replacement: $1_
  • Результатом вышеупомянутой конфигурации является производный термин [phuong, 1, 12]
  • Желаемый результат: [phuong_1, phuong_12]
  • Я много раз выравнивал этот код, но он все еще не работает правильно
  • Можете ли вы помочь мне решить эту проблему?

1 Ответ

3 голосов
/ 17 марта 2020

Полнотекстовый поиск в Couchbase реализован в golang. Вот игровая иллюстрация того, как работает ваше регулярное выражение.

https://play.golang.org/p/Jray7DTYZam

Как вы можете видеть на иллюстрации выше, $ 1x эквивалентно $ {1x }, а не $ {1} х. Таким образом, ваша замена должна быть обновлена ​​до ${1}_.

Теперь это говорит о том, что у нас есть ограничение, что переменные ($ 1, $ {2} et c.) В данный момент не поддерживаются. Я создал внутренний тикет для расширения поддержки этого.

...