作者 邓超

搜索

@@ -109,6 +109,11 @@ class MailListV2Es2 extends Base { @@ -109,6 +109,11 @@ class MailListV2Es2 extends Base {
109 if($keyword){ 109 if($keyword){
110 $where['subject'] = $keyword; 110 $where['subject'] = $keyword;
111 } 111 }
  112 + $query = [
  113 + 'bool'=>[
  114 + 'must' => []
  115 + ]
  116 + ];
112 // 联系人 117 // 联系人
113 $address = app()->request('address'); 118 $address = app()->request('address');
114 if($address){ 119 if($address){
@@ -121,6 +126,13 @@ class MailListV2Es2 extends Base { @@ -121,6 +126,13 @@ class MailListV2Es2 extends Base {
121 $where['from.email'] = $address['from']; 126 $where['from.email'] = $address['from'];
122 } 127 }
123 } 128 }
  129 + }else{
  130 + $query['bool']['must'][] = [
  131 + "bool" => ["should"=>[
  132 + ["match_phrase" => ["from.email"=>$address]],
  133 + ["match_phrase" => ["to"=>$address]],
  134 + ]]
  135 + ];
124 } 136 }
125 } 137 }
126 138
@@ -140,11 +152,7 @@ class MailListV2Es2 extends Base { @@ -140,11 +152,7 @@ class MailListV2Es2 extends Base {
140 unset($where['is_hots'],$where['is_auto'],$where['deleted']); 152 unset($where['is_hots'],$where['is_auto'],$where['deleted']);
141 } 153 }
142 154
143 - $query = [  
144 - 'bool'=>[  
145 - 'must' => []  
146 - ]  
147 - ]; 155 +
148 foreach ($where as $k=>$v){ 156 foreach ($where as $k=>$v){
149 if($k=='subject'){ 157 if($k=='subject'){
150 if($v){ 158 if($v){
@@ -235,7 +243,7 @@ class MailListV2Es2 extends Base { @@ -235,7 +243,7 @@ class MailListV2Es2 extends Base {
235 243
236 // 手动触发同步es 244 // 手动触发同步es
237 // 手动触发同步es 245 // 手动触发同步es
238 - if(empty($v['is_auto']) && $v['folder_name']=='收件箱' && isAiAutoMail($v['from'],$v['subject'])) redis()->rPush('sync_to_es',$v['id'].'.1'); 246 + if(empty($v['is_auto']) && $v['folder_name']=='收件箱' && isAiAutoMail($v['from'],$v['subject'])) redis()->rPush('sync_to_es',$v['id'].'.1');
239 247
240 248
241 return $v; 249 return $v;
@@ -262,10 +270,10 @@ class MailListV2Es2 extends Base { @@ -262,10 +270,10 @@ class MailListV2Es2 extends Base {
262 if(!empty($assign['assign'])){ 270 if(!empty($assign['assign'])){
263 if(!empty($assign['from'])){ 271 if(!empty($assign['from'])){
264 $f = [ 272 $f = [
265 - 'query_string'=>[  
266 - 'query'=>(str_contains($folder, '发件箱')?'to':'from.email').':('.implode(' OR ',array_map(function($e){return '"'.$e.'"';},$assign['from'])).')'  
267 - ]  
268 - ]; 273 + 'query_string'=>[
  274 + 'query'=>(str_contains($folder, '发件箱')?'to':'from.email').':('.implode(' OR ',array_map(function($e){return '"'.$e.'"';},$assign['from'])).')'
  275 + ]
  276 + ];
269 } 277 }
270 $r = [ 278 $r = [
271 'bool' => [ 279 'bool' => [
@@ -443,9 +451,9 @@ class MailListV2Es2 extends Base { @@ -443,9 +451,9 @@ class MailListV2Es2 extends Base {
443 if($seen!==null){ 451 if($seen!==null){
444 $body['query']['bool']['must'][] = ['term'=>['seen'=>$seen]]; 452 $body['query']['bool']['must'][] = ['term'=>['seen'=>$seen]];
445 } 453 }
446 - 454 +
447 $body['query']['bool']['must'][] = ['term'=>['is_hots'=>0]]; 455 $body['query']['bool']['must'][] = ['term'=>['is_hots'=>0]];
448 - 456 +
449 $body['query']['bool']['must'][] = ['term'=>['folder_as_int'=>folder2int($folder)]]; 457 $body['query']['bool']['must'][] = ['term'=>['folder_as_int'=>folder2int($folder)]];
450 if($this->assignSql($folder)) $body['query']['bool']['must'][] = $this->assignSql($folder); 458 if($this->assignSql($folder)) $body['query']['bool']['must'][] = $this->assignSql($folder);
451 // logs('count :'.json_encode($body)); 459 // logs('count :'.json_encode($body));
@@ -471,7 +479,7 @@ class MailListV2Es2 extends Base { @@ -471,7 +479,7 @@ class MailListV2Es2 extends Base {
471 private function countFlagged($body){ 479 private function countFlagged($body){
472 $body['query']['bool']['must'][] = ['term'=>['flagged'=>1]]; 480 $body['query']['bool']['must'][] = ['term'=>['flagged'=>1]];
473 $body['query']['bool']['must'][] = ['terms'=>['folder_as_int'=>[1,2,3,4,5]]]; 481 $body['query']['bool']['must'][] = ['terms'=>['folder_as_int'=>[1,2,3,4,5]]];
474 - 482 +
475 if($this->assignSql('收件箱')) 483 if($this->assignSql('收件箱'))
476 $body['query']['bool']['must'][] = $this->assignSql('收件箱'); 484 $body['query']['bool']['must'][] = $this->assignSql('收件箱');
477 485