public function __construct()
{
$this->client=ClientBuilder::create()->setHosts(['127.0.0.1:9200'])->build();
}
public function es($index,$type,$id,$body)
{
$params=[
'index'=>$index,
'type'=>$type,
'id'=>$id,
'body'=>$body
];
$res=$this->client->index($params);
return $res;
}
public function ess($index,$type,$body)
{
$params = [
'index'=>$index,
'type'=>$type,
'body'=>[
'query'=>[
'match'=>[
'title'=>$body
]
],
'highlight'=>[
'pre_tags'=>[""],
'post_tags'=>[""],
'fields'=>[
'title'=> new \stdClass()
]
]
]
];
$res=$this->client->search($params);
return $res;
}
添加
在服务层封装
composer require elasticsearch/elasticsearch
添加
$data = Request()->get('title');
if ($data) {
$dats = new es();
$sy = $dats->ess('', '', $data);
$score = $sy['hits']['hits'];
foreach ($score as $k => $v) {
$score[$k]['_source']['title'] = $v['highlight']['title']['0'];
}
$datas = array_column($score, '_source');
return json_encode(['code' => 200, 'meg' => '成功', 'data' => $datas]);
}
高亮搜索
$data = Request()->all();
$dats = goods::create($data);
$mk=[
'title'=>$dats->title,
'neirong'=>$dats->neirong,
'uname'=>$dats->uname
];
$es= new es();
$es->es('','',$dats->id,$mk);
return json_encode(['code' => 200, 'meg' => '成功', 'data' => $dats]);