Die Postgres-Volltextsuche unterscheidet sich ein wenig von der MySQL-Volltextsuche. Es hat viel mehr Optionen, kann aber etwas schwieriger sein, so zu arbeiten, wie Sie es möchten.
In diesem Dokument erfahren Sie, wie Sie Ihre Suchergebnisse einordnen können, aber ich empfehle Ihnen dringend, den gesamten Volltextabschnitt des Handbuchs zu lesen, um eine Vorstellung davon zu bekommen, was Sie damit tun können:http://www.postgresql.org/docs/current/interactive/textsearch-controls.html#TEXTSEARCH-RANKING
Im Grunde wäre das Äquivalent Ihrer Abfrage:
SELECT pictures.id, ts_rank_cd(textsearch, 'phrase') AS score
FROM pictures
ORDER BY score DESC
Wie Sie sehen können, verwendet dies textsearch
was Sie selbst definieren müssen. Lesen Sie für die Kurzversion:http://www.postgresql. org/docs/current/interactive/textsearch-tables.html
Die Abfrage ist im Wesentlichen sehr einfach:
SELECT pictures.id, ts_rank_cd(to_tsvector('english', pictures.title), 'phrase') AS score
FROM pictures
ORDER BY score DESC
Aber ich würde dringend empfehlen, auch Indizes hinzuzufügen:
CREATE INDEX pictures_title ON pictures USING gin(to_tsvector('english', title));