Обсуждение: question about to_tsvector and to_tsquery

Поиск
Список
Период
Сортировка

question about to_tsvector and to_tsquery

От
Martin Norbäck Olivers
Дата:
Is there any more information on exactly how to_tsquery and to_tsvector are supposed to work?

select to_tsvector('simple', '1.b') gives '1':1 'b':2
but
select to_tsvector('simple', '1.bb') gives '1.bb':1

select to_tsquery('simple', '1.b:*') gives '1':* & 'b':*
but
select to_tsquery('simple', '1.bb:*') gives '1.bb':*

Regards,
Martin

--
Martin Norbäck Olivers
IT-konsult, Masara AB
Telefon: +46 703 22 70 12
Kärrhöksvägen 4
656 72 Skattkärr

Re: question about to_tsvector and to_tsquery

От
Tom Lane
Дата:
=?UTF-8?Q?Martin_Norb=C3=A4ck_Olivers?= <martin@norpan.org> writes:
> Is there any more information on exactly how to_tsquery and to_tsvector are
> supposed to work?

> select to_tsvector('simple', '1.b') gives '1':1 'b':2
> but
> select to_tsvector('simple', '1.bb') gives '1.bb':1

ts_debug gives a little bit of insight:

postgres=# select * from ts_debug('simple', '1.b');
   alias   |   description    | token | dictionaries | dictionary | lexemes 
-----------+------------------+-------+--------------+------------+---------
 uint      | Unsigned integer | 1     | {simple}     | simple     | {1}
 blank     | Space symbols    | .     | {}           |            | 
 asciiword | Word, all ASCII  | b     | {simple}     | simple     | {b}
(3 rows)

postgres=# select * from ts_debug('simple', '1.bb');
 alias | description | token | dictionaries | dictionary | lexemes 
-------+-------------+-------+--------------+------------+---------
 host  | Host        | 1.bb  | {simple}     | simple     | {1.bb}
(1 row)

I don't know the exact rules that cause classification of something
as a "host" token.  It does seem a little weird that length matters.

            regards, tom lane