Posted by Jansfer under 技术
No Comments
dedecms搜索,当使用智能搜索时,会对三个字段使用like,效率很差。当达到一定的数据量时,就会很慢
改用全文搜索就好了。
1.修改数据库,注意表前缀哦
\nALTER TABLE `dede_full_search` ADD FULLTEXT (\n`title` ,\n`keywords` ,\n`addinfos` \n);\n
2.修改include/inc_arcsearch_view.php
大概156行处,将
\n $kwsqlarr[] = \” #@__full_search.title like '%$k%' \”;\n $kwsqlarr[] = \” #@__full_search.addinfos like '%$k%' \”;\n $kwsqlarr[] = \” #@__full_search.keywords like '%$k%' \”;\n
改为
\n $kwsqlarr[] = \”MATCH (#@__full_search.title, #@__full_search.keywords, #@__full_search.addinfos) AGAINST ('$k')\”;\n /*\n $kwsqlarr[] = \” #@__full_search.title like '%$k%' \”;\n $kwsqlarr[] = \” #@__full_search.addinfos like '%$k%' \”;\n $kwsqlarr[] = \” #@__full_search.keywords like '%$k%' \”;\n */\n
还有就是把搜索结果条数设少一点。