创建配置文件时执行此操作。
尝试逆转整个过程。而不是检查单词的内容,而是检查单词中内容的单词。
- 将内容发布在单词上打断(在空间上)
- 消除重复项,数据库中单词最小大小的重复项,最大单词中的重复项以及保留的“常用单词”列表中的重复项。
- 检查每个表,如果您的某些表中是否包含带空格的短语,请执行%text%搜索,否则进行直接匹配(快得多),如果确实存在很大问题,则甚至构建一个哈希表。(我将其作为一个PHP数组来执行,并以某种方式缓存结果,这根本没有意义。)
- 使用现在很小的列表创建链接。
即使移出要检查的100,000个单词,您也应该能够轻松地将其保持在1秒以内。对于贝叶斯过滤器,我已经做到了这一点,并且没有缓存单词列表。
对于较小的列表,即使它是贪婪的并且收集了与“小丑”不匹配的单词,也会捕获“小丑泥the”,因此,较小的列表应该只有几到几十个带有链接的单词。查找和替换大量文本完全不需要时间。
以上内容并未真正解决您对较早配置文件的担心。您并没有确切地说有多少,只是说文本很多,而且是在1400至3100(两项)上。如果您有此信息,可以根据受欢迎程度来做这些较旧的内容。或输入的日期为最新的日期。无论如何,最好的方法是编写一个脚本来挂起PHP上的时间限制,而只对所有帖子批量运行加载/处理/保存。如果每个人花费大约1秒(可能要少得多,但最坏的情况),则您正在说的是3100秒,不到一个小时。



