Обсуждение: BUG #13964: unexpected result from to_tsvector
The following bug has been logged on the website:
Bug reference: 13964
Logged by: Ruxandra
Email address: ruxandra.durus@vauban.ro
PostgreSQL version: 9.5.1
Operating system: Cent OS 6.7
Description:
Hello,
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
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
Вложения
SGVsbG8sDQoNCglUaGFuayB5b3UgZm9yIHlvdXIgZmFzdCByZXNwb25zZSwgYnV0IEkgY2Fubm90 IGluc3RhbGwgcGF0Y2hlcywgYW5kIEkgZG9uJ3Qga25vdyBob3cuIEkgaG9wZSB0aGlzIGZpeCB3 aWxsIGJlIGluY2x1ZGVkIGluIGEgdmVyc2lvbiBvZiBQb3N0Z3JlU1FMIGluIHRoZSBmdXR1cmUu DQoNClRoYW5rIHlvdSBmb3IgeW91ciB0aW1lLA0KUnV4YW5kcmEgRHVydXMNCg0KLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IEFydHVyIFpha2lyb3YgW21haWx0bzphLnpha2lyb3ZA cG9zdGdyZXNwcm8ucnVdIA0KU2VudDogVGh1cnNkYXksIEZlYnJ1YXJ5IDE4LCAyMDE2IDEyOjU0 IFBNDQpUbzogUnV4YW5kcmEgRHVydXM7IHBnc3FsLWJ1Z3NAcG9zdGdyZXNxbC5vcmcNClN1Ympl Y3Q6IFJlOiBbQlVHU10gQlVHICMxMzk2NDogdW5leHBlY3RlZCByZXN1bHQgZnJvbSB0b190c3Zl Y3Rvcg0KDQpPbiAxNy4wMi4yMDE2IDExOjAwLCBydXhhbmRyYS5kdXJ1c0B2YXViYW4ucm8gd3Jv dGU6DQo+DQo+ICAgIE15IHZlcnNpb24gb2YgUG9zdGdyZVNRTCBpczoNCj4gIlBvc3RncmVTUUwg OS41YmV0YTEgb24geDg2XzY0LXBjLWxpbnV4LWdudSwgY29tcGlsZWQgYnkgZ2NjIChHQ0MpIA0K PiA0LjQuNw0KPiAyMDEyMDMxMyAoUmVkIEhhdCA0LjQuNy0xNiksIDY0LWJpdCINCj4NCj4gTW9y ZSBkZXRhaWxzIGFib3V0IHRoZSBvcGVyYXRpbmcgc3lzdGVtOg0KPiBMaW51eCBqYXZhdGVzdGlu ZyAyLjYuMzItNTczLjcuMS5lbDYueDg2XzY0ICMxIFNNUCBUdWUgU2VwIDIyIDIyOjAwOjAwIA0K PiBVVEMNCj4gMjAxNSB4ODZfNjQgeDg2XzY0IHg4Nl82NCBHTlUvTGludXgNCj4NCj4gICAgIEkg YW0gdXNpbmcgcGdBZG1pbiB2ZXJzaW9uIDEuMjAuMCB0byBxdWVyeSB0aGUgZGF0YWJhc2UuDQo+ DQo+ICAgICBJIGFtIHVzaW5nIHlvdXIgZnVsbCB0ZXh0IHNlYXJjaCAod2hpY2ggd29ya3MgZ3Jl YXQpLCBidXQgaSBoYXZlIGEgDQo+IHNtYWxsDQo+IHByb2JsZW06DQo+IFNFTEVDVCB0b190c3Zl Y3Rvcignc2ltcGxlJywgJ3Rlc3RAdmF1YmFuLXJlZy5ybycpOw0KPg0KPiByZXR1cm5zICIndGVz dEB2YXViYW4tcmVnLnJvJzoxIg0KPg0KPiB3aGljaCBpcyBleGFjdGx5IHdoYXQgSSBuZWVkLg0K Pg0KPg0KPiBCdXQgd2hlbiBJIHJ1biA6DQo+DQo+IFNFTEVDVCB0b190c3ZlY3Rvcignc2ltcGxl JywgJ3Rlc3RAMTIzLXJlZy5ybycpOw0KPg0KPiBJIGdldDoNCj4gIicxMjMnOjIgJ3JlZy5ybyc6 MyAndGVzdCc6MSINCj4NCj4gaW5zdGVhZCBvZiAiJ3Rlc3RAMTIzLXJlZy5ybyc6MSINCj4NCj4+ RnJvbSB0aGUgZG9jdW1lbnRhdGlvbiBoZXJlDQo+IGh0dHA6Ly93d3cucG9zdGdyZXNxbC5vcmcv ZG9jcy9jdXJyZW50L3N0YXRpYy9wZ3RyZ20uaHRtbCAsIHBvaW50IA0KPiBGLjMwLjQuIEkgdW5k ZXJzdG9vZCB0aGF0IHdpdGggInNpbXBsZSIgb3B0aW9uIG9ubHkgc3BhY2UgaXMgYSANCj4gc2Vw YXJhdG9yIGZvciB0aGUgc3RlbXMuIElzIGl0IGEgYnVnIG9yIGFtIEkgZG9pbmcgc29tZXRoaW5n IHdyb25nPw0KPg0KPiBUaGFuayB5b3UgZm9yIHlvdXIgdGltZSwNCj4gUnV4YW5kcmEgRHVydXMN Cj4NCg0KSGksDQoNCkl0IHNlZW1zIHRoYXQgdGhpcyBpcyBhIHRleHQgc2VhcmNoIHBhcnNlciBp c3N1ZS4gTW9yZSBpbmZvcm1hdGl2ZSBxdWVyaWVzOg0KDQo9PiBTRUxFQ1QgKiBGUk9NIHRzX2Rl YnVnKCdzaW1wbGUnLCAndGVzdEB2YXViYW4tcmVnLnJvJyk7DQogIGFsaWFzIHwgIGRlc2NyaXB0 aW9uICB8ICAgICAgIHRva2VuICAgICAgICB8IGRpY3Rpb25hcmllcyB8IGRpY3Rpb25hcnkgDQp8 ICAgICAgIGxleGVtZXMNCi0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQog IGVtYWlsIHwgRW1haWwgYWRkcmVzcyB8IHRlc3RAdmF1YmFuLXJlZy5ybyB8IHtzaW1wbGV9ICAg ICB8IHNpbXBsZSANCiAgfCB7dGVzdEB2YXViYW4tcmVnLnJvfQ0KKDEgcm93KQ0KDQo9PiBTRUxF Q1QgKiBGUk9NIHRzX2RlYnVnKCdzaW1wbGUnLCAndGVzdEAxMjMtcmVnLnJvJyk7DQogICAgYWxp YXMgICB8ICAgZGVzY3JpcHRpb24gICAgfCB0b2tlbiAgfCBkaWN0aW9uYXJpZXMgfCBkaWN0aW9u YXJ5IHwgDQpsZXhlbWVzDQotLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0NCi0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLQ0KLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLSstLQ0KICBhc2NpaXdvcmQgfCBXb3JkLCBhbGwgQVNDSUkgIHwgdGVzdCAgIHwge3NpbXBs ZX0gICAgIHwgc2ltcGxlICAgICB8IHt0ZXN0fQ0KICBibGFuayAgICAgfCBTcGFjZSBzeW1ib2xz ICAgIHwgQCAgICAgIHwge30gICAgICAgICAgIHwgICAgICAgICAgICB8DQogIHVpbnQgICAgICB8 IFVuc2lnbmVkIGludGVnZXIgfCAxMjMgICAgfCB7c2ltcGxlfSAgICAgfCBzaW1wbGUgICAgIHwg ezEyM30NCiAgYmxhbmsgICAgIHwgU3BhY2Ugc3ltYm9scyAgICB8IC0gICAgICB8IHt9ICAgICAg ICAgICB8ICAgICAgICAgICAgfA0KICBob3N0ICAgICAgfCBIb3N0ICAgICAgICAgICAgIHwgcmVn LnJvIHwge3NpbXBsZX0gICAgIHwgc2ltcGxlICAgICB8IA0Ke3JlZy5yb30NCig1IHJvd3MpDQoN Cg0KQXR0YWNoZWQgcGF0Y2ggY2FuIGZpeCBpdC4gSXMgdGhpcyBhIGJ1Zz8gU2hvdWxkIEkgY3Jl YXRlIGEgcmVjb3JkIGluIHRoZSBjb21taXRmZXN0Pw0KDQpUaGlzIHBhdGNoIGFsc28gYWxsb3dz IHRvIHBhcnNlciB3b3JrIHdpdGggZW1haWxzICcxMjNAMTIzLXJlZy5ybycgYW5kICd0ZXN0QDEy M19yZWcucm8nIGNvcnJlY3RseS4NCg0KLS0NCkFydHVyIFpha2lyb3YNClBvc3RncmVzIFByb2Zl c3Npb25hbDogaHR0cDovL3d3dy5wb3N0Z3Jlc3Byby5jb20gUnVzc2lhbiBQb3N0Z3JlcyBDb21w YW55DQo=
On 2/18/16 4:53 AM, Artur Zakirov wrote: > Attached patch can fix it. Is this a bug? Should I create a record in > the commitfest? Unless someone commits it in the next day or so, I would absolutely put it in the commitfest. -- Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX Experts in Analytics, Data Architecture and PostgreSQL Data in Trouble? Get it in Treble! http://BlueTreble.com