网上很多关于es的例子都过时了,版本很老,这篇文章的测试环境是es6.5

通过composer安装

在代码中引入

下面循序渐进完成一个简单的添加和搜索的功能。

首先要新建一个index:

index对应关系型数据(以下简称mysql)里面的数据库,而不是对应mysql里面的索引,这点要清楚

在mysql里面,光有了数据库还不行,还需要建立表,es也是一样的,es中的type对应mysql里面的表。

注意:es6以前,一个index有多个type,就像mysql中一个数据库有多个表一样自然,但是es6以后,每个index只允许一个type,在往以后的版本中很可能会取消type。

type不是单独定义的,而是和字段一起定义

在定义字段的时候,可以看出每个字段可以定义单独的类型,在first_name中还自定义了分词器 ik,

这个分词器是一个插件,需要单独安装的,参考另一篇文章:elasticsearch基本尝试

现在数据库和表都有了,可以往里面插入数据了

概念:这里的 数据 在es中叫文档

多插入一点数据,然后来看看怎么把数据取出来:

通过id取出单条数据:

插曲:如果你之前添加文档的时候没有传入id,es会随机生成一个id,这个时候怎么通过id查?id是多少都不知道啊。

所以这个插入一个简单的搜索,最简单的,一个搜索条件都不要,返回所有index下所有文档:

现在可以去找一找id了,不过你会发现id可能长这样:zu65wwgbvd80yav8ivmk,不要惊讶,这是es随机生成的。

现在可以通过id查找指定文档了:

最后一个稍微麻烦点的功能:

注意:这个例子我不打算在此详细解释,看不懂没关系,这篇文章主要的目的是基本用法,并没有涉及到es的精髓地方,

es精髓的地方就在于搜索,后面的文章我会继续深入分析

上面的是一个简单的使用流程,但是不够完整,只讲了添加文档,没有说怎么删除文档,

下面我贴出完整的测试代码,基于laravel环境,当然环境只影响运行,不影响理解,包含基本的常用操作:    

到此这篇关于php中使用elasticsearch最新实例讲解的文章就介绍到这了,更多相关php中使用elasticsearch最内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!