当前位置: 首页 > article >正文

认识+安装ElasticSearch

1. 为什么要学习ElasticSearch?

一般的来说,项目中的搜索功能尤其是电商项目,商品的搜索肯定是访问频率最高的页面之一。目前搜索功能是基于数据库的模糊搜索来实现的,存在很多问题。

1.1 数据库搜索所存在的问题

1.1.1  查询效率较低

由于数据库模糊查询不走索引,在数据量较大的时候,查询性能很差

1.1.2  功能单一

数据库的模糊搜索功能单一匹配条件非常苛刻,必须恰好包含用户搜索的关键字。而在搜索引擎中,用户输入出现个别错字,或者用拼音搜索、同义词搜索都能正确匹配到数据

综上所述,在面临海量数据的搜索,或者有一些复杂搜索需求的时候,推荐使用专门的搜索引擎来实现搜索功能。

目前全球的搜索引擎技术排名如下:


2. 初识ElasticSearch

了解ElasticSearch之前,先了解一个搜索引擎类库,如下:

Lucene是一个Java语言的搜索引擎类库,是Apache公司的顶级项目,由DougCutting于1999年研发

官网地址: Apache Lucene - Welcome to Apache Lucene  

Lucene的优势:
易扩展
高性能(基于倒排索引)

Lucene的性能非常好,因为它在做数据处理的时候,采用了这种倒排索引的方式。目前主流的所有的这种java语言的搜索引擎,基本上都是基于Lucene来实现的

ElasticSearch是一款非常强大的开源搜索引擎,支持的功能非常多

Elasticsearch的官方网站:Elasticsearch:官方分布式搜索和分析引擎 | Elastic 

目前最新的版本是:8.x.x

Elasticsearch是由elastic公司开发的一套搜索引擎技术,它是elastic技术栈中的一部分。完整的技术栈包括:

  • Elasticsearch:用于数据存储、计算和搜索

  • Logstash/Beats:用于数据收集

  • Kibana:用于数据可视化

整套技术栈被称为ELK,经常用来做日志收集、系统监控和状态分析

整套技术栈的核心就是用来存储搜索计算Elasticsearch

ElasticSearch具备下列优势:

  • 支持分布式,可水平扩展

  • 提供Restful接口,可被任何语言调用


3. 安装 ElasticSearch+Kibana

3.1  通过下面的Docker命令即可安装单机版本的ElasticSearch

由于拉取镜像比较复杂,所以将准备好的es.tar(ElasticSearch镜像包)kibana.tar包(Kibana镜像包)一起上传到虚拟机的/root目录下

先将es.tar镜像包和kibana.tar镜像包解压,之后查看镜像

解压命令:

docker load -i es.tar
docker load -i kibana.tar

查看镜像命令:

docker images


3.1.1 安装ElasticSearch

直接执行下面的命令即可

命令如下:

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 hm-net \
  -p 9200:9200 \
  -p 9300:9300 \
  elasticsearch:7.12.1

运行完后可以看机创建一个名为es的容器,端口为9200

测试:

 运行 192.168.218.15:9200 (注:这里是自己的虚拟机IP地址加端口9200)可以看到数据,代表部署成功!


3.1.2   安装Kibana

执行下面命令:

命令如下:

docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--network=hm-net \
-p 5601:5601  \
kibana:7.12.1

 测试

运行 192.168.218.15:5601  (注:这里是自己的虚拟机IP地址加端口5601) 可以看到一个控制台页面

选择Explore on my own之后,进入主页面:则代表部署成功!


然后选中Dev tools,进入开发工具页面

进去后可以进行一个查询测试

成功了,说明我们ElasticSearch和Kibana部署成功!


http://www.kler.cn/a/472998.html

相关文章:

  • C++ 复习总结记录六
  • Web应用安全-漏洞扫描器设计与实现
  • Android 来电白名单 只允许联系人呼入电话
  • 自定义EasyCode模板生成CRUD
  • 外驱功率管电流型PWM控制芯片CRE6281B1
  • 32单片机从入门到精通之数据处理——传感器接口(十二)
  • MySQL的三大日志
  • 【机器视觉】OpenCV 滤波器(卷积、方盒/均值滤波、高斯滤波、中值/双边滤波、sobel/scharr/拉普拉斯算子、边缘检测Canny)
  • 深入解读MVCC中的三大日志:Undo Log、Redo Log和B-Log
  • Julia语言的数据结构
  • 应急响应——Windows / Linux 排查笔记
  • HTML5语义化编程
  • Unity 加载Dicom文件进行三维模型重建,可以查看不同MPR断层图像,横截面、冠状面、矢状面、伪彩色显示,窗宽窗位调节。模型剖切功能。
  • Jmeter-压测时接口如何按照顺序执行
  • 拥有23种PDF/图片转换 数据提取 - 免费在线工具
  • 江科大STM32入门——IIC通信笔记总结
  • ELK的搭建
  • VSCode 中的 launch.json 配置使用
  • Vue3组件通讯——自定义事件(子->父)
  • 洛谷P1617———数字转英文
  • 领域驱动设计(DDD)在C#中的实践
  • HTML5 翻转动画(Flip Animation)详解
  • 英伟达Project Digits赋能医疗大模型:创新应用与未来展望
  • 第十一章 测试——1.单元测试
  • 如何使用PyTorch进行模型微调
  • MyBatis面试-1