Посмотрел на поиск в Joomla. Очень уж он примитивный: никакой индексации, поиск производится операцией
like '%строка%'. Это означает, что в тексте ищется первое вхождение символов, входящих в каждое слово запроса, и, если таковое обнаружено, объект включается в список результатов поиска.
То есть если мы ищем, например, по слову "вода", результат будет содержать тексты, содержащие слова "свода", "ввода", "перевода", "трубопровода" и т. д. (Сейчас поиск на uml2 по запросу "вода" даёт 7 результатов, причём собственно вода ни в одном из текстов не упоминается).
А способ сортировки пользователю предлагается выбрать самостоятельно - по убыванию или возрастанию даты публикации, по "популярности" или просто по алфавиту.
Ни о какой релевантности или о словоформах тут речь, конечно, не идёт.
Один из способов улучшения поиска в Joomla предложен здесь:
http://vectora.ru/articles-and-tutorials/51-joomla-1-5/102-search-aware-of-russian-morphology-in-joomla-1-5Суть его в учёте статистически наиболее распространённых словоформ - от исходного слова отбрасываются окончания и прочие суффиксы, и это "обрезанное" слово подставляется вместо исходного. Я не успел разобраться, приводятся ли к "канонической" форме существительные. Если приводятся, то в нашем случае вместо "вода" использовалось бы "вод". Поиск по такому запросу на uml2.ru увеличивает количество результатов с семи до сорока семи. В результаты поиска включаются слова "руководство", "выводы" и т. п.
Конечно, пример со словом "вода" несколько искусcтвенный. На сайте uml2, скорее всего, будут искать по более сложным запросам.
По каким именно - поможет сбор статистики поисковых запросов.
В общем, над оптимизацией поиска придётся ещё хорошенько подумать.