|
|
|
|
|
для: Глинтвейн
(19.10.2006 в 16:28)
| | Если ищите одновременно по двум столбцам name, all, в таблице tbl должен быть индекс FULLTEXT по двум столбцам
CREATE TABLE `tbl` (
`id` int(11) NOT NULL default '0',
`cat` int(11) NOT NULL default '0',
`name` text character set cp1251 NOT NULL,
`all` text character set cp1251 NOT NULL,
FULLTEXT KEY `name` (`name`, `all`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
| |
|
|
|
|
автор: Глинтвейн (19.10.2006 в 16:28) |
|
|
для: cheops
(18.10.2006 в 11:30)
| | Ага, а вот не получается как раз по книжке (Листинг 18.6). Структура у меня такая:
CREATE TABLE `tbl` (
`id` int(11) NOT NULL default '0',
`cat` int(11) NOT NULL default '0',
`name` text character set cp1251 NOT NULL,
`all` text character set cp1251 NOT NULL,
FULLTEXT KEY `name` (`name`),
FULLTEXT KEY `all` (`all`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
При запросе
SELECT id, cat, name FROM `tbl`
WHERE MATCH (name, all) AGAINST ('программирование')"
|
Выдает ошибку: Can't find FULLTEXT index matching the column list. Что я мог пропустить? | |
|
|
|
|
автор: Глинтвейн (19.10.2006 в 15:42) |
|
|
для: cheops
(18.10.2006 в 11:30)
| | Спасибо большое. Разобрался. Только почему -то при первом поисковом запросе мускул обвалился:)
P.S. Сейчас времени побольше, читаю книжку и понимаю почему. Еще раз спасибо за "Самоучитель":) | |
|
|
|
|
|
|
|
для: Глинтвейн
(18.10.2006 в 04:01)
| | Таблица может выглядеть следующим образом
CREATE TABLE `tbl` (
`id` int(11) NOT NULL auto_increment,
`name` text NOT NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `name` (`name`)
);
|
Запрос на поиск слова "программирование" в столбце name может выглядеть следующим образом
SELECT * FROM tbl WHERE MATCH (name) AGAINST ('программирование')
|
PS Следует помнить, что в обычном режиме полнотекстовый поиск ищет только те слова, которые встречаются реже, чем в половине записей таблицы (50%), т.е. если у вас две записи - у вас полнотекстовый поиск по определению ничего не найдёт, так как любое слово будет встречаться минимум в 50% записей таблицы. | |
|
|
|
|
автор: Глинтвейн (18.10.2006 в 04:01) |
|
| Знаю, что тема много раз поднималась, но сколько не читаю, понять не могу. Покажите пожалуйста, пример дампа таблицы с полем, в котором используется полнотекст и запрос, который из нее информацию тянет. Дальше сам по мануалу разберусь. Спасибо. | |
|
|
|
|