fulltext поик с кириллицей

mefist

Новичок
fulltext поик с кириллицей

Здравствуйте. Я делаю поиск по базе данных новостей с использованием MATCH AGAINST. Все работает хорошо, за исключением того, что при запросах на кириллице часто вылезают какие-то совершенно левые результаты (хотя релевантность в mysql достоточно высокая). При использовании латинских и некоторых латышских букв (ā, ē, ī и тп) все работает правильно.

Вот структура таблиц и пример запроса. Может ли быть проблема в кодировках?

CREATE TABLE `fd_archive` (
`id` int(6) NOT NULL auto_increment,
`date` int(10) NOT NULL default '0',
`link` varchar(255) character set cp1251 NOT NULL default '',
`title` varchar(300) character set cp1251 default NULL,
`description` text character set cp1251,
`rating` smallint(11) NOT NULL default '0',
`feed` int(4) NOT NULL,
`alias` varchar(70) character set utf8 collate utf8_latvian_ci NOT NULL default '',
PRIMARY KEY (`id`),
KEY `alias` (`alias`),
KEY `date` (`date`),
KEY `feed` (`feed`),
FULLTEXT KEY `title` (`title`,`description`)
) ENGINE=MyISAM AUTO_INCREMENT=13791 DEFAULT CHARSET=utf8 COLLATE=utf8_bin PACK_KEYS=0 AUTO_INCREMENT=13791 ;

CREATE TABLE `fd_index` (
`id` int(6) NOT NULL default '0',
`searchIndex` text NOT NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `searchIndex` (`searchIndex`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 PACK_KEYS=0;

SELECT
a.id, date, link, title, description, rating, alias, feed,
MATCH(searchIndex) AGAINST ("+путин +москва" IN BOOLEAN MODE) AS rel
FROM
fd_index AS i
LEFT JOIN fd_archive AS a ON i.id=a.id
WHERE a.date>=-7200
AND a.date<=1214859599
AND MATCH(searchIndex) AGAINST ("+путин +москва" IN BOOLEAN MODE) HAVING rel>0
ORDER BY date DESC
LIMIT 0, 10
 
Сверху