Postgresの全文検索は、MySQLの全文検索とは少し異なります。選択肢はたくさんありますが、好きなように動作させるのは少し難しいかもしれません。
このドキュメントでは検索結果をランク付けする方法を説明していますが、マニュアルの全文セクション全体を読んで、それを使って何ができるかを理解することを強くお勧めします。 http://www.postgresql.org/docs/current/interactive/textsearch-controls.html#TEXTSEARCH-RANKING
基本的に、クエリに相当するものは次のとおりです。
SELECT pictures.id, ts_rank_cd(textsearch, 'phrase') AS score
FROM pictures
ORDER BY score DESC
ご覧のとおり、これはtextsearch
を使用します これはあなたが自分で定義しなければならないものです。短いバージョンについては、次をお読みください: http://www.postgresql。 org / docs / current / Interactive / textsearch-tables.html
クエリは基本的に非常に単純です:
SELECT pictures.id, ts_rank_cd(to_tsvector('english', pictures.title), 'phrase') AS score
FROM pictures
ORDER BY score DESC
ただし、インデックスも追加することを強くお勧めします:
CREATE INDEX pictures_title ON pictures USING gin(to_tsvector('english', title));