From: | "Andrey N(dot) Oktyabrski" <ano(at)antora(dot)ru> |
---|---|
To: | pgsql-ru-general(at)postgresql(dot)org |
Subject: | Странное поведение ts_headline |
Date: | 2008-12-09 11:40:15 |
Message-ID: | 493E591F.1080905@antora.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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>. Сотрудники же сосредоточены на том, чтобы
предлагать клиенту наиболее сложные финансовые продукты. А все системы
банка помогают им в этом – подсказывая, какие продукты наиболее
проходные в данной ситуации именно для этой категории клиентов
Кто знает, как бороть?
From | Date | Subject | |
---|---|---|---|
Next Message | Dmitry Turin | 2008-12-09 14:46:20 | freelancers for SQL50 |
Previous Message | Maxim Boguk | 2008-12-03 06:39:45 | Re: чёртово округление |