本文不必定写的所有都对,若是有哪里写得很差或者不对,能够提但请不要喷,不喜勿看绕道走就是了,虽然有可能在一些小知识点上会误导小白,可是仍是能够看看基础的ES操做,对于使用仍是一点帮助的php
这里不对ES进行介绍,哈哈哈哈哈哈html
PHP中使用ES主要经过官方提供的包 elasticsearch/elasticsearch 进行开发,但这个教程不直接使用这个包,用另一个亲身实践以为还不错的包 ruflin/elastica 进行开发。sql
本教程的ES版本为7.2,已经没有了type的概念,不必定适用于小于7.2的版本,简单点说就是,把ES比喻成Mysql数据库,有type的时候,index就是一个数据库,type就是数据库的一个个表,这种状况下一个项目中通常只有一个index,多个type;没有type以后,能够把index理解成一个个表,一个项目变成了多个index。数据库
通常来讲,咱们用ES就是为了作搜索,作搜索咱们用得更多的实际上是数据库,因此就涉及到如下这些搜索:模糊匹配,精确匹配,类数据的In查询,And查询,Or查询,复合查询,Between查询等等等等....由于ES的查询语法确定跟Mysql彻底不同,因此咱们要看学习一下,还有相关的基础搜索相关的知识。api
此处咱们先简要介绍一下教程的步骤bash
www.elastic.co/guide/en/el…app
elastica.io/composer
直接使用composer安装ruflin/elasticaelasticsearch
composer install "ruflin/elastica" -vvv
复制代码
相关的文档ide
PUT /index名称
不传参
复制代码
代码实现
// 建立ES客户端
$config = [
'host' => '127.0.0.1',
'port' => 9200,
];
$client = new Client($config);
// 建立Index
$indexName = 'test';
$index = $client->getIndex($indexName);
// 若是Index不存在则建立
if (!$index->exists()) {
$index->create();
}
// 到这里就完成了一个最简单的Index建立,tips:插入数据时,若是Index没有建立则会自动建立,后续说到数据插入时再讲一次
复制代码
相关的文档
DELETE /index名称
不传参
复制代码
代码实现
// 缩略客户端链接代码
$index = $client->getIndex($indexName);
// 若是Index存在则删除
if ($index->exists()) {
$index->delete();
}
复制代码
是否是感受很简单,哈哈哈哈哈哈