Ich verwende pg_search für eine Textsuche in meinem Modell. Neben anderen Attributen habe ich ein url
-Feld.
Unglücklicherweise scheint Postgres /
und .
nicht als Worttrennzeichen zu identifizieren, daher kann ich nicht innerhalb von url
suchen.
Beispiel: Die Suche nach test
in Ссылка liefert keine Ergebnisse.
Gibt es eine Möglichkeit, dieses Problem zu beheben, vielleicht ein anderes Juwel oder Inline-SQL?
Wie in der Dokumentation erwähnt (und von AJcodez bemerkt), gibt es eine Lösung beim Erstellen einer dedizierten Spalte für den Tsvector-Index. Definieren Sie dann einen Auslöser, der die Einfügungen erfasst, um URLs richtig zu indizieren:
%Vor%Diese Methode wird alle Nicht-Alpha-Zeichen in einen einzelnen Raum transformieren und die Zeichenkette in einen Tsvektor umwandeln:
%Vor%Erstellen Sie nun einen Trigger, der diese Funktion aufruft:
%Vor%Wenn URLs eingefügt werden, wird das Feld 'url_tsvectorè' automatisch ausgefüllt.
%Vor%Um nach URLs zu suchen, müssen Sie nur nach diesem Feld fragen.
%Vor%Tags und Links ruby-on-rails postgresql pg-search