【分享】简单的Elasticsearch引擎操作类(thinkPHP版)
Elasticsearch(简称ES)是一个开源的搜索引擎,支持分布式搜索,可以拓展多台服务器以处理PB级大数据,是企业内部常用的服务工具。网上关于ES的资料越来越多,尤其国内的各种翻译和教程层出不穷。本文只做整理和分享自己写的一个简单的操作类,用于满足基本的“增、删、改、查”需求,是本人入门ES时编写,更多的需求和配置建议参考ES的官方文档。
下面直接贴代码,配置好环境就可以直接使用的(ES+Composer+TP,配置教程忽略):
<?php
class ESctrl
{
public $client = NULL;
function __construct()
{
Vendor('Elasticsearch.autoload'); //此处需使用Composer工具做配置,配置后用于导入接口库
$this->client = new \Elasticsearch\Client();
}
function __destruct()
{
$this->client = NULL;
}
public function create_index($index) //增库
{
$params = array();
$params['index'] = $index;
try
{
return $this->client->indices()->create($params);
}
catch(\Exception $e)
{
return false;
}
}
public function delete_index($index) //删库
{
$params = array();
$params['index'] = $index;
try
{
return $this->client->indices()->delete($params);
}
catch(\Exception $e)
{
return false;
}
}
public function index_doc($index, $type, $doc, $id=NULL) //增、改数据
{
$params = array();
$params['index'] = $index;
$params['type'] = $type;
$params['body'] = array("data" => $doc);
if($id != NULL)
{
$params['id'] = $id;
}
return $this->client->index($params);
}
public function get_doc($index, $type, $id) //查数据
{
$params = array();
$params['index'] = $index;
$params['type'] = $type;
$params['id'] = $id;
try
{
return $this->client->get($params);
}
catch(\Exception $e)
{
return false;
}
}
public function delete_doc($index, $type, $id) //删数据
{
$params = array();
$params['index'] = $index;
$params['type'] = $type;
$params['id'] = $id;
try
{
return $this->client->delete($params);
}
catch(\Exception $e)
{
return false;
}
}
}
?>
小结:刚入门ES搜索引擎是把ES类比一个数据库服务,所以需要类似的增删改查操作,参照官方的PHP版文档介绍的RESTful API接口简单的封装成一个类用于日常的一些简单操作。
目前没有反馈
表单载入中...