From: Achilleus Mantzios <achill@matrix.gatewaynet.com>
To: Rajesh Kumar Mallah <mallah@trade-india.com>
Cc: pgsql-sql@postgresql.org
Subject: Re: Comparing tsearch2 vectors.
Date: Mon, 12 Jul 2004 15:03:04 +0300 (EEST)
Message-ID: <Pine.LNX.4.44.0407121454040.3671-100000@matrix.gatewaynet.com> (raw)
In-Reply-To: <40F28551.3030605@trade-india.com>
O kyrios Rajesh Kumar Mallah egrapse stis Jul 12, 2004 :
>
>
> Dear Mantzios,
>
> I have to get set of banners from database in
> response to a search term. I want that the search term
> be compared to the keyword corresponding to the
> banners stored in database. current i am doing an
> equality match but i woild like to do it after stemming
> both the sides (serch term and keywords).
You could transform your search terms so that there is the "&"
separator between them. (& stands for "AND").
E.g. "handicrafts exporter" becomes "handicrafts&exporter"
And then
select * from <your table> where idxfti @@ to_tsquery(<searchterms>);
where idxfti is your tsvector column.
E.g.
# SELECT to_tsvector('handycrafts exporters') @@ to_tsquery('handycraft&exporting');
?column?
----------
t
(1 row)
>
> So that the banners for the adword say 'incense exporter' is
> shown even if 'incenses exporter' or 'incense exporters' is
> searched.
>
> I hope i am able to clarify.
>
> Regds
> Mallah.
>
> Achilleus Mantzios wrote:
>
> >O kyrios Rajesh Kumar Mallah egrapse stis Jul 12, 2004 :
> >
> >
> >
> >>Hi,
> >>
> >>We want to compare strings after stemming. Can anyone
> >>tell me what is the best method. I was thinking to compare
> >>the tsvector ,but there is no operator for that.
> >>
> >>
> >
> >I'd tokenize each string and then apply lexize() to get the
> >equivalent stemified
> >word, but what exactly are you trying to accomplish?
> >
> >
> >
> >>Regds
> >>Mallah.
> >>
> >>
> >>
> >>tradein_clients=# SELECT to_tsvector('handicraft exporters');
> >>+---------------------------+
> >>| to_tsvector |
> >>+---------------------------+
> >>| 'export':2 'handicraft':1 |
> >>+---------------------------+
> >>(1 row)
> >>
> >>Time: 710.315 ms
> >>tradein_clients=#
> >>tradein_clients=# SELECT to_tsvector('handicrafts exporter');
> >>+---------------------------+
> >>| to_tsvector |
> >>+---------------------------+
> >>| 'export':2 'handicraft':1 |
> >>+---------------------------+
> >>(1 row)
> >>
> >>Time: 400.679 ms
> >>tradein_clients=# SELECT to_tsvector('Hi there') = to_tsvector('Hi there');
> >>ERROR: operator does not exist: tsvector = tsvector
> >>HINT: No operator matches the given name and argument type(s). You may
> >>need to add explicit type casts.
> >>tradein_clients=#
> >>
> >>
> >>
> >>
> >
> >
> >
>
>
>
--
-Achilleus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: achill@matrix.gatewaynet.com, mallah@trade-india.com
Subject: Re: Comparing tsearch2 vectors.
In-Reply-To: <Pine.LNX.4.44.0407121454040.3671-100000@matrix.gatewaynet.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox