您的位置:首页 > 编程语言 > PHP开发

Elasticsearch5.3 学习(一):安装、Yii2.0 下载es扩展

2017-04-20 14:50 597 查看
Elasticsearch是一个基于Lucene,提供了一个分布式多用户能力的全文搜索引擎。其他就不多说了,官方文档有详细的介绍。

我自己是在CentOS 7.0安装的



Elasticsearch 是在Elasticsearch官网下载的最新版本 5.3 https://www.elastic.co/cn/




Elasticsearch 不需要安装,自己解压后运行就可以了 切换到解压后的bin目录。/path/elasticsearch-5.3.0/bin/

./elasticsearch 前台运行

./elasticsearch -d 后台运行


成功运行要确保Linux 系统安装了Java环境,因为Es是Java开发的 5.3 需要Java1.8及以上版本



Java环境安装,可以下载源码包编译安装,也可以yum 安装,我是yum安装的,yum安装首先可以搜索openjdk



找到x86_64对应的安装包 java-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environment, 安装



一切就绪,能得到这样的json数据就表示成功了



我用的Yii2.0框架,下载 elasticsearch-php , composer require "elasticsearch/elasticsearch:~5.0"



下载完,首先配置ES 连接地址



需要注意的是,要想配置生效 把ClientBuilder.php 文件中的 private 改成 public,不然默认连接的是127.0.0.1:9200



然后就是Es的增删改查了

新增

public function actionTest(){
$client = Yii::$app->elasticsearch->build();
$params = [
'index' => 'my_index',
'type' => 'my_type',
'id' => 'my_id_1',
'body' => ['testField' => 'abc','name' => 'dong']
];

$response = $client->index($params);
print_r($response);
}


 按id精确搜索

public function actionSearch(){
$client = Yii::$app->elasticsearch->build();
$params = [
'index' => 'my_index',
'type' => 'my_type',
'id' => 'my_id'
];
$data = $client->get($params);
var_dump($data);
}


按字段搜索


public function actionMatch(){
$client = Yii::$app->elasticsearch->build();
$params = [
'index' => 'my_index',
'type' => 'my_type',
'body' => [
'query' => [
'match' => [
'name' => 'dong'
]
]
]
];

$response = $client->search($params);
var_dump($response);
}


 删除一条数据

public  function actionDelete_document(){
$es = Yii::$app->elasticsearch->build();
$params = [
'index' => 'my_index',
'type' => 'my_type',
'id' => 'my_id'
];

$response = $es->delete($params);
var_dump($response);
}


 删除一个索引

public function actionDelete_index(){
$es = Yii::$app->elasticsearch->build();
$deleteParams = [
'index' => 'my_index'
];
$response = $es->indices()->delete($deleteParams);
var_dump($response);
}


  创建一个索引

public function actionCreate_index(){
$es = Yii::$app->elasticsearch->build();
$params = [
'index' => 'my_index',
'body' => [
'settings' => [
'number_of_shards' => 2,
'number_of_replicas' => 0
]
]
];

$response = $es->indices()->create($params);
var_dump($response);
}


  下一篇,写中文分词

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: