GrayHound
Новичок
проблемы с match against
имеется таблица:
CREATE TABLE `search_page_index` (
`url` varchar(255) NOT NULL default '',
`title` varchar(255) default NULL,
`descr` varchar(255) default NULL,
`body` text,
`created` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
`status` smallint(6) NOT NULL default '200',
KEY `url` (`url`),
FULLTEXT KEY `search_index` (`title`,`body`)
) ENGINE=MyISAM DEFAULT CHARSET=koi8r;
при этом производится такой запрос в php:
$db->query("SELECT COUNT(1) results FROM `search_page_index` WHERE MATCH(`title`, `body`) AGAINST ('".addslashes($text)."')");
где $text само собой строка поиска.
Проблема в том - поиск ПОЧТИ работает. Допустим есть в body текс ООО и ОАО, ООО он почему то находит и выдаёт COUNT, ОАО - нет... Если же набрать допустим ОАО Газпром - находит оба слова. С кривостью какой руки это может быть связано?
имеется таблица:
CREATE TABLE `search_page_index` (
`url` varchar(255) NOT NULL default '',
`title` varchar(255) default NULL,
`descr` varchar(255) default NULL,
`body` text,
`created` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
`status` smallint(6) NOT NULL default '200',
KEY `url` (`url`),
FULLTEXT KEY `search_index` (`title`,`body`)
) ENGINE=MyISAM DEFAULT CHARSET=koi8r;
при этом производится такой запрос в php:
$db->query("SELECT COUNT(1) results FROM `search_page_index` WHERE MATCH(`title`, `body`) AGAINST ('".addslashes($text)."')");
где $text само собой строка поиска.
Проблема в том - поиск ПОЧТИ работает. Допустим есть в body текс ООО и ОАО, ООО он почему то находит и выдаёт COUNT, ОАО - нет... Если же набрать допустим ОАО Газпром - находит оба слова. С кривостью какой руки это может быть связано?