PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como criar corretamente o dicionário de sinônimos para minha configuração de pesquisa de texto personalizada


Você fez tudo certo, com algumas exceções:

  • thesaurus_my_swedish.ths não deve estar vazio, mas conter regras como esta (retiradas do seu exemplo):
    hello world : hw
    

  • Você deve usar o novo dicionário para todos os tipos de token que agora usam swedish_stem , isso é
    ALTER TEXT SEARCH CONFIGURATION my_swedish
       ALTER MAPPING FOR asciihword, asciiword, hword, word
       WITH thesaurus_my_swedish, swedish_stem;
    

Este erro é misterioso e não deveria ter acontecido:
ERROR:  text search configuration "my_swedish" does not exist

Talvez você tenha se conectado ao banco de dados errado ou tenha descartado a configuração novamente, ou não está no search_path e você tem que qualificá-lo com seu esquema. Use \dF *.* em psql para listar todas as configurações existentes.

Claro que você precisa criar o dicionário antes de poder usá-lo em uma configuração de pesquisa de texto.

Não modifique as configurações em pg_catalog , tais modificações seriam perdidas após uma atualização.