From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | cen <imbacen(at)gmail(dot)com> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Full text search randomly not working for short prefixes? |
Date: | 2016-12-02 15:33:12 |
Message-ID: | 29363.1480692792@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
cen <imbacen(at)gmail(dot)com> writes:
> Something funny going on with my full text search.. and I have no idea what.
The way to debug this sort of thing is generally to look at what tsquery
you're actually getting. I get
regression=# select to_tsquery(unaccent('a:*'));
NOTICE: text-search query contains only stop words or doesn't contain lexemes, ignored
to_tsquery
------------
(1 row)
regression=# select to_tsquery(unaccent('an:*'));
NOTICE: text-search query contains only stop words or doesn't contain lexemes, ignored
to_tsquery
------------
(1 row)
regression=# select to_tsquery(unaccent('ana:*'));
to_tsquery
------------
'ana':*
(1 row)
Of course, only the last is going to match 'ana'.
So you need to use a text search configuration in which a/an are
not stop words. Or possibly you could cast the unaccent result
directly to tsquery rather than passing it through to_tsquery(),
though likely that would just have a different set of failure modes
with queries where you do wish stemming would occur.
The problem with "no" seems to be the same.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | otar shavadze | 2016-12-02 15:35:03 | Re: ARRAY_LENGTH() function behavior with empty array |
Previous Message | rakeshkumar464 | 2016-12-02 15:26:20 | Determining replication lag |