2016-06-14 3 views
0

gem pg_serchはregexによる検索をサポートしていますか?そうであれば、誰かがpg_searchで正規表現を使用する例を挙げることができます。私はドキュメンテーションでそれを見つけることができませんでした。私はこのようなものを探していますpg_search regex search

Model.regex_search(/.*find_string$/) pg_searchで可能ですか?

答えて

1

いいえ、それもそうではありません。

pg_searchは、Postgresのフルテキスト検索拡張機能を利用しているため、インデックス付きデータの正規表現検索は既に行われています。

テーブル内のテキストデータに対して純粋な正規表現検索を実行するには、PGのパターンマッチングを使用する必要があります。 WHERE句内の演算子~(大文字小文字を区別)と~*(大文字小文字を区別しない)をPOSIX正規表現と照合することができます。

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

これを行う場合は、これらの列にインデックスを作成することを強くお勧めします。