Как часть администратора CMS, я хотел бы просмотреть новые статьи на предмет конкретных ключевых фраз / тегов, которые хранятся в базе данных mysql.
Я достаточно опытен, чтобы иметь возможность вытащить список ключевых слов, пройтись по ним и сделать stripos, и substr_count, чтобы построить массив найденных ключевых слов. но средняя статья составляет около 700 слов и насчитывает 16 000 тегов и продолжает расти, поэтому в настоящее время цикл занимает около 0,5 с, что оказалось дольше, чем я ожидал, и будет увеличиваться только когда-либо.
Есть ли лучший способ сделать это? Даже если этот тип процедуры имеет специальное имя, это может помочь.
У меня PHP 5.3 на Fedora, он также на выделенных серверах, поэтому у меня нет проблем с общим хостом.
РЕДАКТИРОВАТЬ - Я такой разбойник, я ругался вслепую, что копирую и вставляю какой-то код! явно не
$found = array();
while($row = $pointer->fetch_assoc())
{
if(stripos($haystack, $row["Name"]) )
{
$found[$row["Name"]] = substr_count( $haystack, $row["Name"]);
}
}
arsort($found);
Мне кажется, я плохо объяснил, потому что я хочу выполнить процедуру для новых статей, которых в настоящее время нет в базе данных, поэтому я просто собирался использовать $ _POST в запросе ajax, а не сохранять статью в БД первый.