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

tsvector поддържа само английски?

Мина известно време, откакто си играх с това, но трябва да създадете ts_vector на правилния език, а не ts_query.

Така че, когато актуализирате таблицата си, използвайте:

UPDATE blog_entry SET body_tsv=to_tsvector('german', body);

Можете също така да разширите функционалността и да използвате речник на ispell, за да направите по-добро произтичане за текстовата търсачка (въпреки че все още няма да е толкова сложно, колкото напр. Solr)

За да направите това, изтеглете ISPELL речника, който е напр. съдържащ се в немски речник на OpenOffice

Файлът .oxt всъщност е .zip файл, така че можете просто да извлечете съдържанието му.

След това копирайте файла de_DE_frami.dic към директорията "share/tsearch_data" на PostgreSQL, докато променяте разширението на .dict (което очаква PostgreSQL.

След това копирайте файла de_DE_frami.aff в същата директория, променяйки разширението на .affix .

Трябва да конвертирате и двата (текстови) файла в UTF-8, за да могат да работят с PostgreSQL

След това регистрирайте този речник, като използвате:

CREATE TEXT SEARCH CONFIGURATION de_config (copy=german);

CREATE TEXT SEARCH DICTIONARY german_stem (
    TEMPLATE = snowball,
    Language = german
);

CREATE TEXT SEARCH DICTIONARY german_ispell (
    TEMPLATE = ispell,
    dictfile = de_DE_frami,
    afffile = de_de_frami
);

alter text search configuration de_config 
     alter mapping for asciiword WITH german_ispell, german_stem;

След като това стане, можете да създадете своя ts_vector с помощта на:

UPDATE blog_entry SET body_tsv=to_tsvector('de_config', body);

Това също е описано в ръководството:http ://www.postgresql.org/docs/current/static/textsearch-dictionaries.html#TEXTSEARCH-ISPELL-DICTIONARY



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL:как да инсталирате разширение plpythonu

  2. Обработка на изключения в PostgreSQL

  3. SQLAlchemy Text Съвпадение на данни в JSON поле с UTF-8

  4. Как да филтрирате резултатите от заявката в PostgreSQL

  5. Как да получите тригера(ите), свързан с изглед или таблица в PostgreSQL