Q:

Какой алгоритм лучше всего использовать для поиска в тексте? 

Какой алгоритм лучше всего использовать для поиска в тексте? 
Для примера возьмем php MySQL. 
Конструкция like, как показывает опыт, - полная хрень для поиска, когда речь идет о большой посещаемости и большом количестве информации. 
Что посоветуете? 
Есть литература или ссылки - кидайте, пригодится все. 

A:

Лучше всего - смотреть в сторону готовых поисковых движков.  А если хочется самому изобрести очередной велосипед, то начать с того, что поиск ведётся не по контенту, а по отдельному массиву информации, который строится, например, так:

слова со страницы приводятся к единой форме (существительные - им.  пад, ед.  число etc)
заносятся в базу с указанием дополнительной информации (например, порядковый номер слова на странице, сама страница, изначальная словоформа, какими тегами окружено - всё, что может понадобиться)
...

Дальше - работаем с поисковым запросом.  Самый простой вариант: одно слово.  Приводим его к той же словоформе, как в пункте 1, ищем.  Находится - не забываем выдать исходный фрагмент (для этого и сохраняем "оригинальные" версии слов, их порядок...).  Нужно искать несколько слов или работать с языком запросов - продолжаем морщить лоб, но к этому времени или идея писать свой движок умрёт сама собой, или ответы на возникающие вопросы уже будут получены :)
Ну и организацией этого хранилища должен заниматься отдельный движок.  Или совсем отдельный, который периодически обходит страницы, смотрит на изменения и строит присковый индекс (Яндекс. Сайт etc).  Или обновление поискового индекса происходит при создании/редактировании страницы, простейший вариант реализован в движках многих форумов. 
Как-то так, в самых общих чертах, без подробностей :) Так что - см.  первое предложение первого абзаца. 

A:

Sphinx с периодической индексацией информации по cron..  Других нормальных вариантов пока не придумали..
Eсть еще Lucene, но оно для Java

