Если у вас классическая связка php+MySQL то phpmorphy — самое то.
Прогоняете весь текст через phpmorphy, добавляете его в поле таблицы MySQL — предварительно создав индекс FULLTEXT для этого поля (тип, ес-но, должен быть VARCHAR)
в SQL запросе для определения «похожести» используйте конструкцию MATCH (col1,col2,...) AGAINST (expr [search_modifier])
например
SELECT * FROM news WHERE MATCH (tags) AGAINST ('слово другое третье' ) > 20
здесь, tags — то самое поле, а 20 — минимальная релевантность (это значение зависит от вашего контента)