La búsqueda de texto completo de Postgres es un poco diferente de la búsqueda de texto completo de MySQL. Tiene muchas más opciones, pero puede ser un poco más difícil hacer que funcione como a ti te gusta.
Este documento le indica cómo clasificar los resultados de su búsqueda, pero le recomiendo que lea la sección de texto completo del manual para tener una idea de lo que puede hacer con él:http://www.postgresql.org/docs/current/interactive/textsearch-controls.html#TEXTSEARCH-RANKING
Básicamente, el equivalente de su consulta sería esta:
SELECT pictures.id, ts_rank_cd(textsearch, 'phrase') AS score
FROM pictures
ORDER BY score DESC
Como puede ver, esto usa textsearch
que es algo que tendrás que definir tú mismo. Para la versión corta, lea:http://www.postgresql. org/docs/current/interactive/textsearch-tables.html
La consulta es esencialmente muy simple:
SELECT pictures.id, ts_rank_cd(to_tsvector('english', pictures.title), 'phrase') AS score
FROM pictures
ORDER BY score DESC
Pero recomendaría encarecidamente agregar índices también:
CREATE INDEX pictures_title ON pictures USING gin(to_tsvector('english', title));