一、安装

安装 Elasticsearch 之前,需要先安装 Java,并配置好 Java 环境变量。

安装好 Java 环境后,进入 Elasticsearch 官网下载安装包。

解压安装包,进入解压目录下的 bin 目录,输入下面的命令(Windows),启动 Elasticsearch。

elasticsearch.bat

打开浏览器,在地址栏输入“http://localhost:9200/”,出现下面页面,则代表启动成功。

也可以使用 CURL(利用URL语法在命令行方式下工作的开源文件传输工具)命令进行查询。Windows 环境下需要安装 CURL。

打开另一个终端,输入下面的命令。

curl "http://localhost:9200/?pretty"

如果返回如下信息:

{
  "name" : "OpBZ5jc",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "HN9bHTyMQOWMx8m8nn-ajw",
  "version" : {
    "number" : "5.6.3",
    "build_hash" : "1a2f265",
    "build_date" : "2017-10-06T20:33:39.012Z",
    "build_snapshot" : false,
    "lucene_version" : "6.6.1"
  },
  "tagline" : "You Know, for Search"
}

说明你的 Elasticsearch 集群已经启动成功并且能正常运行。

按下 CTRL + C,Elasticsearch 就会停止运行。

二、重要概念

在使用 Elasticsearch 之前,先来了解一些重要概念。

2.1 Cluster 和 Node

集群(Cluster)就是一组计算机,它们作为一个整体,向用户提供一组网络资源。这些单个的计算机系统,就是集群中的节点(Node)

在 Elasticsearch 中,一个节点就是一个 Elasticsearch 实例,而一个集群由一个或多个节点组成,它们具有相同的 cluster.name。它们协同工作,分享数据和负载。当加入新的节点,或者删除一个节点时,集群就会感知到,并平衡数据。

2.2 Index

索引(Index)在 Elasticsearch 中有着不同的含义。

名词情况下,索引(Index)可以理解成关系型数据库中的数据库,它是相关文档存储的地方,Index 的复数是 Indices 或 Indexes。

动词情况下,索引一个文档表示把一个文档存储到索引(名词)里,以便它可以被检索或者查询。这很像 SQL 中的 INSERT 关键字,差别是,如果文档已经存在,新的文档将覆盖旧的文档。

2.3 Type

在 Elasticsearch 中,一个索引可以存储许多不同用途的对象。例如基于 Elasticsearch 的博客系统可以存储文章和评论。文档类型(Type)可以帮助我们很好的区分这些对象。可以将文档类型理解成传统关系型数据库中的 Table。

2.4 Document

文档(Document)是 Elasticsearch 中存储的主要实体,相当于传统关系型数据库中的一行数据。在 Elasticsearch 中,文档使用 JSON 格式表示,例如:

{
  "name":"devywb",
  "age":"23"
}

下面是 Elasticsearch 和关系型数据库对比图。

三、新建、查询、删除索引

3.1 新建索引

新建索引,可以使用 CRUL 工具发送 PUT 请求,下面的命令是新建一个名为 blog 的索引,索引名称只能使用小写字母。

curl -XPUT "http://localhost:9200/blog?pretty"

执行命令后,服务器返回一个 JSON 对象。

{
  "acknowledged" : true,
  "shards_acknowledged" : true,
  "index" : "blog"
}

acknowledged 字段代表是否操作成功。

 3.2 查询所有索引

查询所有索引,可以使用 CRUL 工具发送 GET 请求。

curl -XGET "http://localhost:9200/_cat/indices?v"

执行命令后,服务器返回下面的信息。

health status index uuid                   pri rep docs.count docs.deleted store.size pri.store.size
yellow open   blog  C5o41LfeSrSc5PzI3_hn9g   5   1          0            0       324b           324b

也可以指定返回哪些信息。

curl -XGET "http://localhost:9200/_cat/indices?h=health,status,index,uuid&v"

返回结果如下:

health status index uuid
yellow open   blog  C5o41LfeSrSc5PzI3_hn9g

3.3 删除索引

删除索引,可以使用 CRUL 工具发送 DELETE 请求。

curl -XDELETE "http://localhost:9200/blog?pretty"

返回结果如下:

{
  "acknowledged" : true
}

acknowledged 字段代表是否删除成功。

四、参考链接

Elasticsearch: 权威指南

Elasticsearch 学习(二):安装和使用的更多相关文章

  1. Hbase深入学习(二) 安装hbase

    Hbase深入学习(二) 安装hbase This guidedescribes setup of a standalone hbase instance that uses the local fi ...

  2. elasticsearch学习笔记——安装,初步使用

    前言 久仰elasticsearch大名,近年来,fackbook,baidu等大型网站的搜索功能均开始采用elasticsearch,足见其在处理大数据和高并发搜索中的卓越性能.不少其他网站也开始将 ...

  3. ElasticSearch学习笔记--安装

    1.安装ElasticSearch https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html 这 ...

  4. Elasticsearch学习笔记——安装、数据导入和查询

    到elasticsearch网站下载最新版本的elasticsearch 6.2.1 ? 1 https://www.elastic.co/downloads/elasticsearch 中文文档请参 ...

  5. YII2.0学习二 安装adminlte 后台模板

    控制台切换到安装目录wwwroot/shanghai/ 修改一下composer镜像地址:composer 使用中国镜像 运行 composer require dmstr/yii2-adminlte ...

  6. Elasticsearch 学习二(请求流程).

    一.写入数据 1.ES 的任意节点都可以作为协调(Coordinating)节点接受请求(包括新建.索引或者删除请求),每个节点都知道集群中任一文档位置: 2.协调节点会通过 routing 字段计算 ...

  7. ElasticSearch学习笔记-01 简介、安装、配置与核心概念

    一.简介 ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.支持通过HTTP使用JSON进 ...

  8. elasticSearch学习安装

    资料: 1.Elasticsearch学习,请先看这一篇! https://blog.csdn.net/laoyang360/article/details/52244917 2. linux下ela ...

  9. 批量搞机(二):分布式ELK平台、Elasticsearch介绍、Elasticsearch集群安装、ES 插件的安装与使用

    一.分布式ELK平台 ELK的介绍: ELK 是什么? Sina.饿了么.携程.华为.美团.freewheel.畅捷通 .新浪微博.大讲台.魅族.IBM...... 这些公司都在使用 ELK!ELK! ...

  10. Hadoop学习------Hadoop安装方式之(二):伪分布部署

    要想发挥Hadoop分布式.并行处理的优势,还须以分布式模式来部署运行Hadoop.单机模式是指Hadoop在单个节点上以单个进程的方式运行,伪分布模式是指在单个节点上运行NameNode.DataN ...

随机推荐

  1. Python内置函数(29)——slice

    英文文档: class slice(stop) class slice(start, stop[, step]) Return a slice object representing the set ...

  2. 源码解析flask的路由系统

    源码解析flask的路由系统 当我们新建一个flask项目时,pycharm通常已经为项目定义了一个基本路由 @app.route('/') def hello_world(): return 'He ...

  3. Angular 学习笔记 (路由外传 - RouteReuseStrategy)

    refer : https://github.com/angular/angular/issues/10929 https://stackoverflow.com/questions/41280471 ...

  4. 【深度学习】深入理解优化器Optimizer算法(BGD、SGD、MBGD、Momentum、NAG、Adagrad、Adadelta、RMSprop、Adam)

    在机器学习.深度学习中使用的优化算法除了常见的梯度下降,还有 Adadelta,Adagrad,RMSProp 等几种优化器,都是什么呢,又该怎么选择呢? 在 Sebastian Ruder 的这篇论 ...

  5. 关于css的层叠上下文和层叠顺序问题

    关于css的层叠上下文和层叠样式问题 最近在项目中遇到了一个让我欲仙欲死的问题,我给项目中的图片设置了一个淡入效果,几opacity变化,但当我在它的上面有一个定位元素时,动画结束后,定位元素居然被遮 ...

  6. Python/零起点(一、数字及元组)

    Python/零起点(一.数字及元组) int整型 int()强行转换成整型数据类型 int整型是不可变,且是不可迭代的对象 一.整型数字用二进制位数表示案例: age=7 #设定一个数字赋值给age ...

  7. Windows10+Docker搭建分布式Redis集群(SSH服务镜像)(二)

    前言:上篇文章我们搭建好了Docker,下面我们开始使用Docker创建镜像,Docker命令就不介绍了.这里宿主是Windows10,cmd的管理和后期文件的复制不是很方便,将创建支持SSH的Cen ...

  8. Java基础语法<五> 大数值BigInteger BigDecimal

    笔记整理 来源于<Java核心技术卷 I > <Java编程思想> 如果基本的整数和浮点数精度不能够满足需求,那么可以使用java.math包中的两个很有平有用的类:BigIn ...

  9. 2018 6年iOS开发常用的三方库

    开发一般APP必备三方库,省力秘籍!!!本篇文章会经常更新最新常用的三方. 1.网络请求库 AFNetworking https://github.com/AFNetworking/AFNetwork ...

  10. 基于 MySQL 的数据库实践(准备工作)

    背景 本学期在北京大学选修了<数据库概论>的实验班课程,由于 SQL 语法并不是特别理论的内容,因此课上暂时也没有特别展开.出于探索数据库领域的兴趣,使用国内普遍使用的数据库软件 MySQ ...