PHP的ES入门(一)—— Index的建立和删除

大神请看

本文不必定写的所有都对,若是有哪里写得很差或者不对,能够提但请不要喷,不喜勿看绕道走就是了,虽然有可能在一些小知识点上会误导小白,可是仍是能够看看基础的ES操做,对于使用仍是一点帮助的php

ES简介

这里不对ES进行介绍,哈哈哈哈哈哈html

PHP的ES使用

PHP中使用ES主要经过官方提供的包 elasticsearch/elasticsearch 进行开发,但这个教程不直接使用这个包,用另一个亲身实践以为还不错的包 ruflin/elastica 进行开发。sql

ES版本

本教程的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

  1. 先简要介绍一下Index的建立与删除,对ES相关的API进行简要介绍并使用 ruflin/elastica 进行代码实现
  2. 介绍数据(document)与Index的增删改查,也是对ES相关的API进行简要介绍并用代码实现
  3. 有数据以后,咱们要进行查询,第三步就进行简单的查询讲解,这一步经过API来理解整个查询的代码实现是比较简单的,我就是这么搞的
  4. 介绍一下ES的一些查询认知误区,讲一下分词器和基础的查询规则
  5. 介绍一下Index的mapping和setting的相关配置,真 · 简单介绍,不会复杂,只教如何配置和修改

ES的官方文档

www.elastic.co/guide/en/el…app

PHP开发包ruflin/elastica的官方文档

elastica.io/composer

直接使用composer安装ruflin/elasticaelasticsearch

composer install "ruflin/elastica" -vvv
复制代码

建立Index,只建立,不进行任何配置

相关的文档ide

www.elastic.co/guide/cn/el…

www.elastic.co/guide/en/el…

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没有建立则会自动建立,后续说到数据插入时再讲一次
复制代码

删除Index

相关的文档

www.elastic.co/guide/cn/el…

www.elastic.co/guide/en/el…

DELETE /index名称

不传参
复制代码

代码实现

// 缩略客户端链接代码
$index = $client->getIndex($indexName);
// 若是Index存在则删除
if ($index->exists()) {
	$index->delete();
} 
复制代码

本节完

是否是感受很简单,哈哈哈哈哈哈

相关文章
相关标签/搜索