Tìm kiếm toàn văn bản Postgres hơi khác một chút so với tìm kiếm toàn văn bản MySQL. Nó có nhiều tùy chọn hơn nhưng có thể khó hơn một chút để làm việc theo cách bạn thích.
Tài liệu này cho bạn biết cách xếp hạng kết quả tìm kiếm của mình, nhưng tôi thực sự khuyên bạn nên đọc toàn bộ phần toàn văn từ sách hướng dẫn để có ý tưởng về những gì bạn có thể làm với nó:http://www.postgresql.org/docs/current/interactive/textsearch-controls.html#TEXTSEARCH-RANKING
Về cơ bản, tương đương với truy vấn của bạn sẽ là:
SELECT pictures.id, ts_rank_cd(textsearch, 'phrase') AS score
FROM pictures
ORDER BY score DESC
Như bạn thấy, điều này sử dụng textsearch
đó là điều mà bạn sẽ phải tự xác định. Đối với phiên bản ngắn, hãy đọc: http://www.postgresql. org / docs / current /ractive / textsearch -boards.html
Về cơ bản, truy vấn rất đơn giản:
SELECT pictures.id, ts_rank_cd(to_tsvector('english', pictures.title), 'phrase') AS score
FROM pictures
ORDER BY score DESC
Nhưng tôi thực sự khuyên bạn nên thêm các chỉ mục:
CREATE INDEX pictures_title ON pictures USING gin(to_tsvector('english', title));