From: | "Trevor Talbot" <quension(at)gmail(dot)com> |
---|---|
To: | "Peter Eisentraut" <peter_e(at)gmx(dot)net> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Simplifying Text Search |
Date: | 2007-11-14 22:41:37 |
Message-ID: | 90bce5730711141441s9309846l2ccf7fa4782a5b00@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 11/14/07, Peter Eisentraut <peter_e(at)gmx(dot)net> wrote:
> I wrote:
> > What we'd need is a way to convert a LIKE pattern into a tsquery
> > ('%foo%bar%' => 'foo & bar'). Then you might even be able to sneak
> > index-optimized text search into existing applications. Might be worth a
> > try.
>
> Here is how this could work:
>
> CREATE FUNCTION likepattern_to_tsquery(text) RETURNS tsquery
[...]
But that coversion itself is fundamentally flawed, is the problem.
'foo bar'
'fooandbar'
'barfoo and foobar'
'%foo%bar%' matches all 3.
'foo & bar' matches only the first.
If the application currently using LIKE actually wants a word-based
search, it should probably just convert to using tsearch wholesale,
since it doesn't work as intended now. If it actually wants wildcard
matching behavior, it can't use tsearch at all.
From | Date | Subject | |
---|---|---|---|
Next Message | Oleg Bartunov | 2007-11-14 22:49:19 | Re: Simplifying Text Search |
Previous Message | Tom Lane | 2007-11-14 22:32:16 | Re: Simplifying Text Search |