中资源的 域名管理网站,流浪动物网站开发,郑州人流医院排名,网站托管1. 为什么要学习ElasticSearch? 一般的来说,项目中的搜索功能尤其是电商项目,商品的搜索肯定是访问频率最高的页面之一。目前搜索功能是基于数据库的模糊搜索来实现的#xff0c;存在很多问题。 1.1 数据库搜索所存在的问题 1.1.1 查询效率较低 由于数据库模糊查询不走索引存在很多问题。 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. 安装 ElasticSearchKibana
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.typesingle-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_HOSTShttp://es:9200 \
--networkhm-net \
-p 5601:5601 \
kibana:7.12.1 测试
运行 192.168.218.15:5601 (注:这里是自己的虚拟机IP地址加端口5601) 可以看到一个控制台页面
选择Explore on my own之后进入主页面则代表部署成功! 然后选中Dev tools进入开发工具页面 进去后可以进行一个查询测试 成功了,说明我们ElasticSearch和Kibana部署成功!