Обсуждение: question about to_tsvector and to_tsquery
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
--
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
E-post: martin@norpan.org
Kärrhöksvägen 4
656 72 Skattkärr
=?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