//es搜索条件
$esWhere = [];
$esWhere['bool']['must_not'][] = ['match' => ['status' => 2]];
// =
if($adminid){
$esWhere['bool']['must'][] = ['match' => ['addadmin' => $adminid]];
}
// >=
if($stime){
$esWhere['bool']['must'][] = ['range' => ['addtime' => ['gte' => strtotime($stime)]]];
}
// <=
if($etime){
$esWhere['bool']['must'][] = ['range' => ['addtime' => ['lte' => strtotime($etime)]]];
}
// like
if($name){
$esWhere['bool']['must'][] = ['match_phrase' => ['name' => $name]];
}
// 排序
$esOrder = ['id' => 'DESC'];
$esOrder = json_encode($esOrder);
$esWhere = $esWhere ? json_encode($esWhere) : '';
//es搜索
$Where = [
'size' => 10,
'from' => 0,
'index' => 'my_index',
'type' => 'my_type',
'body' => '{
"query": '.$esWhere.','.
'"sort": '.$esOrder.'
}'
];
include APPPATH.'vendor/autoload.php';
$this->es = ClientBuilder::create()->setHosts(['127.0.0.1:9200'])->build();
//结果集
$esRes = $esWhere ? $this->es->search($Where) : '';
//总记录数
$totlerows = $esRes['hits']['total']['value'];