php与thinkphp与elasticsearch
该文章是根据windows环境下搭建elasticsearch并使用tp5.0一起操作
只是一些关于es的一些简单操作 仅供参考
1.安装elasticeserch需要支持java环境和node.js (百度下载安装 并配置环境变量)
!!!!!!!!!!!注意安装的各个版本需要相互协调
当出现该页面则安装成功
2.需要在tp框架中安装es需要的插件
使用composer安装下载即可(本地windows环境可以cmd 进入框架执行该命令)
composer require elasticsearch/elasticsearch
接下来就可以在tp框架中进行操作
1.首先需要引用es
use Elasticsearch\ClientBuilder;
2在控制器中设置连接
private $client;
public function __construct()
{
$hosts = [
'http://localhost:9200',
];
$this->client = ClientBuilder::create()->setHosts($hosts)->build();
}
3.以下是一个写入的控制器方法
public function create()
{
$user=new \app\index\model\User();
$name='张三';
$data=$user->select($name); //数据库中查询数据
$params = [
'index' => 'user', #index的名字不能是大写和下划线开头
'id'=>001, //索引id 可自己设计
'body' => [
'settings' => [
'number_of_shards' => 2,
'number_of_replicas' => 0
],
'content' => $data
]
];
//创建索引并写入es
$this->client->create($params);
}
4.删除操作
public function delete()
{
$params = [
'index' => ['usersssss','user'], //可删除一个可多个 (索引名称)
];
$response = $this->client->indices()->delete($params);
}
5.查询
public function get()
{
$params = [
'index' => ['user'] //索引名称
];
$data = $this->client->indices()->getSettings($params);
var_dump($data);
}