简介:java系列技术分享(持续更新中…)
初衷:一起学习、一起进步、坚持不懈
如果文章内容有误与您的想法不一致,欢迎大家在评论区指正
希望这篇文章对你有所帮助,欢迎点赞 收藏 ⭐留言更多文章请点击
官方文档地址
:https://www.elastic.co/cn/elasticsearch
GitHub地址
:https://github.com/elastic/elasticsearch
Elasticsearch是一个
基于Lucene
的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口
。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布。它是一个实时分布式搜索和分析引擎,能够达到实时搜索、稳定、可靠、快速和安装使用方便的效果。可以从海量数据数据快速找到需要的内容,可以用于存储和搜索大量的数据。它也支持多种可扩展的插件,可以用于实现更多的功能。
Elasticsearch的主要特点:
分布式搜索和分析,高效的搜索和分析, 简单的API,支持多种可扩展的插件
Elasticsearch可以用于许多不同的用途,包括:
搜索和分析大量的数据, 实时搜索和分析, 日志分析, Web搜索, 系统监控等工能
Elasticsearch是一个基于Lucene
的搜索服务器
Lucene
是一个Java语言的搜索引擎,是Apache的开源搜索引擎,提供搜索引擎的核心API,官网地址https://lucene.apache.org/
Lucene的优势:
易扩展 、高性能
Lucene的缺点:
只限于java语言开发不支持水平扩展
Elasticsearch具备优势
支持分布式,可水平扩展,提供Restful接口,可被任何语言调用
是以Elasticsearch为核心的技术栈,包括beats 、Logstash 、Kibana 、Elasticsearch
被广泛应用在日志数据分析,实时监控等领域
部署单点es
kibana容器
,因此需要让es和kibana容器互联。先创建一个网络docker network create es-net
docker pull elasticsearch:7.12.1
docker run -d \
name es \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-e "discovery.type=single-node" \
-v es-data:/usr/share/elasticsearch/data \
-v es-plugins:/usr/share/elasticsearch/plugins \
privileged \
network es-net \
-p 9200:9200 \
-p 9300:9300 \
elasticsearch:7.12.1
http://localhost:9200 即可看到elasticsearch的响应结果:
表示已成功
docker pull kibana:7.12.1
docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--network=es-net \
-p 5601:5601 \
kibana:7.12.1
--network es-net
:加入一个名为es-net的网络中,与elasticsearch在同一个网络中浏览器输入http://localhost:5601 ,即可看到结果
这个界面中可以编写DSL来操作elasticsearch。并且对DSL语句有自动补全功能。
使用的详细介绍将持续更新中…