sql >> Base de Datos >  >> RDS >> PostgreSQL

Cómo crear correctamente un diccionario de sinónimos para mi configuración de búsqueda de texto personalizada

Hiciste todo bien, con algunas excepciones:

  • thesaurus_my_swedish.ths no debe estar vacío, pero contener reglas como esta (tomado de su ejemplo):

    hello world : hw
    
  • Debe usar el nuevo diccionario para todos los tipos de tokens que ahora usan swedish_stem , eso es

    ALTER TEXT SEARCH CONFIGURATION my_swedish
       ALTER MAPPING FOR asciihword, asciiword, hword, word
       WITH thesaurus_my_swedish, swedish_stem;
    

Este error es misterioso y no debería haber ocurrido:

ERROR:  text search configuration "my_swedish" does not exist

Tal vez se conectó a la base de datos incorrecta, o descartó la configuración nuevamente, o no está en search_path y hay que matizarlo con su esquema. Utilice \dF *.* en psql para listar todas las configuraciones existentes.

Por supuesto, debe crear el diccionario antes de poder usarlo en una configuración de búsqueda de texto.

No modifique las configuraciones en pg_catalog , tales modificaciones se perderían después de una actualización.