作为最受欢迎和最有活力的全文搜索引擎系统,它可以快速地储存、搜索和分析海量数据;*、Stack Overflow、Github 都采用它。
一、ElasticSearch安装运行
Elastic 需要 Java 7环境,并保证环境变量JAVA_HOME正确设置。
1.1 下载
到官网下载页下载ElasticSearch 的ZIP安装包,解压到你需要放置的位置即可,我下载的版本是6.2.4。
1.2 启动
进入解压后的文件夹的bin文件夹,找到elasticsearch.bat文件,双击就会发现终端跳出运行,Elastic会在默认的9200端口运行。这时,可以在浏览器输入:http://localhost:9200/ ,如果出现下图样式,则证明安装成功!
1.3 关闭
命令界面,按下 Ctrl + C,询问你是否确定关闭,输入Y,Elastic 就会停止运行.
二 基本概念
2.1 Node 与 Cluster
Elastic 本质上是一个分布式数据库,允许多台服务器协同工作,每台服务器可以运行多个 Elastic 实例。
单个 Elastic 实例称为一个节点(node)。一组节点构成一个集群(cluster)。
2.2 Index
Elastic 会索引所有字段,经过处理后写入一个反向索引(Inverted Index)。查找数据的时候,直接查找该索引。
Index(索引)是Elastic 数据管理的顶层单位相当于单个数据库,每个 Index(即数据库)的名字必须是小写。
2.3 Document
Index 里面单条的记录称为 Document(文档)。许多条 Document 构成了一个 Index。
同一个 Index 里面的 Document,不要求有相同的结构(scheme),但是最好保持相同,这样有利于提高搜索效率。
2.4 Type
Document(单条记录)可以分组,比如weather这个 Index 里面,可以按城市分组(北京和上海),也可以按气候分组(晴天和雨天)。这种分组就叫做 Type,它是虚拟的逻辑分组,用来过滤 Document。
我把它理解成数据库中的表,便于理解,后续又问题再更新。
三、新增/删除 Index
此操作相当于新建/删除数据库
3.1 新建Index,需要向Elastic服务器发送PUT请求
输入以下命令,新建company的Index curl -X PUT "localhost:9200/company"
命令最后一行返回: {"acknowledged":true,"shards_acknowledged":true,"index":"company"}
说明操作成功!
3.2 删除Index
需要发出DELETE请求 curl -X DELETE "localhost:9200/company"