【问题标题】:pg_search regex searchpg_search 正则表达式搜索
【发布时间】:2016-06-14 11:25:40
【问题描述】:

gem pg_serch 是否支持通过正则表达式进行搜索,如果是的话,有人可以举一个在 pg_search 中使用正则表达式的例子。我在文档中找不到它。我正在寻找这样的东西

Model.regex_search(/.*find_string$/) 可以使用 pg_search 吗?

【问题讨论】:

    标签: ruby-on-rails ruby pg-search


    【解决方案1】:

    不,它没有,也不应该。

    pg_search 使用 Postgres 的全文搜索扩展,因此在某种程度上它已经在对索引数据进行正则表达式搜索。

    如果您想对表中的文本数据进行纯正则表达式搜索,您应该使用 PG 的模式匹配。您可以在 WHERE 子句中使用运算符 ~(区分大小写)和 ~*(不区分大小写)来匹配 POSIX 正则表达式。

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

    如果您打算这样做,我强烈建议您在这些列上创建索引。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-02
      • 2023-04-10
      • 2013-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多