作者 邓超

v2 es

... ... @@ -180,7 +180,7 @@ class MailListV2Es2 extends Base {
// 软删
$where['deleted'] = 0;
$where['source'] = 2; // ai邮件群体
$where['email_id'] = $this->getEmails('id');
// $where['email_id'] = $this->getEmails('id');
$query = [
'bool'=>[
... ... @@ -235,7 +235,7 @@ class MailListV2Es2 extends Base {
}
}
logs(json_encode(['query'=>['constant_score'=>['filter'=>$query]]]));
// logs(json_encode(['query'=>['constant_score'=>['filter'=>$query]]]));
$result = $this->es->search(['query'=>['constant_score'=>['filter'=>$query]]],($page-1) * $limit,$limit,['udate'=>"desc"]);
... ... @@ -327,23 +327,16 @@ class MailListV2Es2 extends Base {
private function assignSql3($folder){
// 被分配的
$assign = app()->request('assign');
if(!empty($assign['email_id'])){
// 此处请求中的
$email = array_diff($this->getEmails('id'),$assign['email_id']);
if($email){
$fids = $this->getFolderId($folder,$email);
// 有目录id和from
if($fids){
return ['terms'=>['folder_id'=>$fids]];
}
}
return ['term'=>['folder_id'=>-1]];
// 说明是子账号
if(!empty($assign['assign'])){
return [
'terms'=>[
'email_id'=>$assign['email_id']?:[-1]
]
];
}
return ['terms'=>['folder_id'=> $this->getFolderId($folder)]];
return [];
}
... ... @@ -358,7 +351,9 @@ class MailListV2Es2 extends Base {
$body['query'] = [
'bool'=>[
'must'=>[
['term'=>['deleted'=>0]]
['term'=>['deleted'=>0]],
['term'=>['postid'=>app()->request('postid',-1)]],
['term'=>['source'=>2]],
]
]
];
... ... @@ -444,6 +439,7 @@ class MailListV2Es2 extends Base {
*/
private function countHot($body,$folder){
$body['query']['bool']['must'][] = ['term'=>['is_hots'=>1]];
$body['query']['bool']['must'][] = ['term'=>['folder_as_int'=>folder2int($folder)]];
$body['query']['bool']['must'][] = $this->assignSql3($folder);
return $this->es->count($body);
}
... ... @@ -473,6 +469,7 @@ class MailListV2Es2 extends Base {
$body['query']['bool']['must'][] = ['term'=>['seen'=>$seen]];
}
$body['query']['bool']['must'][] = ['term'=>['is_hots'=>0]];
$body['query']['bool']['must'][] = ['term'=>['folder_as_int'=>folder2int($folder)]];
$body['query']['bool']['must'][] = $this->assignSql($folder);
return $this->es->count($body);
}
... ...