Приднестровская поддержка XOOPS
Создать индекс FULLTEXT можно следующими способами:
□ при создании таблицы с помощью оператора CREATE TABLE с помощью ключевого слова
FULLTEXT INDEX <Название индекса> (<Столбцы через запятую>)
Например:
CREATE TABLE `search1` (
`id` INT NOT NULL AUTO_INCREMENT,
`str` TEXT,
FULLTEXT INDEX `index1` (`str`),
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
или
CREATE TABLE `search2` (
`id` INT NOT NULL AUTO_INCREMENT,
`str1` TEXT,
`str2` TEXT,
FULLTEXT INDEX `index2` (`str1`, `str2`),
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
□ с помощью оператора ALTER TABLE, например, создав таблицу:
CREATE TABLE `search3` (
`id` INT NOT NULL AUTO_INCREMENT,
`str` TEXT,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
можно добавить к ней полнотекстовый индекс так:
ALTER TABLE `search3` ADD FULLTEXT `index3` (`str`);
А к таблице с двумя текстовыми полями:
CREATE TABLE `search4` (
`id` INT NOT NULL AUTO_INCREMENT,
`str1` TEXT,
`str2` TEXT,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
можно добавить индекс так:
ALTER TABLE `search4` ADD FULLTEXT `index4` (`str1`, `str2`);
□ с помощью оператора CREATE INDEX, например, к созданной ранее таблице с одним текстовым полем можно добавить индекс так:
CREATE FULLTEXT INDEX `index5` ON `search3` (`str`);
а к таблице с двумя полями так:
CREATE FULLTEXT INDEX `index6` ON `search4` (`str1`, `str2`);
В индекс попадут слова длиной от 4 до 84 символов. Данные значения задаются переменными ft_min_word_len и ft_max_word_len соответственно. Изменить значения этих переменных можно через конфигурационный файл
my.ini. После изменения значения переменных необходимо заново создать индекс FULLTEXT. Посмотреть текущие значения переменных позволяет SQL- команда:
SHOW VARIABLES LIKE 'ft%';
Следует отметить, что полнотекстовый поиск предназначен для поиска в большом объеме текста. Если поле состоит из нескольких слов, то оно может вообще не попасть в индекс.
Отправитель | Нити |
---|
1 пользователь(ей) активно (1 пользователь(ей) просматривают Инструкции)
Участников: 0 Гостей: 1 далее... |