Cerca parole chiave tra i post

Questa query ti consentirà di cercare in modo efficiente una parola chiave in tutti i post. Sarà significativamente più veloce di una query posts.raw LIKE, poiché utilizza la struttura dei dati di ricerca full text di PostgreSQL full text search.

-- [params]
-- string :query

SELECT p.id as post_id FROM posts p
LEFT JOIN post_search_data psd ON psd.post_id = p.id
WHERE psd.search_data @@ TO_TSQUERY(:query)
19 Mi Piace

Ciò che manca nel favoloso snippet di codice è la capacità di cercare per rango.

-- [params]
-- string :query

SELECT p.id as post_id, 
       ts_rank(psd.search_data, to_tsquery('english', :query)) AS rank
FROM posts p
LEFT JOIN post_search_data psd ON psd.post_id = p.id
WHERE psd.search_data @@ TO_TSQUERY(:query)
ORDER BY rank DESC
1 Mi Piace