Запрос:
| Код | create table public.price ( id bigint, name varchar );
create index idx01 on public.price using gin(to_tsvector('russian', name));
|
Заполнил таблицу. Внимание, запрос:
| Код | SELECT name, ts_rank_cd(to_tsvector('russian', name), q) AS r FROM ratiss.price, to_tsquery('russian', 'САХАР') AS q WHERE to_tsvector('russian', name) @@ q
|
Получаю такой ответ:
| Код | САХАР-ПЕСОК 0.10000000149011600 ЗАМЕНИТЕЛЬ САХАРА ЦИКЛАМАТ НАТРИЯ 0.10000000149011600 САХАР-ПЕСОК 0.10000000149011600 СТЕКЛО ДЕКОРАТИВНОЕ 4ММХ1.65Х2.16М УЗОРЧАТОЕ САХАРА ЦВЕТ ЖЕЛТЫЙ 0.10000000149011600 ЗАМЕНИТЕЛЬ САХАРА АЦЕСУЛЬФАМ 0.10000000149011600 ЗАМЕНИТЕЛЬ САХАРА СМЕСЕВЫЙ АССОРТ. 0.10000000149011600 САХАР-РАФИНАД 0.10000000149011600 САХАР-ПЕСОК 0.10000000149011600 МЕШОК ПОЛИПРОПИЛЕНОВЫЙ 300Х500ММ 5-7КГ Д/МУКИ, САХАРА, РИСА, ГРЕЧКИ С ЛОГОТИПОМ АССОРТ. ИЗГОТОВЛЕНИЕ 0.10000000149011600 .........
|
Т.е. при любом сравнении получаю одну и ту же оценку (для конкретного tsquery). Такая же ситуация и с латиницей к стати ("SONY", "SAMSUNG", ...).
Может где-то что-то подкрутить? |