Този израз:
to_tsvector('simple', (COALESCE(title::TEXT), ''))
не може да се сърфира спрямо вашия индекс.
Трябва да декларирате индекса на точно този израз, който се използва в заявката:
CREATE INDEX products_gin_title
ON products
USING GIN(to_tsvector('simple', COALESCE(title::TEXT,'')))
(или накарайте ruby да генерира израза, който се използва в индекса).
Ако искате няколко колони да бъдат индексирани, просто ги свържете:
CREATE INDEX products_gin_title
ON products
USING GIN(to_tsvector('simple', title || ' ' || product_type || ' ' || platform_id))
но отново, Ruby трябва да филтрира точно същия израз, за да бъде полезен индексът.