Fulltextové vyhledávání Postgres je trochu odlišné od fulltextového vyhledávání MySQL. Má mnohem více možností, ale může být trochu obtížnější pracovat tak, jak se vám líbí.
Tento dokument vám řekne, jak seřadit výsledky vyhledávání, ale důrazně vám doporučuji, abyste si přečetli celý plný text z příručky, abyste získali představu o tom, co s tím můžete dělat:http://www.postgresql.org/docs/current/interactive/textsearch-controls.html#TEXTSEARCH-RANKING
V zásadě by ekvivalent vašeho dotazu byl tento:
SELECT pictures.id, ts_rank_cd(textsearch, 'phrase') AS score
FROM pictures
ORDER BY score DESC
Jak můžete vidět, toto používá textsearch
což je něco, co budete muset definovat sami. Krátkou verzi si přečtěte:http://www.postgresql. org/docs/current/interactive/textsearch-tables.html
Dotaz je v podstatě velmi jednoduchý:
SELECT pictures.id, ts_rank_cd(to_tsvector('english', pictures.title), 'phrase') AS score
FROM pictures
ORDER BY score DESC
Ale důrazně bych doporučil přidat i indexy:
CREATE INDEX pictures_title ON pictures USING gin(to_tsvector('english', title));