Full text index – полнотекстовый специализированный индекс, для больших объемов текстовых данных, которые хранятся в столбцах строкового типа VARCHAR, TEXT. Для относительно небольших типов данных используется обычный индекс.
Суть работы алгоритма в том, что из каждой ячейки вытаскивается текст, разбивается на слова, и для каждого слова создается отдельная таблица индекса. Появляется связь конкретного слова и ячеек, в которых это слово собственно и встречается.
Если вы задавались вопросом, как же работают поисковые системы, то в них есть подобный механизм.
Полнотекстовый индекс может так же включать в себя одновременно несколько столбцов таблицы, в этом случае содержимое склеивается в одно единое, и создается полнотекстовый индекс, по алгоритму, который уже был описан выше. Кроме всего этого поддерживает морфологию языков, стоп слова, а так же перестановки в словосочетаниях. Так же есть минимальное значение длины слова, которое равно 4-м символам, т.е. если длина слова меньше 4-х, то слово не попадает в индекс.
Рассмотрим пример создания полнотекстового индекса с именем f_text_index для столбцов preview_text и detail_text.
CREATE FULLTEXT INDEX `f_text_index` ON `table_name` (`preview_text`, `detail_text`);
После создания полнотекстового индекса, поиск можно производить с помощью оператора LIKE, это весьма может быть удобно, к примеру, если вам необходимо организовать поиск информации у себя на сайте.