On 17.02.2016 11:00, ruxandra.durus@vauban.ro wrote:
>
> My version of PostgreSQL is:
> "PostgreSQL 9.5beta1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.4.7
> 20120313 (Red Hat 4.4.7-16), 64-bit"
>
> More details about the operating system:
> Linux javatesting 2.6.32-573.7.1.el6.x86_64 #1 SMP Tue Sep 22 22:00:00 UTC
> 2015 x86_64 x86_64 x86_64 GNU/Linux
>
> I am using pgAdmin version 1.20.0 to query the database.
>
> I am using your full text search (which works great), but i have a small
> problem:
> SELECT to_tsvector('simple', 'test@vauban-reg.ro');
>
> returns "'test@vauban-reg.ro':1"
>
> which is exactly what I need.
>
>
> But when I run :
>
> SELECT to_tsvector('simple', 'test@123-reg.ro');
>
> I get:
> "'123':2 'reg.ro':3 'test':1"
>
> instead of "'test@123-reg.ro':1"
>
>>From the documentation here
> http://www.postgresql.org/docs/current/static/pgtrgm.html , point F.30.4. I
> understood that with "simple" option only space is a separator for the
> stems. Is it a bug or am I doing something wrong?
>
> Thank you for your time,
> Ruxandra Durus
>
Hi,
It seems that this is a text search parser issue. More informative queries:
=> SELECT * FROM ts_debug('simple', 'test@vauban-reg.ro');
alias | description | token | dictionaries | dictionary
| lexemes
-------+---------------+--------------------+--------------+------------+----------------------
email | Email address | test@vauban-reg.ro | {simple} | simple
| {test@vauban-reg.ro}
(1 row)
=> SELECT * FROM ts_debug('simple', 'test@123-reg.ro');
alias | description | token | dictionaries | dictionary |
lexemes
-----------+------------------+--------+--------------+------------+----------
asciiword | Word, all ASCII | test | {simple} | simple | {test}
blank | Space symbols | @ | {} | |
uint | Unsigned integer | 123 | {simple} | simple | {123}
blank | Space symbols | - | {} | |
host | Host | reg.ro | {simple} | simple |
{reg.ro}
(5 rows)
Attached patch can fix it. Is this a bug? Should I create a record in
the commitfest?
This patch also allows to parser work with emails '123@123-reg.ro' and
'test@123_reg.ro' correctly.
--
Artur Zakirov
Postgres Professional: http://www.postgrespro.com
Russian Postgres Company