PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come creare correttamente il dizionario del thesaurus per la mia configurazione di ricerca di testo personalizzata

Hai fatto tutto bene, con alcune eccezioni:

  • thesaurus_my_swedish.ths non dovrebbe essere vuoto, ma contenere regole come questa (tratto dal tuo esempio):

    hello world : hw
    
  • Dovresti usare il nuovo dizionario per tutti i tipi di token che ora usano swedish_stem , cioè

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

Questo errore è misterioso e non avrebbe dovuto verificarsi:

ERROR:  text search configuration "my_swedish" does not exist

Forse ti sei connesso al database sbagliato, o hai abbandonato di nuovo la configurazione, o non è nel search_path e devi qualificarlo con il suo schema. Usa \dF *.* in psql per elencare tutte le configurazioni esistenti.

Ovviamente devi creare il dizionario prima di poterlo utilizzare in una configurazione di ricerca di testo.

Non modificare le configurazioni in pg_catalog , tali modifiche andrebbero perse dopo un aggiornamento.