Re: Tsearch limitations - Mailing list pgsql-general
From | Oleg Bartunov |
---|---|
Subject | Re: Tsearch limitations |
Date | |
Msg-id | Pine.GSO.4.56.0308111829250.20662@ra.sai.msu.su Whole thread Raw |
In response to | Re: Tsearch limitations (psql-mail@freeuk.com) |
Responses |
Re: Tsearch limitations
|
List | pgsql-general |
On Mon, 11 Aug 2003 psql-mail@freeuk.com wrote: > 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". No, tsearch2 is a word oriented search. It doesn't supports substring search. > > 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 > > > > 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: