分布式搜索引擎:Elasticsearch 快速入门

本文中使用的 ES 为 7.x 版本。

一、Elasticsearch介绍

1.1 介绍

Elasticsearch(以下简称 ES)是一个开源的高扩展的分布式全文搜索引擎,它可以近乎实时的存储、查询数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。

ES 的底层是开源库 Apache Lucene,由于Lucene 库的原理十分复杂,还需要我们自己写代码实现接口,所以 ES 就使用 RESTful 风格的 API 封装了 Lucene,使其更加简单易用

1.2 安装(Ubuntu 20.04)

  1. 导入 ES 的 PGP 密钥:

    wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
    
  2. 上安装 apt-transport-https 包:

    sudo apt-get install apt-transport-https
    
  3. 添加存储库:

    echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list
    
  4. 安装 ES:

    sudo apt-get update && sudo apt-get install elasticsearch
    
  5. 启动服务:

    sudo systemctl start elasticsearch.service
    
  6. 测试安装:

    curl -X GET "localhost:9200/?pretty"
    

    出现主机、版本等信息,就说明安装成功。

  7. 设置开机自启动(可选):

    sudo systemctl enable elasticsearch.service
    

1.3 安装 Kinaba (官方客户端,可选)

  1. 到官网下载压缩包:传送门,这里以 windows 系统为例。

  2. 解压到合适的目录。

  3. 修改 config/kibana.yml 文件,找到 elasticsearch.hosts,去掉注释,改为 ES 的链接地址:

    elasticsearch.hosts: ["http://localhost:9200"]
    
  4. 运行 bin/kibana.bat(windows下)。

  5. 用浏览器打开 http://localhost:5601。

  6. 主要是使用 dev tools,其他的看着玩玩。

1.4 核心概念

  • 集群(Cluster):

    ES 可以运行在许多互相合作的服务器上,以实现容错和高可用性,这些服务器的集合称为集群。

  • 节点(Node):

    集群中的每一个服务器称为一个节点。

  • 分片(Shard):

    所有数据存储的最小单元块。

  • 副本(Replia):

    副本是一个分片的精确复制,可以提高查询吞吐量或实现高可用性。每个分片可以有零个或多个副本。

  • 全文查询(Full-text Search):

    全文索引就是把内容根据词的意义进行分词,然后分别创建索引,例如”今日是周日我们出去玩” 可能会被分词成:“今天“,”周日“,“我们“,”出去玩“ 等token,这样当你搜索“周日” 或者 “出去玩” 都会把这句搜出来。

1.5 与 MySQL 对比

ES 本质上是一个分布式数据库,所以,其中的很多概念在关系型数据库中都能找到与之相类似的概念。

ES MySQL
Index 索引 Database 数据库
Type 类型(7.x 版本后被移除! Table 表
Document 文档 Row 记录或行
Field 字段 Column 字段或列
Mapping 映射 Schema 结构
Everything is indexed Index 索引
Query DSL SQL
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花_城

你的鼓励就是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值