【发布时间】:2016-06-14 11:25:40
【问题描述】:
gem pg_serch 是否支持通过正则表达式进行搜索,如果是的话,有人可以举一个在 pg_search 中使用正则表达式的例子。我在文档中找不到它。我正在寻找这样的东西
Model.regex_search(/.*find_string$/) 可以使用 pg_search 吗?
【问题讨论】:
标签: ruby-on-rails ruby pg-search
gem pg_serch 是否支持通过正则表达式进行搜索,如果是的话,有人可以举一个在 pg_search 中使用正则表达式的例子。我在文档中找不到它。我正在寻找这样的东西
Model.regex_search(/.*find_string$/) 可以使用 pg_search 吗?
【问题讨论】:
标签: ruby-on-rails ruby pg-search
不,它没有,也不应该。
pg_search 使用 Postgres 的全文搜索扩展,因此在某种程度上它已经在对索引数据进行正则表达式搜索。
如果您想对表中的文本数据进行纯正则表达式搜索,您应该使用 PG 的模式匹配。您可以在 WHERE 子句中使用运算符 ~(区分大小写)和 ~*(不区分大小写)来匹配 POSIX 正则表达式。
Model.where("column ~* ?", "regex")
如果您打算这样做,我强烈建议您在这些列上创建索引。
【讨论】: