Re: Tsearch limitations - Mailing list pgsql-general

From psql-mail@freeuk.com
Subject Re: Tsearch limitations
Date
Msg-id E19mCCP-000DP3-00@buckaroo.freeuk.net
Whole thread Raw
In response to Tsearch limitations  (Mat <psql-mail@freeuk.com>)
Responses Re: Tsearch limitations  (Oleg Bartunov <oleg@sai.msu.su>)
List pgsql-general
Oleg,

I understand (i think) how the parser breaks up the input into words
and builds ts_vector's.

And i understand how to do queries as described into the documentation.
(I have read it!)

SELECT * FROM vectors WHERE vector @@ to_tsquery('(leads|forks) & !
crawl')

But i haven't seen any mention of if i add the word:

cathedral

if there is any query which will match if I search for "thed".

The documentation seems to say that this cannot be done - but i'd just
like to check. Tsearch2 does everything i want except this.

"remember that the search operator @@ finds only exact matches between
query lexemes and vector lexemes � if they are not exactly the same
string, they will not be considered a match"


> Mat,
>
> there are several function you may use to see (please, read
documentation):
>
> apod=# select to_tsvector('Hi my email addres is psql-mail@freeuk.com'
);
>                     to_tsvector
> ----------------------------------------------------
>  'hi':1 'addr':4 'email':3 'psql-mail@freeuk.com':6
> (1 row)
>
> or, even better
>
> apod=# select * from ts_debug('Hi my email addres is psql-mail@freeuk.
com');
>      ts_name     | tok_type | description |        token         |
dict_name |        tsvector
> -----------------+----------+-------------+----------------------+----
-------+------------------------
>  default_russian | lword    | Latin word  | Hi                   | {
en_stem} | 'hi'
>  default_russian | lword    | Latin word  | my                   | {
en_stem} |
>  default_russian | lword    | Latin word  | email                | {
en_stem} | 'email'
>  default_russian | lword    | Latin word  | addres               | {
en_stem} | 'addr'
>  default_russian | lword    | Latin word  | is                   | {
en_stem} |
>  default_russian | email    | Email       | psql-mail@freeuk.com | {
simple}  | 'psql-mail@freeuk.com'
> (6 rows)
>
> You may write your own parser or preprocess text before tsearch.
>
>     Oleg
> On Mon, 11 Aug 2003, Mat wrote:
>
> > Can Tsearch be used to return substring matches?
> >
> > i.e
> >
> > Text to search: Hi my email addres is psql-mail@freeuk.com
> >
> > Query "psql" would match the email address?
> >
> > Query "mail" would also match?
> >
> > Query "reeu" would also match?
> >
> > Or is tsearch not suitable for this type of query? should i use FTI

> > instead?
> >
> > Thanks.
> >
> >
> > ---------------------------(end of broadcast)-----------------------
----
> > TIP 6: Have you searched our list archives?
> >
> >                http://archives.postgresql.org
> >
>
>     Regards,
>         Oleg
> _____________________________________________________________
> Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
> Sternberg Astronomical Institute, Moscow University (Russia)
> Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
> phone: +007(095)939-16-83, +007(095)939-23-83
>

--

pgsql-general by date:

Previous
From: ruben
Date:
Subject: Join faster than single table query
Next
From: Martijn van Oosterhout
Date:
Subject: Re: Join faster than single table query