Скрипт поиска по нескольким словам (PHP + MySQL)
Есть база данных mysql.
Три поля.
1) id - ключ. автоинкремент.
2) текстовое поле вида:
ключевое_слово1 ключевое_слово2 ключ_слово3 .. и т.д.
3) текстовое поле вида:
/path/something.zip
Необходимо написать скрипт, который ищет результат по полю 2 и выдает на выходе текстовое поле 3.
На входе: 0) Искать по полю 2.
1) несколько любых ключевых слов, при этом отсекать все слова менее 3х символов.
2) в случае наличия максимального кол-ва слов, выдавать самый релевантый результат.
3) если всех ключевых слов в текстовом поле 2 не найдено(!!!), искать максимально подходящий результат без учета слова вместе с которым результата нет.
Пример:
1) Ищем "Иштымбек был тут но не видел Белого" ищем по словам "Иштымбек видел Белого"
есть результат "Иштымбек сегодня видел Белого". Выдаем соответстуещее ему поле3.
2) Ищем по одному слову. Находим несколько соответствий и выдаем любой результат(соответствующее поле3).
3) Ищем по строке "Аль Барадей Фондю":
скрипт не находит полного соответствия, но находит "Аль Барадей".
Должен выдать соответствующее ему значение из поля 3 "/path/al_baradey.zip"
Т.е. поиск по максимальному соответствию. Если у кого есть уже готовые решения, обращайтесь тоже.