Re: FTS wildcard and custom ispell dictionary problem

Поиск
Список
Период
Сортировка
От Oleg Bartunov
Тема Re: FTS wildcard and custom ispell dictionary problem
Дата
Msg-id Pine.LNX.4.64.1008191310230.25483@sn.sai.msu.ru
обсуждение исходный текст
Ответ на FTS wildcard and custom ispell dictionary problem  (darklow <darklow@gmail.com>)
Список pgsql-general
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

russian_stem will never called ! Sorry, I have no time right now, will
be back later.

>
> 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 :(
>
> Thanks
>
>

     Regards,
         Oleg
_____________________________________________________________
Oleg Bartunov, Research Scientist, Head of AstroNet (www.astronet.ru),
Sternberg Astronomical Institute, Moscow University, Russia
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(495)939-16-83, +007(495)939-23-83

В списке pgsql-general по дате отправления:

Предыдущее
От: darklow
Дата:
Сообщение: FTS wildcard and custom ispell dictionary problem
Следующее
От: Oleg Bartunov
Дата:
Сообщение: Re: FTS wildcard and custom ispell dictionary problem