But tsvector recognices email format as natural. And I'm not looking for a
substring. Please see the queries are incremental with the search string,
and see last four results ... I think some think it's no working properly.

El 14 de marzo de 2012 19:05, Daniel Vázquez <[email protected]>escribió:

> Hi guys, I'm going to crazy about FTS with prefix agains email values on
> tsvector. Follow how to reproduce:
>
> For the next tsvector:
>
> =# select to_tsvector('[email protected]')
>      to_tsvector
> ----------------------
>  '[email protected]':1
>
> I expects TRUE for all next tsqueryes:
>
> select to_tsvector('[email protected]') @@ to_tsquery('u:*');
> select to_tsvector('[email protected]') @@ to_tsquery('us:*');
> select to_tsvector('[email protected]') @@ to_tsquery('use:*');
> select to_tsvector('[email protected]') @@ to_tsquery('user:*');
> select to_tsvector('[email protected]') @@ to_tsquery('user@:*');
> select to_tsvector('[email protected]') @@ to_tsquery('user@c:*');
> select to_tsvector('[email protected]') @@ to_tsquery('user@co:*');
> select to_tsvector('[email protected]') @@ to_tsquery('user@com:*');
> select to_tsvector('[email protected]') @@ to_tsquery('user@comp:*');
> select to_tsvector('[email protected]') @@ to_tsquery('user@compa:*');
> select to_tsvector('[email protected]') @@ to_tsquery('user@compan:*');
> select to_tsvector('[email protected]') @@ to_tsquery('user@company:*');
> select to_tsvector('[email protected]') @@ to_tsquery('user@company.:*');
> select to_tsvector('[email protected]') @@ to_tsquery('[email protected]:*');
> select to_tsvector('[email protected]') @@ to_tsquery('[email protected]:*');
> select to_tsvector('[email protected]') @@ to_tsquery('[email protected]:
> *');
>
> But NOT, there are some NOT expected and confusing me results:
>
> =# select to_tsvector('[email protected]') @@ to_tsquery('us:*');
>  ?column?
> ----------
>  t
> (1 row)
>
> =# select to_tsvector('[email protected]') @@ to_tsquery('user:*');
>  ?column?
> ----------
>  t
>
> =# select to_tsvector('[email protected]') @@ to_tsquery('user@:*');
>  ?column?
> ----------
>  t
>
> select to_tsvector('[email protected]') @@ to_tsquery('user@comp:*');
>  ?column?
> ----------
>  f   <---- FALSE (I expects TRUE)
>
> =# select to_tsvector('[email protected]') @@ to_tsquery('user@company:*');
>  ?column?
> ----------
>  f   <---- FALSE (I expects TRUE)
>
> =# select to_tsvector('[email protected]') @@ to_tsquery('user@company.
> :*');
>  ?column?
> ----------
>  f   <---- FALSE (I expects TRUE)
>
> =# select to_tsvector('[email protected]') @@ to_tsquery('[email protected]
> :*');
>  ?column?
> ----------
>  f  <---- FALSE  (I expects TRUE)
>
> =# select to_tsvector('[email protected]') @@ to_tsquery('[email protected]:
> *');
>  ?column?
> ----------
>  t  <---- TRUE .... OOhhhhhHHH I'm going crazy!!!
>
> =# select to_tsvector('[email protected]') @@ to_tsquery('[email protected]:
> *');
>  ?column?
> ----------
>  t  <---- TRUE ... Yes I'm crazy.
>
> Please some ligths about it.
> (I follow the official docs in
> http://www.postgresql.org/docs/9.1/interactive/textsearch.html for my
> knowledge)
>
> Thx!
>



-- 
Daniel Vázquez
SICONET (A Bull Group Company)
Torre Agbar. Avda. Diagonal, 211 - planta 23
08018 - Barcelona
telf: + 34 93 2272727 (Ext. 2952)
fax: + 34 93 2272728
www.bull.es - www.siconet.es
[email protected]

Reply via email to