本文主要包括:
- Elasticsearch简介
Elasticsearch简介
Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎,有以下几个特点:
- 一个分布式的实时文档存储,每个字段都可被索引
- 一个分布式实时搜索引擎
- 强大的横向扩展能力,并支持大数据集的结构化/非结构化数据
- Elasticsearch是
面向文档
的,意味着它存储整个对象或文档(使用JSON
作为文档的序列化格式)
Elasticsearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene™ 基础之上。 Lucene 可以说是当下最先进、高性能、全功能的搜索引擎库—无论是开源还是私有。
Elasticsearch的安装很简单,直接解压就行,访问使用restAPI,也可以使用kibana
kibana的安装也很简单,直接解压,配置一下ES的相关属性就可以
安装好后,访问http://localhost:5601/
即可使用kibana操作ES
Elasticsearch使用
直接通过Curl操作ES
这种方式,是直接使用 RESTful API 通过端口 9200 和 Elasticsearch 进行通信,不过不太常用,一般都是通过kibana来操作ES
- 操作索引
# 创建一个名称为 alibaba 的 Index(索引库) curl -X PUT localhost:9200/alibaba # 删除索引 curl -X DELETE localhost:9200/alibaba # 列出每个 Index 包含的 Type curl "localhost:9200/_mapping?pretty=true"
- 操作Document 文档
- 新增文档
上述示例中,alibaba 代表 Index,user 代表 Type,如果它们不存在,会自动创建。1 代表记录的 id。# 在 alibaba/user 中,新增一条记录(文档),记录的 id 为 1 curl -X PUT localhost:9200/alibaba/user/1 -d {\"name\":\"rose\"} # 或者 curl -X PUT localhost:9200/alibaba/user/1 -H "Content-Type: application/json" -d {\"name\":\"rose\"}
新增记录时,也可以不指定 id,这时服务器会自动生成一个随机字符串作为该记录的 id。
- 新增文档
** 查看记录
# 查看 alibaba/user/1 记录
curl localhost:9200/alibaba/user/1
# 查看 alibaba/user/1 记录(会对结果进行格式化)
curl localhost:9200/alibaba/user/1?pretty
# 查看 alibaba/user 中的所有记录
curl localhost:9200/alibaba/user/_search
?pretty 表示对返回结果进行格式化,以便更易于阅读。
** 删除记录
curl -X DELETE localhost:9200/alibaba/user/1?pretty
通过kibana操作ES
kibana的访问地址:http://localhost:5601/
在kibana侧边栏找到Management -> Dev Tool ,在Dev Tool里就可以操作ES了