0%

Elasticsearch学习笔记

本文主要包括:

  • 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

  • 操作索引
    script
    # 创建一个名称为 alibaba 的 Index(索引库) curl -X PUT localhost:9200/alibaba # 删除索引 curl -X DELETE localhost:9200/alibaba # 列出每个 Index 包含的 Type curl "localhost:9200/_mapping?pretty=true"
  • 操作Document 文档
    • 新增文档
      script
      # 在 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\"}
      上述示例中,alibaba 代表 Index,user 代表 Type,如果它们不存在,会自动创建。1 代表记录的 id。
      新增记录时,也可以不指定 id,这时服务器会自动生成一个随机字符串作为该记录的 id。

** 查看记录

script
# 查看 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 表示对返回结果进行格式化,以便更易于阅读。

** 删除记录

script
curl -X DELETE localhost:9200/alibaba/user/1?pretty

通过kibana操作ES

kibana的访问地址:http://localhost:5601/
在kibana侧边栏找到Management -> Dev Tool ,在Dev Tool里就可以操作ES了