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扩展的更多相关文章

  1. 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 ...

  2. centos7安装redis3.0和phpredis扩展详细教程(图文)

    整理一下centos7安装redis3.0和phpredis扩展的过程,有需要的朋友可以拿去使用. 一.安装redis3.0 1.安装必要的包 yum install gcc 2.centos7安装r ...

  3. 关于在Windows下Composer下载安装Yii2.0

    先是composer的安装,主要有两个方式,一个直接下载安装包安装,Composer-steup.exe文件,第二种直接下载composer.phar文件,用php去运行这个文件可以一样起到作用,之后 ...

  4. Yii2.0 手动添加扩展 redis为例

    手动下载yii2-redis扩展包(https://github.com/yiisoft/yii2-redis )并解压 将解压后的文件移至/vebdor/yiisoft命名为yii2-redis 打 ...

  5. windows2012 下面php7.2 安装mongodb4.0.4的扩展以及操作mongodb的方法

    php连接mongodb驱动 的下载页面http://pecl.php.net/package/mongodb 数据插入: $manager = new MongoDB\Driver\Manager( ...

  6. PHP框架Yii2.0安装(基础版、高级版)

    最近农成也是切入了yiiframework 2.0,就是安装yii2.0就花费了不少的时间,为此做了很多的弯路,特此写一篇博文来给后面学习的同学少走一点的弯路.写的不好的地方欢迎各位学习的同学们能够指 ...

  7. yii2.0框架安装心得

    yii2.0安装心得 能够搜索到这篇文章的朋友相信是对yii框架有兴趣的,但是我不得不吐槽的是,这个安装过程确实让人头疼,接下来就让大家见证一下这个纠结的过程 根据官网的说法,安装这个框架需要用到co ...

  8. Yii2.0的安装与配置教程

    版权声明:本文为博主原创文章,未经博主允许不得转载. PHP版本需求:PHP5.4.0以上,因为Yii2.0基于PHP5.4以上版本进行了完全重写. 目前有两种方法可以安装Yii2.0,一种是安装Co ...

  9. yii2.0的学习之旅(一)

    一. 通过composer安装yii2.0项目 *本文是根据您已经安装了composer (1)跳转到项目根目录 cd /xxxx/www (2)下载插件 composer global requir ...

随机推荐

  1. POJ 2836 Rectangular Covering(状压DP)

    [题目链接] http://poj.org/problem?id=2836 [题目大意] 给出二维平面的一些点,现在用一些非零矩阵把它们都包起来, 要求这些矩阵的面积和最小,求这个面积和 [题解] 我 ...

  2. Mybatis中的XML中需要用到的转义符号整理

    使用这么久的Mybatis中需要转义的符号整理一下,小结一下: 1.       <         小于符号        < 2.       <=       小于等于     ...

  3. (转)Unity3d各种坑

    1.unity的资源包一旦量很大的时候卸载不干净,你可以尝试反复切场景 ,内存诡异的 增加 一直到爆,assetsbundle.unload(true);有问题 你想要卸载你必须先让你加载过的资源为n ...

  4. Bean的实例化--构造器

    1,编写Bean对象 package com.songyan.ico; public class Bean1 { } 2,配置xml <?xml version="1.0" ...

  5. android xml 布局文件中 android:ems="10"

    宽度为10个字符的宽度 xml中 android:ems属性 ,作为EditText 默认生成 的属性,其含义是需要编辑的 字符串长度 .设置为10时,最多编辑 10个em ,一个em单位是 两个in ...

  6. 【spring Boot】2.在Myecplise上把spring Boot项目打包 war包和jar包

    ========================================================第一部分======================================== ...

  7. nginx,wsgi,django的关系

    http://blog.csdn.net/lihao21/article/details/52304119 wsgi用于连续 nginx和django,客户端发来的请求,先经过wsgi,然后再传给dj ...

  8. 【Spark】SparkContext源代码解读

    SparkContext的初始化 SparkContext是应用启动时创建的Spark上下文对象,是进行Spark应用开发的主要接口,是Spark上层应用与底层实现的中转站(SparkContext负 ...

  9. Java HashMap工作原理深入探讨

    大部分Java开发者都在使用Map,特别是HashMap.HashMap是一种简单但强大的方式去存储和获取数据.但有多少开发者知道HashMap内部如何工作呢?几天前,我阅读了java.util.Ha ...

  10. 【Hadoop】Hadoop MR 如何实现倒排索引算法?

    1.概念.方案 2.代码示例 InverseIndexOne package com.ares.hadoop.mr.inverseindex; import java.io.IOException; ...