Elasticsearch基础知识分享

  1. Elasticsearch背景介绍
    Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful web 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
    备注:
    (1) Lucene
    Lucene是一套用于全文检索的开放源代码程序库,同时也是最受欢迎的免费Java信息检索程序库。
    (2) RESTful
    RESTful是一种万维网软件架构风格,不是一种标准
    (3) Elasticsearch开箱即用,请在官网下载。

  2. Elasticsearch相关概念及项目包介绍
    (一) 相关概念
    1、索引(index)
    ES中文档存储的地方就叫索引,也可以理解为数据库
    2、类型(type)
    文档归属于一种类型(type),而这些类型存在于索引(index)中,可以理解为数据库中的一张表
    3、文档(documents)
    可以理解为数据库中一行数据就是一个文档
    4、字段(File)
    可以理解为一行数据中的字段
    5、数据包含关系如下:Elasticsearch -> Indices -> Types -> Documents -> Fields
    6、分片(shard)
    Elasticsearch集群允许系统存储的数据量超过单机容量,实现这一目标引入分片策略shard。在一个索引index中,数据(document)被分片处理(sharding)到多个分片上。Elasticsearch屏蔽了管理分片的复杂性,使得多个分片呈现出一个大索引的样子。
    7、副本(replica)
    为了提升访问压力过大是单机无法处理所有请求的问题,Elasticsearch集群引入了副本策略replica。副本策略对index中的每个分片创建冗余的副本,处理查询时可以把这些副本当做主分片来对待(primary shard),此外副本策略提供了高可用和数据安全的保障,当分片所在的机器宕机,Elasticsearch可以使用其副本进行恢复,从而避免数据丢失。
    8、路由(routing)
    当向Elasticsearch存放数据时,根据文档标识符_id将文档分配到多个分片上,负载均衡算法只需要实现平均即可。当取用数据时,查询所有的分片然后汇总结果,而并不必须知道数据到底存在哪个分片上。带来的问题是,在查询时,要查询所有的分片然后汇总结果,造成性能的损耗,在不乐观的情况下,有些分片的查询可能失败(failed),造成结果不准确。为了避免这个问题,引入了路由功能(routing),在存入数据时通过路由键将数据存入指定分片,在查询的时候可以通过相同的路由键指明在哪个分片将数据查出来。
    (二) 目录介绍
    1、Bin 启动目录
    2、Config 配置目录
    3、Data 节点分片数据目录
    4、Lib jar包目录
    5、Logs 日志目录
    6、Plugins 工具目录

  3. Elasticsearch启动测试
    (一)启动
    1、es目录下进入bin目录下,点击 elasticsearch.bat
    2、es目录下命令行执行./bin/elasticsearch
    (二)测试
    1、es目录下命令行执行:curl ‘http://localhost:9200/?pretty
    2、浏览器访问地址:http://localhost:9200/_plugin/head/

  4. Elasticsearch命令行数据的增删改查
    (一)查询
    请求方式:curl ‘localhost:9200/index/type/id?pretty’
    1、localhost:9200是ES的访问地址和端口
    2、index是索引的名称
    3、type是类型的名称
    4、pretty是将返回的信息以可读的JSON形式返回。
    搜索API
    1、请求参数方式:curl ‘localhost:9200/index/_search?XXX’
    2、请求体方式:curl -XPOST ‘localhost:9200/index/_search?pretty’ -d ‘XXX’
    (二)新增:curl -XPOST http://localhost:9200/index/type/id -d’{XXX}’
    (三)修改:与新增类似
    (四)删除:curl -XDELETE ‘localhost:9200/index/type/id’
    备注:以上XXX指需要查询的内容
    以上就是简单的ES学习内容,当然这是很基础的知识,本人了解也有限,如果有什么问题请及时指出。当然最好的学习方式是参考ES官网文档,在我之前的博客也有提到过,学无止境,希望能与大家一起进步。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值