La ricerca fulltext di Postgres è leggermente diversa dalla ricerca fulltext di MySQL. Ha molte più opzioni, ma può essere un po' più difficile far funzionare come preferisci.
Questo documento spiega come classificare i risultati della ricerca, ma ti consiglio vivamente di leggere l'intera sezione fulltext del manuale per avere un'idea di cosa puoi fare con esso:http://www.postgresql.org/docs/current/interactive/textsearch-controls.html#TEXTSEARCH-RANKING
Fondamentalmente, l'equivalente della tua query sarebbe questo:
SELECT pictures.id, ts_rank_cd(textsearch, 'phrase') AS score
FROM pictures
ORDER BY score DESC
Come puoi vedere, questo utilizza textsearch
che è qualcosa che dovrai definire te stesso. Per la versione breve, leggi:http://www.postgresql. org/docs/current/interactive/textsearch-tables.html
La query è essenzialmente molto semplice:
SELECT pictures.id, ts_rank_cd(to_tsvector('english', pictures.title), 'phrase') AS score
FROM pictures
ORDER BY score DESC
Ma consiglio vivamente di aggiungere anche gli indici:
CREATE INDEX pictures_title ON pictures USING gin(to_tsvector('english', title));