【phpcms-v9】phpcms-v9中站群搜索的bug解决方案

最近一直在把站点改成了站群,却发现搜索竟然无效了

分析了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];
}
}
$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'];(责任编辑:admin)
转载请附带本文地址:http://www.hake.cc/a/kaifajiaocheng/phpcms/2012/1010/98081.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值