这一版中用到了MySQL的
全文检索功能,这就要求建立Full-text的索引,然后用match-against的方法来查找。但这种技术是基于分词的,也就是文本必须能分成单词,西文比较简单了,有固定模式,但东亚文字就不行。这方面做得好的也就是Google一类的搜索引擎了。当然在4.0.1版之后,可以自己定义Stopword list,但对于不能修改设置或版本不够高的用户来说,仍然无福享受。当然,常用的汉语词也就几万个,做个List应该不太难,但用这种方法做索引也够CPU受的。
另一个新程序中用到了正则表达式来处理输入的检索词,这个正则表达式不但难懂,而且完全不支持多字节文字,没办法。幸好Nucleus的
Xiffy大侠反应快,把影响使用的给去了,我才能做下面的事。
把这个新功能改成旧方法,要做以下几件事:
1、在/nucleus/libs/Blog.php中, line 373,把$select赋值为空,不用了。
2、改用新的Search.php,见
Nucleus Forum上讨论。或者
本站亦有下载。
搜索功能实际上从文章名、文章体、摘要中进行全面查找,由于数据库中实际上包含了所有链接,所以有时显示出来了文章,但没有任何高亮显示,那就可以匹配文字是在链接内或是详细阅读里。