【发布时间】:2011-09-29 15:25:19
【问题描述】:
作为 CMS 管理员的一部分,我想扫描新文章以查找存储在 mysql 数据库中的特定关键词/标签。
我足够熟练,能够提取关键字列表,循环遍历它们并执行 stripos,并使用 substr_count 构建找到的关键字数组。但是平均文章大约 700 字,并且有 16,000 个标签并且还在增长,所以目前循环需要大约 0.5 秒,这比我希望的要长,而且只会越来越长。
有没有更好的方法来做到这一点?即使这种类型的过程有一个特殊的名称,这也会有所帮助。
我在 Fedora 上有 PHP 5.3,它也在专用服务器上,所以我没有任何共享主机问题。
编辑 - 我是个杂乱无章的人,我发誓我复制并粘贴了一些代码!显然不是
$found = array();
while($row = $pointer->fetch_assoc())
{
if(stripos($haystack, $row["Name"]) )
{
$found[$row["Name"]] = substr_count( $haystack, $row["Name"]);
}
}
arsort($found);
我想我解释得很糟糕,因为我想对它们当前不在数据库中的新文章执行该过程,所以我只是打算在 ajax 请求中使用 $_POST,而不是将文章保存到数据库首先。
【问题讨论】:
-
全文搜索和/或 sphinxsearch
-
抱歉,我没有看到你!请参阅下面的 cmets :)