X-Original-To: pgsql-sql-postgresql.org@localhost.postgresql.org Received: from localhost (unknown [200.46.204.144]) by svr1.postgresql.org (Postfix) with ESMTP id DDD89D1B23F for ; Mon, 12 Jul 2004 09:53:23 -0300 (ADT) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (av.hub.org [200.46.204.144]) (amavisd-new, port 10024) with ESMTP id 17418-07 for ; Mon, 12 Jul 2004 12:53:27 +0000 (GMT) Received: from matrix.gatewaynet.com (matrix.gatewaynet.com [217.19.69.50]) by svr1.postgresql.org (Postfix) with ESMTP id 535ADD1B23C for ; Mon, 12 Jul 2004 09:53:16 -0300 (ADT) Received: from matrix.gatewaynet.com (localhost.localdomain [127.0.0.1]) by matrix.gatewaynet.com (8.12.8/8.12.8) with ESMTP id i6CC34Qr003762; Mon, 12 Jul 2004 15:03:04 +0300 Received: from localhost (achill@localhost) by matrix.gatewaynet.com (8.12.8/8.12.8/Submit) with ESMTP id i6CC34jU003758; Mon, 12 Jul 2004 15:03:04 +0300 Date: Mon, 12 Jul 2004 15:03:04 +0300 (EEST) From: Achilleus Mantzios To: Rajesh Kumar Mallah Cc: pgsql-sql@postgresql.org Subject: Re: Comparing tsearch2 vectors. In-Reply-To: <40F28551.3030605@trade-india.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Virus-Scanned: by amavisd-new at hub.org X-Spam-Status: No, hits=0.0 tagged_above=0.0 required=5.0 tests= X-Spam-Level: X-Archive-Number: 200407/68 X-Sequence-Number: 18320 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 where idxfti @@ to_tsquery(); 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