Re: [GENERAL] Index greater than 8k

Поиск
Список
Период
Сортировка
От Teodor Sigaev
Тема Re: [GENERAL] Index greater than 8k
Дата
Msg-id 45477F73.8050904@sigaev.ru
обсуждение исходный текст
Ответ на Re: [GENERAL] Index greater than 8k  (Darcy Buskermolen <darcyb@commandprompt.com>)
Ответы Re: [GENERAL] Index greater than 8k  (Darcy Buskermolen <darcyb@commandprompt.com>)
Re: [GENERAL] Index greater than 8k  ("Joshua D. Drake" <jd@commandprompt.com>)
Список pgsql-hackers
> The problem as I remember it is pg_tgrm not tsearch2 directly, I've sent a
> self contained test case directly to  Teodor  which shows the error.
>
> 'ERROR:  index row requires 8792 bytes, maximum size is 8191'
Uh, I see. But I'm really surprised why do you use pg_trgm on big text? pg_trgm
is designed to find similar words and use technique known as trigrams. This will
  work good on small pieces of text such as words or set expression. But all big
texts (on the same language) will be similar :(. So, I didn't take care about
guarantee that index tuple's size limitation. In principle, it's possible to
modify pg_trgm to have such guarantee, but index becomes lossy - all tuples
gotten  from index should be checked by table's tuple evaluation.

If you want to search similar documents I can recommend to have a look to
fingerprint technique (http://webglimpse.net/pubs/TR93-33.pdf). It's pretty
close to trigrams and metrics of similarity is the same, but uses another
signature calculations. And, there are some tips and trics: removing HTML
marking,removing punctuation, lowercasing text and so on - it's interesting and
complex task.
--
Teodor Sigaev                                   E-mail: teodor@sigaev.ru
                                                    WWW: http://www.sigaev.ru/

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: [PATCHES] WAL logging freezing
Следующее
От: "Chuck McDevitt"
Дата:
Сообщение: Re: [SQL] Case Preservation disregarding case