PHP的ES入门(一)—— Index的创建和删除「建议收藏」

Php (60) 2023-03-24 21:04

大家好,我是编程小6,很高兴遇见你,有问题可以及时留言哦。

大神请看

本文不一定写的全部都对,如果有哪里写得不好或者不对,可以提但请不要喷,不喜勿看绕道走就是了,虽然有可能在一些小知识点上会误导小白,但是还是可以看看基础的ES操作,对于使用还是一点帮助的

ES简介

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

PHP的ES使用

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

ES版本

本教程的ES版本为7.2,已经没有了type的概念,不一定适用于小于7.2的版本,简单点说就是,把ES比喻成Mysql数据库,有type的时候,index就是一个数据库,type就是数据库的一个个表,这种情况下一个项目中一般只有一个index,多个type;没有type之后,可以把index理解成一个个表,一个项目变成了多个index。

入门步骤

一般来说,我们用ES就是为了做搜索,做搜索我们用得更多的其实是数据库,所以就涉及到以下这些搜索:模糊匹配,精确匹配,类数据的In查询,And查询,Or查询,复合查询,Between查询等等等等....因为ES的查询语法肯定跟Mysql完全不一样,所以我们要看学习一下,还有相关的基础搜索相关的知识。

此处我们先简要介绍一下教程的步骤

  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…

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

elastica.io/

直接使用composer安装ruflin/elastica

composer install "ruflin/elastica" -vvv

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

相关的文档

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();
} 

本节完

是不是感觉很简单,哈哈哈哈哈哈

发表回复