在企业级项目中,如果需要完成数量级较大搜索服务,传统数据库搜索会显得力不从心,性能和速度达不到真实业务需求,一般我们都会使用全文检索技术来进行替代。
常见的全文检索技术有:Solr、Elasticsearch等。
今天,我们要讲的是其中之一:Elasticsearch
1.1Elastic 概述
Elastic官网:https://www.elastic.co/cn/
Elastic有一条完整的产品线:Elasticsearch、Kibana、Logstash等,前面说的三个就是大家常说的ELK技术栈。
Logstash 是动态数据收集管道,拥有可扩展的插件生态系统。也就是数据的收集,处理和储存。
Elasticsearch 是一个基于 JSON 的分布式搜索和分析引擎。也就是数据的检索和分析。
Kibana 可视化 Elastic Stack 的窗户(工具)。探索数据并管理堆栈。也就是数据的可视化
1.2 ElasticSearch介绍
1.2.1什么是ElasticSearch
ElasticSearch是一个基于Lucene的搜索服务器,提供了一个分布式的全文搜索引擎。
Elasticsearch是用Java开发的,基于RESTful web接口,一个开源项目。
Elasticsearch是当前流行的企业级搜索引擎,能够达到实时搜索,且稳定,可靠,快速。
1.2.2下载
最新版本下载:https://www.elastic.co/cn/start
历史版本下载
https://www.elastic.co/cn/downloads/past-releases
https://www.elastic.co/cn/downloads/past-releases#elasticsearch
1.2.3安装(直接解压)
1.3ElasticSearch使用
1.3.1启动
确定启动文件,bin目录下elasticsearch.bat命令,是用于启动elasticsearch的
步骤1:启动,双击启动程序
启动成功后,绑定的端口
9300:集群节点间通讯接口
9200:客户端访问接口
步骤2:访问,http://localhost:9200/
1.3.2无法启动
黑窗口闪烁后关闭
修改config\ elasticsearch.yml文件,添加如下内容
xpack.ml.enabled: false
1.4ElasticSearch常见配置
1.4.1JVM参数
Elasticsearch基于Lucene的,而Lucene底层是java实现,学习过程中,建议将jvm参数修改小一些。
修改 config/jvm.options,
1.4.2修改绑定IP(可选)
默认只允许本机访问
修改为0.0.0.0后则可以远程访问
network.host: 0.0.0.0
启动elasticsearch异常(黑窗口一闪关闭)
修改JDK配置