PHP版Elasticsearch全文检索引擎的环境搭建实践
Elasticsearch作为一个非常流行的全文检索引擎,而PHP作为中小网站的优先选择编程语言,搜索是网站或者应用常有的功能,那么PHP怎么样与Elasticsearch进行协同合作完成搜索功能?以及我们怎么样搭建关于PHP版的Elasticsearch开发环境?下面我一一为大家解密。 环境介绍 OS:Windows 7旗舰版 64位 PHP:PHP 7.1.2 MySQL:MySQL 5.5.27 Web服务器:Apache 2.4.3 PHP框架:LV框架 java环境安装 由于Elasticsearch是基于Java环境的,所以我们需要先安装Java环境,可以采用下面的步骤安装Java环境。 进入到Java的官方网站。 下载Java文件并进行安装,由于是Windows环境,所以我们仅仅需要点击下一步下一步就能够完成Java的安装。 将Java的安装路径添加到系统环境变量里,然后执行java -version,如果输出类似下面的内容,说明你的Java环境成功搭建了。 搭建Elasticsearch环境 首先进入Elasticsearch的官方网站php搭建,参考上图,我们选择下载ZIP的文件进行环境搭建,下载完文件之后,在E盘新建一个目录,用于存储该ZIP文件的解压文件,参考下图。 打开windows系统的命令窗口,然后将目录切换到上面的Elasticsearch解压目录的bin目录里面,执行elasticsearch.bat文件,就可以开启我们的Elasticsearch服务程序了,然后打开浏览器,访问:9200,看看是否真的启动了。 搭建PHP开发环境 上面已经完成了关于Elasticsearch服务端的环境搭建,下面我们来完成关于PHP客户端环境的搭建任务。 用IDE(PhpStorm)打开LV框架,然后找到composer.json文件,在require里面添加下面的内容,然后执行php composer.phar update完成PHP开发环境的搭建。 一些基本的概念 下面的概念都是针对Elasticsearch说明的 index:类似于RDBMS里面的数据库,可以有多个数据库。 type:类似于RDBMS里面的数据表,用于存储后面的document。 document:类似于RDBMS里面的每条数据记录。 id:类似于RDBMS数据表里面的主键,只不过这里仅仅一个字段而已。 查询字段与显示字段:对于显示字段,不提倡进行搜索,仅仅用于显示数据使用,相反,对于查询字段,既可以作为搜索用,也能够作为显示用。 数据库索引和全文检索倒排索引,数据库索引一般是文档ID作为索引,文档内容作为记录,而倒排索引则相反,它以记录里面的关键词作为索引,而文档ID作为记录。 完成我的第一个简单DEMO 上面我已经搭建好了LV版本的PHP开发环境,下面我们来实现文档入库和查询的DEMO。 其他全文检索引擎介绍 其实除了Elasticsearch外,对于我们PHP程序员来说,还有其他几个常用的全文检索引擎,分别是Sphinx、Solr、迅搜等,但是对于中文分词来说,除了迅搜以为,其他几个全文检索引擎都是需要作特殊处理的。 (编辑:源码网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |