Pencarian teks lengkap Postgres sedikit berbeda dari pencarian teks lengkap MySQL. Ini memiliki lebih banyak pilihan tetapi bisa sedikit lebih sulit untuk bekerja sesuai keinginan Anda.
Dokumen ini memberi tahu Anda cara menentukan peringkat hasil pencarian Anda, tetapi saya sangat menyarankan Anda membaca seluruh bagian teks lengkap dari manual untuk mendapatkan ide tentang apa yang dapat Anda lakukan dengannya:http://www.postgresql.org/docs/current/interactive/textsearch-controls.html#TEXTSEARCH-RANKING
Pada dasarnya, yang setara dengan kueri Anda adalah ini:
SELECT pictures.id, ts_rank_cd(textsearch, 'phrase') AS score
FROM pictures
ORDER BY score DESC
Seperti yang Anda lihat, ini menggunakan textsearch
yang merupakan sesuatu yang harus Anda definisikan sendiri. Untuk versi singkat, baca:http://www.postgresql. org/docs/current/interactive/textsearch-tables.html
Permintaannya pada dasarnya sangat sederhana:
SELECT pictures.id, ts_rank_cd(to_tsvector('english', pictures.title), 'phrase') AS score
FROM pictures
ORDER BY score DESC
Tapi saya sangat menyarankan untuk menambahkan indeks juga:
CREATE INDEX pictures_title ON pictures USING gin(to_tsvector('english', title));