Skip to content

Instantly share code, notes, and snippets.

@Jaco-Pretorius
Created October 24, 2016 19:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Jaco-Pretorius/e337050c0ed2e1f6a6b09ceb61e45720 to your computer and use it in GitHub Desktop.
Save Jaco-Pretorius/e337050c0ed2e1f6a6b09ceb61e45720 to your computer and use it in GitHub Desktop.
associated_against - after
SELECT "products".*
FROM "products"
inner join
(
SELECT "products"."id" AS pg_search_id,
GREATEST(
pg_search_455a24ed3ca763c7a72181.pg_search_9f77ffbdbddcb603b080a8,
(Ts_rank((To_tsvector('simple', Coalesce("products"."name"::text, ''))
|| To_tsvector('simple', Coalesce(pg_search_455a24ed3ca763c7a72181.pg_search_9f77ffbdbddcb603b080a8::text, ''))), (To_tsquery('simple', ''' '
|| 'QueryString'
|| ' '''
|| ':*')), 0))
) AS rank
FROM "products"
left outer join
(
SELECT "products"."id" AS id,
MAX(
(Ts_rank((To_tsvector('simple', Coalesce("tags"."name"::text, ''))), (To_tsquery('simple', ''' '
|| 'QueryString'
|| ' '''
|| ':*')), 0))
) AS pg_search_9f77ffbdbddcb603b080a8
FROM "products"
inner join "products_tags"
ON "products_tags"."product_id" = "products"."id"
inner join "tags"
ON "tags"."id" = "products_tags"."tag_id"
WHERE (To_tsvector('simple', Coalesce("tags"."name"::text, ''))) @@ (To_tsquery('simple', ''' ' || 'QueryString' || ' ''' || ':*'))
GROUP BY "products"."id") pg_search_455a24ed3ca763c7a72181
ON pg_search_455a24ed3ca763c7a72181.id = "products"."id"
WHERE pg_search_455a24ed3ca763c7a72181.id IS NOT NULL OR (((
To_tsvector('simple', Coalesce("products"."name"::text, ''))) @@ (to_tsquery('simple', ''' '
|| 'QueryString'
|| ' '''
|| ':*'))))) AS pg_search_02b78575ff05a3f5042de1
ON "products"."id" = pg_search_02b78575ff05a3f5042de1.pg_search_id
ORDER BY pg_search_02b78575ff05a3f5042de1.rank DESC, "products"."id" ASC limit 50 offset 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment