PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Правилен пълен текстов индекс Rails/PostgreSQL/pg_search

Този израз:

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 трябва да филтрира точно същия израз, за ​​да бъде полезен индексът.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да получа първичния ключ(и) на таблица от Postgres чрез plpgsql?

  2. Django+Postgres:текущата транзакция е прекратена, командите се игнорират до края на блока на транзакцията

  3. Postgres време с равенство на часовата зона

  4. sqlalchemy множество външни ключове към една и съща таблица

  5. Симулирате CREATE DATABASE, АКО НЕ СЪЩЕСТВУВА за PostgreSQL?