La recherche en texte intégral Postgres est un peu différente de la recherche en texte intégral MySQL. Il a beaucoup plus d'options mais peut être un peu plus difficile à faire fonctionner comme vous l'aimez.
Ce document vous indique comment classer vos résultats de recherche, mais je vous recommande vivement de lire l'intégralité de la section de texte intégral du manuel pour avoir une idée de ce que vous pouvez en faire :http://www.postgresql.org/docs/current/interactive/textsearch-controls.html#TEXTSEARCH-RANKING
En gros, l'équivalent de votre requête serait ceci :
SELECT pictures.id, ts_rank_cd(textsearch, 'phrase') AS score
FROM pictures
ORDER BY score DESC
Comme vous pouvez le voir, cela utilise textsearch
c'est quelque chose que vous devrez définir vous-même. Pour la version courte, lisez :http://www.postgresql. org/docs/current/interactive/textsearch-tables.html
La requête est essentiellement très simple :
SELECT pictures.id, ts_rank_cd(to_tsvector('english', pictures.title), 'phrase') AS score
FROM pictures
ORDER BY score DESC
Mais je recommanderais fortement d'ajouter également des index :
CREATE INDEX pictures_title ON pictures USING gin(to_tsvector('english', title));