BUG #16499: Escape Characters in FTS

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

BUG #16499: Escape Characters in FTS

apt.postgresql.org Repository Update
The following bug has been logged on the website:

Bug reference:      16499
Logged by:          Chirag Gupta1
Email address:      [hidden email]
PostgreSQL version: 9.6.0
Operating system:   Windows
Description:        

Hi,

We are using FTS to implement search and there is a scenario where we have a
word say "IVR@#1", when I search for "1" there should not be any result as
per user perspective.
It seems special characters are replaced by spaces/blanks. Is there any way
to include Special characters in search? Kindly let us know through this
channel as earliest possible.

Regards
Chirag Gupta

Reply | Threaded
Open this post in threaded view
|

Re: BUG #16499: Escape Characters in FTS

Tom Lane-2
PG Bug reporting form <[hidden email]> writes:
> We are using FTS to implement search and there is a scenario where we have a
> word say "IVR@#1", when I search for "1" there should not be any result as
> per user perspective.
> It seems special characters are replaced by spaces/blanks. Is there any way
> to include Special characters in search? Kindly let us know through this
> channel as earliest possible.

You would need to implement your own text search parser that classifies
"IVR@#1" as a single token.  That's certainly do-able, but it's not
exactly trivial.  The built-in parser doesn't have any ability to be
reconfigured to apply different tokenization rules: it just does
what's described at

https://www.postgresql.org/docs/current/textsearch-parsers.html

On the bright side, it sounds like you might not care too much
about URLs or hyphenated words, in which case your custom parser
could be far simpler than the built-in one.  There is a skeleton
parser in our source tree at src/test/modules/test_parser/ that
might help you get started.

                        regards, tom lane