Thread: any solution for full text search in Postgres for partial words

any solution for full text search in Postgres for partial words

From
"Liu, Mingyi"
Date:
Sorry if this question has been asked before.  I tried to search in postgres mailing lists at
http://archives.postgresql.org/pgsql-general/just now and it gave me error "An error occured! Can not connect to search
daemon".

Anyway I installed tsearch2 and openFTS and was able to do some searches.  However, when I checked searching partial
words,it of course does not work (unless the partial word just happens to be the indexed version).  IMHO, this is a
significantdrawback for the FTI as compared to the plain "select * from a where b ilike '%abc%'" which could find the
partialwords and would not disappoint web users who tried partial words searching.  So my question's three-fold: 

1. Is there existing open-source FTI for postgres that allows partial words search?
2. What's the main advantage of tsearch2 over plain sql in searching full text besides speed?  For the DB I'm working
onthe performance of plain sql is just fine even if I use "where col1 ilike '%abc%' or col2 ilike '%abc%' or ...', so
mythinking is that I might be better off using just sql. 
3. Is there a way to define whole-postgres-DB full text search with tsearch2 or openFTS?  This would be convenient, and
shouldbe used by many postgres-DB-supported sites, although not essential. 

BTW, I know I can ask the question on the openFTS mailing list too, but that list seems to be used fairly infrequently.
It is also more general than openFTS and more related to postgreSQL solutions. 

Thanks,

Mingyi

Re: any solution for full text search in Postgres for partial words

From
Alvaro Herrera
Date:
On Wed, Aug 25, 2004 at 11:14:36AM -0400, Liu, Mingyi wrote:

> 1. Is there existing open-source FTI for postgres that allows partial words search?

I think a trigram-based solution could help you here.  In 8.0beta there
is a contrib/pg_trgm module that implements such a thing.  It isn't
present on previous versions of Postgres though.

See
http://www.sai.msu.su/~megera/oddmuse/index.cgi/ReadmeTrgm

--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
Hi! I'm a .signature virus!
cp me into your .signature file to help me spread!