From: | "Greg Sabino Mullane" <greg(at)turnstep(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: tsearch2 punctuation question |
Date: | 2007-04-26 15:43:41 |
Message-ID: | 82ba8d8f860d58412e98d8643ac934a8@biglumber.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160
> Is there a setting that allows me to specify that strings containing
> the '/' should be parsed into separate words? As is, I can't find
> 'apple' or 'orange'.
No setting, I think you would have to mess with tsearch2 dictionaries. A
far easier approach is to have your application simply split the words
apart, or even write a wrapper function to do it for you within Postgres, e.g.
CREATE OR REPLACE FUNCTION wordsplit(text) RETURNS text LANGUAGE plperl
AS $_$
my $string = shift;
$string =~ s/\W/ /g;
return $string;
$_$;
SELECT to_tsvector(wordsplit('cat,dog apple/orange'));
- --
Greg Sabino Mullane greg(at)turnstep(dot)com
PGP Key: 0x14964AC8 200704261140
http://biglumber.com/x/web?pk=2529DF6AB8F79407E94445B4BC9B906714964AC8
-----BEGIN PGP SIGNATURE-----
iD8DBQFGMMikvJuQZxSWSsgRAwq4AKDJv4D6UDKZngU2vZt+cPgr6gGsnwCgmJET
arG3n5+2pXxR+wedZ2LjZYU=
=BPs4
-----END PGP SIGNATURE-----
From | Date | Subject | |
---|---|---|---|
Next Message | Rich Shepard | 2007-04-26 16:47:38 | Upgrade Process |
Previous Message | Tom Lane | 2007-04-26 15:42:22 | Re: HP/Pgsql/DBD::Pg issue |