Elasticsearch5.3 学习(一):安装、Yii2.0 下载es扩展
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);
}
下一篇,写中文分词
Elasticsearch5.3 学习(一):安装、Yii2.0 下载es扩展的更多相关文章
- Centos6.5中 一键安装LNMP 安装Yii2.0 手工配置
1.一键安装LNMP cd /usr wget -c http://soft.vpser.net/lnmp/lnmp1.2-full.tar.gz tar zxf lnmp1.-full.tar.gz ...
- centos7安装redis3.0和phpredis扩展详细教程(图文)
整理一下centos7安装redis3.0和phpredis扩展的过程,有需要的朋友可以拿去使用. 一.安装redis3.0 1.安装必要的包 yum install gcc 2.centos7安装r ...
- 关于在Windows下Composer下载安装Yii2.0
先是composer的安装,主要有两个方式,一个直接下载安装包安装,Composer-steup.exe文件,第二种直接下载composer.phar文件,用php去运行这个文件可以一样起到作用,之后 ...
- Yii2.0 手动添加扩展 redis为例
手动下载yii2-redis扩展包(https://github.com/yiisoft/yii2-redis )并解压 将解压后的文件移至/vebdor/yiisoft命名为yii2-redis 打 ...
- windows2012 下面php7.2 安装mongodb4.0.4的扩展以及操作mongodb的方法
php连接mongodb驱动 的下载页面http://pecl.php.net/package/mongodb 数据插入: $manager = new MongoDB\Driver\Manager( ...
- PHP框架Yii2.0安装(基础版、高级版)
最近农成也是切入了yiiframework 2.0,就是安装yii2.0就花费了不少的时间,为此做了很多的弯路,特此写一篇博文来给后面学习的同学少走一点的弯路.写的不好的地方欢迎各位学习的同学们能够指 ...
- yii2.0框架安装心得
yii2.0安装心得 能够搜索到这篇文章的朋友相信是对yii框架有兴趣的,但是我不得不吐槽的是,这个安装过程确实让人头疼,接下来就让大家见证一下这个纠结的过程 根据官网的说法,安装这个框架需要用到co ...
- Yii2.0的安装与配置教程
版权声明:本文为博主原创文章,未经博主允许不得转载. PHP版本需求:PHP5.4.0以上,因为Yii2.0基于PHP5.4以上版本进行了完全重写. 目前有两种方法可以安装Yii2.0,一种是安装Co ...
- yii2.0的学习之旅(一)
一. 通过composer安装yii2.0项目 *本文是根据您已经安装了composer (1)跳转到项目根目录 cd /xxxx/www (2)下载插件 composer global requir ...
随机推荐
- [LOJ6280]数列分块入门 4
题目大意: 给你一个长度为$n(n\leq50000)$的序列$A$,支持进行以下两种操作: 1.将区间$[l,r]$中所有数加上$c$: 2.询问区间$[l,r]$在模$c+1$意义下的和.思路: ...
- sqlsever 和oracle的参数
StringBuilder strSql = new StringBuilder(); strSql.Append("insert into YXZY_TSDQWH("); str ...
- JNuit
s1:@Test s2:根据提示导包 s3:选中方法名,右击run as -->JUnit Test package songyan.jdbc.learn1; import org.junit. ...
- Visual Studio 插件开发资源
微软官方MSDN 官方MSDN永远是最大而全的电子字典Visual Studio Software Development Kit ,不过它的资料虽然详细,但没有一定的基础的话直接使用它的话有点无从入 ...
- 快速创建一个的指定大小的内容全为0xFF的文件
比如需要创建一个大小为2KB,内容为全0xFF的文件 步骤只有两步: 第一步. dd if=/dev/zero of=./test.img bs=1 count=2048 第二步. 使用WinHex文 ...
- 从M个数中随机等可能的取出N个的问题
从0到m-1这m个数中随机取出n个(n<=m) 要求每个数被取到的可能性相等. 第一个方法是把这m个数丢到一个List里面 然后用nextInt(list.size())来产生随机数 然后把li ...
- gcc 4.8更新gcc 4.9 5.4版本等
转载:http://www.linuxidc.com/Linux/2017-01/139976.htm 如果还在使用较旧版本的Ubuntu,或者是Ubuntu LTS,那么我们是很难体验新版gcc的. ...
- AJAX2.0
Ajax2.0 早期的ajax技术不支持异步文件上传 在后面更新了ajax2.0版本 支持文件上传了 但需要借助一个对象----FormData对象 Ajax2.0大体的步骤跟以前是一样的 但也是 ...
- 2017.7.21 linux下进程管理工具supervisord的安装与使用
参考来自:http://blog.haohtml.com/archives/15145 0 操作环境 1 supervisord的介绍 Supervisord是用Python实现的一款非常实用的进程管 ...
- 最简单简洁高效的Json数据解析
一.无图无真相 二.主要代码 1.导入jar包 拷贝fastjson.jar包到projectlibs包下 2.封装工具类JsonUtil.java package com.example.parse ...