PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как правилно да създам речник на тезауруса за моята персонализирана конфигурация за търсене на текст

Направихте всичко правилно, с няколко изключения:

  • thesaurus_my_swedish.ths не трябва да е празен, но да съдържа правила като това (взето от вашия пример):

    hello world : hw
    
  • Трябва да използвате новия речник за всички типове токени, които сега използват swedish_stem , тоест

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

Тази грешка е мистериозна и не би трябвало да се случи:

ERROR:  text search configuration "my_swedish" does not exist

Може би сте се свързали с грешна база данни, или сте изпуснали конфигурацията отново, или тя не е в search_path и трябва да го квалифицирате с неговата схема. Използвайте \dF *.* в psql за да изброите всички съществуващи конфигурации.

Разбира се, трябва да създадете речника, преди да можете да го използвате в конфигурация за текстово търсене.

Не променяйте конфигурациите в pg_catalog , такива модификации ще бъдат загубени след надграждане.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. запитване на postgres db с node-postgres

  2. Използване на row_to_json() с вложени съединения

  3. Как да модифицирам или премахна конкретен JSON обект от JSON масив, съхраняван в тип колона jsonb в PostgreSQL, използвайки клауза where?

  4. unaccent() предотвратява използването на индекс в Postgres

  5. правилен начин за стартиране/спиране на база данни на postgres pg_ctl или услуга postgres