Dette udtryk:
to_tsvector('simple', (COALESCE(title::TEXT), ''))
er ikke sargerbar i forhold til dit indeks.
Du bør erklære indekset på netop det udtryk, som bruges i forespørgslen:
CREATE INDEX products_gin_title
ON products
USING GIN(to_tsvector('simple', COALESCE(title::TEXT,'')))
(eller få rubin til at generere det udtryk, der bruges i indekset).
Hvis du ønsker, at flere kolonner skal indekseres, skal du blot sammenkæde dem:
CREATE INDEX products_gin_title
ON products
USING GIN(to_tsvector('simple', title || ' ' || product_type || ' ' || platform_id))
men igen, Ruby burde filtrere på nøjagtig det samme udtryk for at indekset kan bruges.