1.安装配置
2.安装完后运行
点击 elasticsearch.bat 运行
cmd进入 E:\ES\elasticsearch-head-master 文件安装的目录 执行 npm start
到此运行成功 在网页上查看 Node Exporter
3.在框架中
composer安装命令
composer require elasticsearch/elasticsearch
2.封装逻辑层
<?php
namespace App\Http\Business;
use Elasticsearch\ClientBuilder;
class Elasticsearch
{
//ES客户端链接
private $client;
/**
* 构造函数
*
* MyElasticsearch constructor
*
* */
public function __construct()
{
$this->client = ClientBuilder::create()->setHosts(['127.0.0.1:9200'])->build();
}
/**
* 添加文档
* @param $id
* @param string $index_name
* @param string $type_name
* @return array
*/
public function add_doc($id, $index_name, $type_name, $doc)
{
$params = [
'index' => $index_name,
'type' => $type_name,
'id' => $id,
'body' => $doc
];
return $this->client->index($params);
}
/**
* @param $key
* @param $index
* @param $type
* @return array|callable
* 上面的搜索是一个范例
* 本搜索是做es搜索的主要
*/
public function search($key, $index, $type)
{
//搜索的值和库中的值进行对比
$params = [
'index' => $index,//数据库名
'type' => $type, // 表名
'body' => [
'query' => [
'match' => [
//要搜索的字段↓
'fang_name' => $key//要搜索的内容
]
],
'highlight' => [ // 高亮
'fields' => [
'fang_name' => [
'pre_tags' => [
'<span style="color: red">'
],//样式
'post_tags' => [
'</span>'
]
]
]
]
],
];
//执行搜索
return $this->client->search($params);
}
}
3.在数据添加入库时进行es添加
(new Elasticsearch())->add_doc(内容id,'数据库名','表名',数据);
4.进行搜索
public function serach(){
$keyword = request()->get('keyword');
$res = (new Elasticsearch())->search($keyword,'goods','goods_type');
$data = array_column($res['hits']['hits'],'_source');
foreach ($data as $k => &$v){
$data[$k]['image'] = json_decode($data[$k]['image'],true);
$v['address'] = $res['hits']['hits'][$k]['highlight']['address']['0'];
}
if($data){
return response()->json(['code' => 200,'msg' => '查询成功','data' => $data]);
}
}
数据返回到前端就可以了
web端要解析,如果不修改会解析不出来 <td>{!!$val['title']!!}</td>