Tengo una consulta con un número de campos de prueba de algo como esto:Postgresql ILIKE frente tsearch
SELECT * FROM some-table
WHERE field1 ILIKE "%thing%"
OR field2 ILIKE "%thing"
OR field3 ILIKE "%thing";
Las columnas son más o menos todo varchar (50), más o menos. Ahora entiendo que para mejorar el rendimiento debería indexar los campos sobre los que opera la búsqueda. ¿Debería considerar reemplazar ILIKE por TSEARCH por completo?
pg_trgm es muy útil. Para usuarios de Django: index on 'upper (your_text_field)' porque Django emite 'upper (x) como upper (y)' consultas en lugar de 'ilike'. Si el campo está indexado sin 'superior', el índice no se usará en esas consultas. – Risadinha