【phpcms-v9】phpcms-v9中站群搜索的bug解决方案
发布:smiling 来源: PHP粉丝网 添加日期:2014-10-24 11:38:00 浏览: 评论:0
最近一直在把站点改成了站群,却发现搜索竟然无效了.
分析了N个文件才发现原来在没有分站的时候内容发布保存在到V9_search表的typeid对应的是1但是一旦分站点了保存的全部为0,从内容模型研究添加开始查看终于给我发现了,看下缓存文件大家就明白了.
模型下查找model下class类为content_model.class.php:
- private function search_api($id = 0, $data = array(), $action = 'update') {
- $type_arr = getcache('type_model','search');
- $typeid = $type_arr[$this->modelid];
- if($action == 'update') {
- $fulltext_array = getcache('model_field_'.$this->modelid,'model');
- foreach($fulltext_array AS $key=>$value){
- if($value['isfulltext']) {
- $fulltextcontent .= $data['system'][$key] ? $data['system'][$key] : $data['model'][$key];//开源代码phpfensi.com
- }
- }
- $this->search_db->update_search($typeid ,$id, $fulltextcontent,addslashes($data['system']['title']).' '.addslashes($data['system']['keywords']),$data['system']['inputtime']);
- } elseif($action == 'delete') {
- $this->search_db->delete_search($typeid ,$id);
- }
- }
会发现:
$type_arr = getcache('type_model','search');
$typeid = $type_arr[$this->modelid];
仔细观察这句原来是单站点才可以用,站群就无法使用,因为typeid无法获取,自然默认就是0.
解决方法:
$type_arr = getcache('search_model_'.$this->siteid,'search');
$typeid = $type_arr[$this->modelid]['typeid'];
Tags: phpcms站群搜索 phpcms搜索功能
相关文章
- ·PHPCMS取消搜索时的分词功能的方法(2014-10-18)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)