Re: How to perform full text search - Mailing list pgsql-general

From Andrus
Subject Re: How to perform full text search
Date
Msg-id 48CFF1D3F17843C89E8C1336DFE30B21@dell2
Whole thread Raw
In response to How to perform full text search  ("Andrus" <kobruleht2@hot.ee>)
Responses Re: How to perform full text search  (John R Pierce <pierce@hogranch.com>)
List pgsql-general
>Parse the entry string into words (aka tokens) and assemble with the and
>operator. E.g. 'red cat' becomes 'red & cat'. >Then add vector; more info
>in articles I provide links to later in this note.
>WHERE to_tsvector ( productname || ' ' || productdescription ) @@
>to_tsquery ( 'red & cat' )

Since there were no responces for a while, I went with another solution.
Splitted search string to words like you but converted query to

select
+case when productname ilike '%red%'  then 2 else 0 end
+case when productdescription ilike '%red%'  then 1 else 0 end
+case when productname ilike '%cat%'  then 1.7 else 0 end
+case when productdescription ilike '%cat%'  then 0.7 else 0 end
from products
order by 1 desc
limit 100

This allows to define relevance.
Is my solution reasonable ?

Andrus

pgsql-general by date:

Previous
From: jgenoese
Date:
Subject: Ubuntu 11.10 Postgres 9.1.3 is missing pg_resetxlog; where can I get it?
Next
From: John R Pierce
Date:
Subject: Re: How to perform full text search