Het zoeken in volledige tekst van Postgres is een beetje anders dan het zoeken in volledige tekst van MySQL. Het heeft veel meer opties, maar het kan wat moeilijker zijn om het te laten werken zoals jij het wilt.
Dit document vertelt u hoe u uw zoekresultaten kunt rangschikken, maar ik raad u ten zeerste aan het volledige gedeelte met volledige tekst uit de handleiding te lezen om een idee te krijgen van wat u ermee kunt doen:http://www.postgresql.org/docs/current/interactive/textsearch-controls.html#TEXTSEARCH-RANKING
In principe zou het equivalent van uw vraag dit zijn:
SELECT pictures.id, ts_rank_cd(textsearch, 'phrase') AS score
FROM pictures
ORDER BY score DESC
Zoals je kunt zien, gebruikt dit textsearch
dat is iets wat je zelf zult moeten definiëren. Lees voor de korte versie:http://www.postgresql. org/docs/current/interactive/textsearch-tables.html
De vraag is in wezen heel eenvoudig:
SELECT pictures.id, ts_rank_cd(to_tsvector('english', pictures.title), 'phrase') AS score
FROM pictures
ORDER BY score DESC
Maar ik zou sterk aanbevelen om ook indexen toe te voegen:
CREATE INDEX pictures_title ON pictures USING gin(to_tsvector('english', title));