Guest User

Untitled

a guest
Jan 18th, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. CREATE TABLE events (name text NOT NULL, description text NOT NULL);
  2.  
  3. INSERT INTO events VALUES
  4. ('Phaeleh Live','Phaeleh, one of the UK''s most vital production talents and a key innovator')
  5. ,('Radar 009','Radar Radio''s weekly parties re-launch for 2018 with some of their biggest line-ups yet.')
  6. ,('14anger','Collector of techno classics, admirer of futuristic sequencing, he weaves these together for an eternal timed prophecy rave');
  7.  
  8. CREATE MATERIALIZED VIEW unique_lexeme AS
  9. SELECT word FROM ts_stat(
  10. $TS_STAT$
  11. SELECT to_tsvector('simple', events.name) || to_tsvector('english', events.description) as document
  12. FROM events
  13. $TS_STAT$);
  14.  
  15. WITH word_similarity AS (
  16. SELECT word
  17. FROM unique_lexeme
  18. WHERE similarity(word, 'par') > 0.1
  19. ORDER BY word <-> 'par'
  20. LIMIT 1
  21. )
  22. SELECT events_name,
  23. events_description
  24. FROM (
  25. SELECT events.name AS events_name,
  26. events.description AS events_description,
  27. to_tsvector('simple', events.name) || to_tsvector('english', events.description) as document
  28. FROM events) events_search, word_similarity
  29. WHERE events_search.document @@ to_tsquery('english', word_similarity.word || ':*')
  30. ORDER BY ts_rank(events_search.document, to_tsquery('english', word_similarity.word || ':*')) DESC;
Add Comment
Please, Sign In to add comment