2016-06-14 8 views
0

Unterstützt edge pg_serch die Suche nach Regex, wenn ja, könnte jemand ein Beispiel für die Verwendung regulärer Ausdrücke mit pg_search geben. Ich konnte es in der Dokumentation nicht finden. Ich bin auf der Suche nach etwas wie diesempg_search regex search

Model.regex_search(/.*find_string$/) ist es möglich mit pg_search?

Antwort

1

Nein, tut es auch nicht.

pg_search nutzt die Volltextsuche von Postgres, so dass es in gewisser Weise bereits reguläre Suche nach indizierten Daten macht.

Wenn Sie eine reine Regex-Suche für Textdaten in Ihrer Tabelle durchführen möchten, sollten Sie den Mustervergleich von PG verwenden. Sie können die Operatoren ~ (Groß-/Kleinschreibung beachten) und ~* (Groß-/Kleinschreibung beachten) innerhalb von WHERE-Klauseln verwenden, um sie mit einem regulären POSIX-Ausdruck abzugleichen.

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

Wenn Sie dies beabsichtigen, empfehle ich Ihnen, Indizes für diese Spalten zu erstellen.