ICMS使用一些心得 经验
ICMS是一款小众的CMS建站程序,速度、使用都还不错,扩展也方便,可能使用太少,作者最近更新有点慢,文档太少,在使用过程中有很多问题得不到及时解决,主要是查不到什么资料,官方文档太简单。
最近在学习Sphinx 全文检索和中文分词,最新版的sphinx已经支持中文分词了,简单使用已经可以了。
在使用ICMS时,前台搜索不是太强大,搜索关键词稍微有点多了,或者加了空格之类就搜不到内容。比如一篇文章我设置的关键词有:战神,升天;使用“战神”或“升天”,可以检索到文章,而用“战神升天”和“战神 升天”就检索不到,关键词和搜索词必须连续且一致。所以决定使用sphinx来解决这个问题,官方已经配置好了文件,可以在后台-系统设置-高级 中查看。但是不知道它用的是sphinx哪个版本,估计是较低版本,但是服务器安装sphinx低版本需要编译,可以自行尝试。下面说下我的问题:
1,我使用的是最新版本sphinx,无需编译,解决后直接使用,用官方提供的conf配置好的文件建立索引,如果有错,把相关的注释掉不行了。客户端(网站程序)中的sphinx API文件也要替换成最新的sphinx API,注意文件名改一下。
2,mysql 字符编码要用UTF8,否则可能检索不到。
3,ICMS搜索页模版中原来使用的是 article:list 标签,它会去调用原始的函数,直接查询数据库,不会使用sphinx的。这里我们要用 article:search 标答(官方完全没有相关文档,全是自己摸索,程序内置了相关功能却没有任何说明),标签体内原来的引用文章标题等内容的标签也替换成 article_search 形式。
有错误都注释掉就行