On Thu, 19 Aug 2010, darklow wrote:
Hello,
I am using PostgreSQL 8.4 full text search in following way:
Custom FTS configuration called "dc2" with these dictionaries in
following order for asciihword token: latvian_ispell, english_stem,
russian_stem
Latvian ispell dictionary contains words with different endings but
same meaning (latvian langiage specifics, plural words, etc)
The problem starts when using wildcard :* to_tsquery syntax.
For example. If i look for the word "kriev" i am automatically adding
wildcard using syntax: to_tsquery('dc2', 'kriev:*');
By searching kriev:* FTS founds word "krievs" in latvian_ispell
dictionary which is totally ok.
SELECT * from ts_debug('dc2', 'kriev:*');
alias | description | token | dictionaries
| dictionary | lexemes
-----------+-----------------+-------+----------------------------------------------------------+----------------+----------
asciiword | Word, all ASCII | kriev |
{latvian_ispell,english_stem,russian_stem} | latvian_ispell | {krievs}
blank | Space symbols | :* | {}
If understand correctly now database uses not kriev:* but krievs:* for
following queries.
And here is the problem, data contains also word: Krievija, and in
this case search doesn't find it, because now it looks for Krievs:*
and not Kriev:* anymore.
Is there any solution anone could suggest to get results by both
criterias - kriev:* (starting query) and krievs:* (founded in ispell
dict).
Only idea i had is to somehow combine two tsqueries one -
to_tsquery('dc2', 'kriev:*') and to_tsquery('english', 'kriev:*'); so
the search looks for both - kriev:* and krievs:* but anyway didnt
figured out any syntax i could use :(
select to_tsquery('dc2', 'kriev:*') || to_tsquery('english', 'kriev:*');
Thanks
Regards,
Oleg
_____________________________________________________________
Oleg Bartunov, Research Scientist, Head of AstroNet (www.astronet.ru),
Sternberg Astronomical Institute, Moscow University, Russia
Internet: o...@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(495)939-16-83, +007(495)939-23-83
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general