sql >> Databasteknik >  >> RDS >> PostgreSQL

Korrekt fulltextindex Rails/PostgreSQL/pg_search

Detta uttryck:

to_tsvector('simple', (COALESCE(title::TEXT), ''))

är inte sargbar mot ditt index.

Du bör deklarera indexet på exakt det uttrycket som används i frågan:

CREATE INDEX products_gin_title
ON products
USING GIN(to_tsvector('simple', COALESCE(title::TEXT,'')))

(eller få ruby ​​att generera uttrycket som används i indexet).

Om du vill att flera kolumner ska indexeras, sammanfoga dem bara:

CREATE INDEX products_gin_title
ON products
USING GIN(to_tsvector('simple', title || ' ' || product_type || ' ' || platform_id))

men återigen, Ruby bör filtrera på exakt samma uttryck för att indexet ska vara användbart.




  1. Looping cursor kastar fel att markören inte är definierad

  2. Hur man designar en enkel databas

  3. Postgres lösenordsautentisering misslyckas

  4. PHP Förberedd uttalande inloggning