Las opciones para la búsqueda e indexación de texto incluyen:
-
indexación de texto completo con búsqueda basada en diccionario, incluida la compatibilidad con la búsqueda de prefijos, por ejemplo,
to_tsvector(mycol) @@ to_tsquery('search:*')
-
text_pattern_ops
índices para admitir coincidencias de cadenas de prefijos, por ejemplo,LIKE 'abc%'
pero no búsquedas infijas como%blah%
;. Unreverse()
El índice d se puede utilizar para la búsqueda de sufijos. -
pg_tgrm
índices de trigramas en versiones más nuevas como se demuestra en este dba reciente Publicación de .stackexchange.com . -
Una herramienta externa de búsqueda e indexación como Apache Solr .
A partir de la información mínima proporcionada anteriormente, diría que solo un índice de trigramas podrá ayudarlo, ya que está realizando búsquedas infijas en una cadena y no buscando palabras en el diccionario. Desafortunadamente, los índices de trigramas son enormes y bastante ineficiente; no espere algún tipo de aumento de rendimiento mágico, y tenga en cuenta que el motor de la base de datos requiere mucho trabajo para compilarse y mantenerse actualizado.