简介
Elasticsearch,简称ES,是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口,隐藏Lucene的复杂性。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
为什么要学习ElasticSearch?
ElasticSearch是ELK(ElasticSearch、Logstash、Kibana、Beats)的一部分,用于实时日志分析的搜索部分。现如今,数据量大,基于日志分析的大数据,安全等领域都需要用到。
谁在使用?维基百科,百度百科,Stack Overflow、Github、电商网站等,基于权重来排序(懂的都懂)。
思维导图
ELK思维导图
书籍
如何读这本书 | Elasticsearch: 权威指南 | Elastic
本地安装
下载
下载链接:Past Releases of Elastic Stack Software | Elastic
这里下载的7.10.0,因为之后会建立集群,到时白嫖阿里云的,阿里云是推荐的7.10.0,这里保持一致(由于更新很快,可能你看到时早已更新,可以去下面参考链接看一看)。
解压
目录
- bin:可执行文件,.bat是Windows下可执行脚本
elasticsearch
,Elasticsearch 的启动进程,Elasticsearch 程序的主入口。elasticsearch-env
,用于环境变量的配置,可以在这里修改相关的环境配置,大部分情况不建议直接修改此配置文件,可以通过在外部通过变量名来进行设置。elasticsearch-translog
,主要用于对 Translog 进行清理操作。elasticsearch-keystore
,主要用于管理 Elasticsearch 的密钥。elasticsearch-plugin
,插件安装工具。elasticsearch-service*
开头的几个程序是为 Windows 平台提供的服务管理工具。
- config:配置文件
elasticsearch.yml
,Elasticsearch 的配置文件,使用 Yaml 文件格式作为标准。jvm.options
,Java 虚拟机运行环境的相关参数配置。log4j2.properties
,日志文件相关的配置。
- jdk:内置环境
- lib:类库,一些jar包
- logs:日志文件
- modules:内部功能模块
- plugins:插件
安装
本地安装很简单,但是白嫖更香。阿里云和腾讯云都有一个月ES集群试用计划。熟悉我的朋友应该了解到我秋招签了腾讯,这里就以腾讯云为例。点击文章下方腾讯云的参考(12月底截止),扫码登录后默认即可,之后创建专有网络
创建专有网络
给网络创建交换机
创建交换机
配置好,因为本地是7.10.x版本的,所以这里也选择了7.10.1版本
点击立即购买
点击立即支付
等待处理
一般需要等待3-5分钟
正常
注意:将自己的公网ip放到白名单,之后访问
python api访问
网页端访问
腾讯这个给了ES和Kibana,如果需要logstash和beats等需要单独购买。
入门
数据库-ElasticSearch入门(索引、文档、查询)_lady_killer9的博客-CSDN博客
进阶
数据库-Elasticsearch进阶学习笔记(分片、映射、分词器、即时搜索、全文搜索等)
数据库-Elasticsearch进阶学习笔记(集群、故障、扩容、简繁体、拼音等)_lady_killer9的博客-CSDN博客
参考
开源搜索:Elasticsearch、ELK Stack 和 Kibana 的开发者 | Elastic