_Алексей_V
Дата: 06.03.2015 00:58:49
Добрый.
PostgreSQL 9.3.3, compiled by Visual C++ build 1600, 32-bit
ENCODING = 'UTF8'
LC_COLLATE = 'Arabic_Saudi Arabia.1256'
LC_CTYPE = 'Arabic_Saudi Arabia.1256'
arabia.stop - заполнил по примеру, arabia.dict и arabia.affix пустые. файлы в UTF-8
CREATE TEXT SEARCH DICTIONARY mydict_Arabia_ispell (
TEMPLATE = ispell,
DictFile = Arabia,
AffFile = Arabia,
StopWords = Arabia
);
CREATE TEXT SEARCH CONFIGURATION public.mydict_ar (PARSER = default);
COMMENT ON TEXT SEARCH CONFIGURATION public.mydict_ar IS 'conf. for mydict ar';
ALTER TEXT SEARCH CONFIGURATION mydict_ar ADD MAPPING
FOR email, url, url_path, host, file, version,
sfloat, float, int, uint,
numword, hword_numpart, numhword
WITH simple;
ALTER TEXT SEARCH CONFIGURATION mydict_ar ADD MAPPING
FOR word, hword_part, hword
WITH mydict_Arabia_ispell;
выполняю
UPDATE fileinfo SET fts=
setweight( coalesce( to_tsvector('mydict_ar', filedata),''),'A');
поле fts - заполняется не из справочника, а как попало.
Первый раз с FTS работаю. Подскажите где я лапухнулся.
Ы
Дата: 07.03.2015 01:32:52
_Алексей_V,
арабского я, увы, не знаю, но… стоп-слова — это игнорируемые слова. В списки стоп-слов помещают те слова, что считаются слишком частотными, чтобы быть релевантными.
_Алексей_V
Дата: 10.03.2015 13:18:43
Спасибо, разобрался, все работает, проблема была в самом словаре.