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 по дате отправления: