Странное поведение ts_headline
От | Andrey N. Oktyabrski |
---|---|
Тема | Странное поведение ts_headline |
Дата | |
Msg-id | 493E591F.1080905@antora.ru обсуждение исходный текст |
Список | pgsql-ru-general |
Столкнулись с такой проблемой: при вызове ts_headline с длинным текстом во втором параметре, подсвечивается только одно найденное слово в тексте, независимо от того, сколько слов искали, и сколько слов найдено в тексте. Причём, подсвеченое слово всегда первое в возвращаемом фрагменте. Может, не очень понятно описал, приведу пример. Вот с коротким текстом: ano=# select ts_headline('russian', 'Сотрудники же сосредоточены на том, чтобы предлагать клиенту наиболее сложные финансовые продукты. Потом много всяких словьев про офисы, в особенности про офисы самообслуживания, которые надо подсветить как надо', to_tsquery('офис & самообслуживания')); ts_headline ----------------------------------------------------------------------- всяких словьев про <b>офисы</b>, в особенности про <b>офисы</b> <b>самообслуживания</b>, которые надо подсветить как надо А вот то же самое, но от длинной статьи: ano=# select ts_headline('russian', content, to_tsquery('офис & самообслуживания')) from article, fts_text where article.id = fts_text.id and fts_text.vector @@ to_tsquery('офис & самообслуживания') limit 1; ts_headline ----------------------------------------------------------------------- <b>самообслуживания</b>. Сотрудники же сосредоточены на том, чтобы предлагать клиенту наиболее сложные финансовые продукты. А все системы банка помогают им в этом – подсказывая, какие продукты наиболее проходные в данной ситуации именно для этой категории клиентов Кто знает, как бороть?
В списке pgsql-ru-general по дате отправления: