Обсуждение: tsearch2 and case

Поиск
Список
Период
Сортировка

tsearch2 and case

От
"Uwe C. Schroeder"
Дата:
First of all: Happy Independence Day.

I've got a quick question for those with tsearch2 experience.
I set tsearch2 up and it works great (although I'd like to search for phrases
too, but I guess that's not supported at this time).
Anyways, I noted that the search seems to be case sensitive for some search
terms, particularly abbreviations. So if I'm searching with

to_tsquery('ABCD')  - where ABCD is a standard abbreviation, I get a lot of
hits, but I get none with to_tsquery('abcd') because the abbreviation is
always upper case in my text.

I'd like the search to be completely case insensitive. Can anyone point me in
the right direction?

Thanks for any help.

    UC

--
Open Source Solutions 4U, LLC    2570 Fleetwood Drive
Phone:  +1 650 872 2425        San Bruno, CA 94066
Cell:   +1 650 302 2405        United States
Fax:    +1 650 872 2417

Re: tsearch2 and case

От
Oleg Bartunov
Дата:
On Mon, 4 Jul 2005, Uwe C. Schroeder wrote:

>
> First of all: Happy Independence Day.
>
> I've got a quick question for those with tsearch2 experience.
> I set tsearch2 up and it works great (although I'd like to search for phrases
> too, but I guess that's not supported at this time).
> Anyways, I noted that the search seems to be case sensitive for some search
> terms, particularly abbreviations. So if I'm searching with
>
> to_tsquery('ABCD')  - where ABCD is a standard abbreviation, I get a lot of
> hits, but I get none with to_tsquery('abcd') because the abbreviation is
> always upper case in my text.
>
> I'd like the search to be completely case insensitive. Can anyone point me in
> the right direction?

use your own dictionary ! Read gendict tutorial for details.
http://www.sai.msu.su/~megera/oddmuse/index.cgi/Gendict
I would create simple dictionary abbrev which recognize your abbreviations
and use it first before any other dicts. btw, if you did it general enough
please share with us, so other people could use it.

>
> Thanks for any help.
>
>     UC
>
> --
> Open Source Solutions 4U, LLC    2570 Fleetwood Drive
> Phone:  +1 650 872 2425        San Bruno, CA 94066
> Cell:   +1 650 302 2405        United States
> Fax:    +1 650 872 2417
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
>               http://www.postgresql.org/docs/faq
>

     Regards,
         Oleg
_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83

Re: tsearch2 and case

От
Greg Stark
Дата:
Oleg Bartunov <oleg@sai.msu.su> writes:

> > I'd like the search to be completely case insensitive. Can anyone point me in
> > the right direction?
>
> use your own dictionary ! Read gendict tutorial for details.
> http://www.sai.msu.su/~megera/oddmuse/index.cgi/Gendict
> I would create simple dictionary abbrev which recognize your abbreviations
> and use it first before any other dicts. btw, if you did it general enough
> please share with us, so other people could use it.

Do functional indexes interact well with tsearch? Couldn't you just make your
index on lower(col) and then do to_tsquery(lower('ABCD')) ?


--
greg

Re: tsearch2 and case

От
Mike Rylander
Дата:
On 7/4/05, Uwe C. Schroeder <uwe@oss4u.com> wrote:
>
> First of all: Happy Independence Day.
>
> I've got a quick question for those with tsearch2 experience.
> I set tsearch2 up and it works great (although I'd like to search for phrases
> too, but I guess that's not supported at this time).

To do phrase searching just add an additional WHERE clause to your query:

SELECT id FROM tab WHERE ts_idx_col @@ to_tsquery('history&lesson')
AND text_col ~* '.*history\\s+lesson.*';

The full-text index will still be used, and the regex will be used to
prune the results afterwards.

--
Mike Rylander
mrylander@gmail.com
GPLS -- PINES Development
Database Developer
http://open-ils.org