Пользовательский фильтр символов в анализаторе не работает
Я использую фильтр символов regexp в 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 ответ
Решение
Полнотекстовый поиск Couchbase реализован в golang. Вот игровая иллюстрация того, как работает ваше регулярное выражение.
https://play.golang.org/p/Jray7DTYZam
Как видно на иллюстрации выше, $1x эквивалентно ${1x}, а не ${1}x. Итак, вашу замену необходимо обновить до${1}_
.
При этом у нас есть ограничение, заключающееся в том, что переменные ($1, ${2} и т. Д.) В настоящий момент не поддерживаются. Я создал внутренний тикет, чтобы расширить поддержку этого.