2016-06-14 2 views
0

Выполняет ли gem pg_serch поиск по регулярному выражению, если да, то может кто-нибудь дать пример использования регулярных выражений с pg_search. Я не мог найти его в документации. Я ищу что-то вроде этогоpg_search regex search

Model.regex_search(/.*find_string$/) можно ли с pg_search?

ответ

1

Нет, это не так, и не должно быть.

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

Если вы хотите выполнять поиск в обычном регулярном выражении против текстовых данных в таблице, вы должны использовать сопоставление шаблонов PG. Вы можете использовать операторы ~ (с учетом регистра) и ~* (без учета регистра) в пределах WHERE статей, которые должны соответствовать регулярному выражению POSIX.

Model.where("column ~* ?", "regex") 

Если вы намереваетесь это сделать, я настоятельно рекомендую вам создавать индексы на этих столбцах.