Мне нужен совет относительно анализа текста.
Программа написана на php.
Мой код должен получить URL и сопоставить слова сайта с БД и найти совпадение.
Сложность в том, что слова не всегда записываются в БД, как они появляются в тексте.
пример:
Допустим, моя БД имеет следующие значения:
Слово = буквы
А на сайте есть:
Объемная вещь
Я должен вывести:
Буквы вещь
Мой код создает несколько регулярных выражений после того, как каждый пытается сопоставить искомое слово с БД.
Для каждого слова, которое не найдено, я делаю 8 запросов к БД. У большинства слов нет совпадения, поэтому, когда мы говорим о целом веб-сайте, содержащем сотни слов, мой уровень ЦП резко возрастает.
Я думал о сохранении каждого слова, не найденного в глобализации БД, по мере их появления (HD стоит меньше, чем ЦП) или, возможно, о создании массива или словаря для хранения всего этого.
Я действительно запутался в этом проекте. Предполагается, что он будет обслуживать много пользователей, с текущим кодом сервер умрет после 10-20 запросов пользователей.
Есть мысли?
Edit:
Найденные слова не являются английскими словами, и код запускается на сервере Windows 2008