Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # ranked_txtsearch_hospital_trigger definition
- BEGIN
- NEW.txtsearch_idx_col :=
- setweight(to_tsvector('pg_catalog.english',COALESCE(NEW.short_name,'')),'A') ||
- setweight(to_tsvector('pg_catalog.english',COALESCE(NEW.name,'')),'A') ||
- setweight(to_tsvector('pg_catalog.english',COALESCE(NEW.short_name_legends,'')),'A') ||
- setweight(to_tsvector('pg_catalog.english',COALESCE(NEW.city,'')), 'B') ||
- setweight(to_tsvector('pg_catalog.english',COALESCE(NEW.street,'')), 'C');
- RETURN NEW;
- END
- # TRIGGER ON hospital TABLE
- ranked_hospital_tsvector_update BEFORE INSERT OR UPDATE ON hospital FOR EACH ROW EXECUTE PROCEDURE ranked_txtsearch_hospital_trigger()
- # my query
- SELECT
- h.short_name AS name,
- h.city,
- h.state,
- h.street,
- h.id,
- ts_rank('{0,0,0.10,0.90}',
- h.txtsearch_idx_col,q) AS therank,
- q
- FROM
- to_tsquery('english','" . implode(' & ', explode(" ", trim($term))) . "') AS q,
- hospital h
- WHERE
- h.txtsearch_idx_col @@ q
- ORDER BY therank DESC
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement