ElasticSearch基本原理及应用

目录

 

1、ElasticSearch简介

2、ElasticSearch安装与启动

2.1 安装JDK(自行安装)

2.2 安装启动elasticsearch

2.3 安装ES的图形化界面插件

2.4 安装IK分词器

3、ElasticSearch相关术语

3.1 ElasticSearch与关系型数据库的对比

3.2 Elasticsearch核心概念

4、ElasticSearch的客户端操作

4.1 使用Postman工具进行Restfu接口访问

4.2 使用Kibana自带的开发者工具操作

4.3 IK分词器与标准分词器的区别

5、ElasticSearch 倒排索引原理


1、ElasticSearch简介

ElaticSearch,简称为ES, ES是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。ES也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的Restful Api来隐藏Lucene的复杂性,从而让全文搜索变得简单。

应用例子:

2013年初,GitHub抛弃了Solr,采取ElasticSearch来做PB级的搜索。 “GitHub使用ElasticSearch搜索20TB 的数据,包括13亿文件和1300亿行代码”

维基百科:启动以ElasticSearch为基础的核心搜索架构SoundCloud:“SoundCloud使用ElasticSearch为1.8亿用户提供即时而精准的音乐搜索服务”

百度:百度目前广泛使用ElasticSearch作为文本数据分析,采集百度所有服务器上的各类指标数据及用户自定义数据,通过对各种数据进行多维分析展示,辅助定位分析实例异常或业务层面异常。目前覆盖百度内部20多个业务线(包括 Casio、云分析、网盟、预测、文库、直达号、钱包、风控等),单集群最大100台机 器,200个ES节点,每天导入30TB+数据

新浪使用ES分析处理32亿条实时日志

阿里使用ES构建挖掘自己的日志采集和分析体系

ElasticSearch对比Solr

  • Solr利用 Zookeeper 进行分布式管理,而ElasticSearch自身带有分布式协调管理功能;

  • Solr支持更多格式的数据,而ElasticSearch仅支持Json文件格式;

  • Solr官方提供的功能更多,而ElasticSearch本身更注重于核心功能,高级功能多由第三方插件提供;

  • Solr在传统的搜索应用中表现好于ElasticSearch,但在处理实时搜索应用时效率明显低于ElasticSearch

2、ElasticSearch安装与启动

2.1 安装JDK(自行安装)

2.2 安装启动elasticsearch

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.0-x86_64.rpm
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.0-x86_64.rpm.sha512
#需要安装sha命令 
yum install perl-Digest-SHA
shasum -a 512 -c elasticsearch-7.8.0-x86_64.rpm.sha512 
rpm --install elasticsearch-7.8.0-x86_64.rpm
​
#安装完成后,可以在/etc/elasticsearch目录下看到相关的配置文件
#编辑 vim /etc/elasticsearch/elasticsearch.yml,增加以下配置
​
#如果该elasticsearch做过集群配置,需要先删除data数据,否则记录下集群信息后不能部署单机
path.data: /var/lib/elasticsearch
#日志路径
path.logs: /var/log/elasticsearch
# 是否支持跨域
http.cors.enabled: true
# *表示支持所有域名
http.cors.allow-origin: "*"
#节点名称(必须配)
node.name: node-1
#DNS路由,提供外网访问,也可以为本机IP
network.host: 0.0.0.0 
#启动全新的集群时需要此参数(单机也得配置),再次重新启动此参数可免
cluster.initial_master_nodes: ["node-1"]
​
#配置开机启动
systemctl daemon-reload
systemctl enable elasticsearch.service
​
#如果不能用root启动,增加一个新账号(老版本可能有该问题)
groupadd es
useradd es -g es -p es
chown -R es:es /es目录
su es
​
#启动
systemctl start elasticsearch
#测试是否安装成功,使用127.0.0.1不行
curl http://192.168.223.128:9200
#看到如下信息标识安装成功 
[root@ydt elasticsearch]# curl http://192.168.223.128:9200
{
  "name" : "ydt",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "a-m51u-AQ6m-PaEJfwqTfg",
  "version" : {
    "number" : "7.8.0",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "757314695644ea9a1dc2fecd26d1a43856725e65",
    "build_date" : "2020-06-14T19:35:50.234439Z",
    "build_snapshot" : false,
    "lucene_version" : "8.5.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
#也可以通过命令查看启动状态
[root@ydt elasticsearch-head]# systemctl status elasticsearch
● elasticsearch.service - Elasticsearch
   Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; disabled; vendor preset: disabled)
   Active: active (running) since 三 2020-07-08 17:09:00 CST; 16min ago
     Docs: https
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值