Closed miguellteixeira closed 4 years ago
This all comes down to postgresql word stemming. I'm not certain it's a very good behaviour, tbh, but it's what we have.
When postgresql sees the word "education", it stems it to "educ". This applies to both your search text and search query. So it's "educ" that's stored in the search index.
When you search for "educ", it gets stemmed to "educ", and matches. When you search for "education", it gets stemmed to "educ", and matches.
When you search for "educa", it does not get stemmed, and "educa" does not match "educ".
You can see this behaviour yourself with the following SQL:
mm=# select to_tsquery('educ');
to_tsquery
------------
'educ'
(1 row)
mm=# select to_tsquery('educa');
to_tsquery
------------
'educa'
(1 row)
mm=# select to_tsquery('educat');
to_tsquery
------------
'educat'
(1 row)
mm=# select to_tsquery('educati');
to_tsquery
------------
'educati'
(1 row)
mm=# select to_tsquery('educatio');
to_tsquery
------------
'educatio'
(1 row)
mm=# select to_tsquery('education');
to_tsquery
------------
'educ'
(1 row)
Hi, I have the following row on a PostgreSQL database (watson_searchentry):
And when searching for some partial keywords there are no results:
I've followed the setup guide and ran all commands needed to populate the Watson search entry but so far couldn't figure it out why this is happening, am I missing something?