概念介绍
- Elasticsearch 是一个实时的分布式搜索分析引擎,它被用作全文检索、结构化搜索、分析以及这三个功能的组合。
- Elasticsearch 是使用 Java 编写的,它的内部使用 Lucene 做索引与搜索,但是它的目的是使全文检索变得简单, 通过隐藏 Lucene 的复杂性,取而代之的提供一套简单一致的 RESTful API。
- Elasticsearch建立在一个全文搜索引擎库 Apache Lucene 基础之上。Elasticsearch 不仅仅是 Lucene,并且也不仅仅只是一个全文搜索引擎,它可以被下面这样准确的形容:
一个分布式的实时文档存储,每个字段 可以被索引与搜索
一个分布式实时分析搜索引擎
能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据
1、安装
查看jdk和elasticsearch版本对应关系:https://www.elastic.co/cn/support/matrix#matrix_jvm
通过pom.xml查看到SpringBoot2.2.2采用的elasticsearch是6.8.4版本,所以这里下载6.8.4版本
1、Windows版
1.1 下载并解压
# 6.8.4地址
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.4.zip
1.2 启动
进入elasticsearch的bin目录,双击elasticsearch.bat启动服务,默认端口是9200
成功如下:
在浏览器中访问http://localhost:9200/,出现如下图所示内容表明Elasticsearch启动成功
1.3 cURL
cURL提供了一种将请求提交到 Elasticsearch 的便捷方式
cURL下载地址:官网,历史版本
2、linux版
2.1 下载并解压(usr/local目录下)
#下载
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.4.tar.gz
#解压
tar -zxvf elasticsearch-6.8.4.tar.gz
2.2 启动(需要非root账户)
修改elasticsearch/config下jvm.options
# 修改为
-Xms512m
-Xmx512m
启动:
#进入bin目录下
cd usr/local/elasticsearch/bin
#启动
./elasticsearch -d
#在后面添加参数 -d, Elasticsearch 作为一个守护进程在后台运行
测试 Elasticsearch 是否启动成功,可以打开另一个终端,执行以下操作:
curl 'http://localhost:9200/?pretty'
此时提示:
curl: (7) Failed connect to localhost:9200; 拒绝连接
重新启动(不加-d,方便直接看错误信息)
如下图所示
解决方法:
在 /etc/sysctl.conf文件最后添加一行
vm.max_map_count=262144
再次启动,访问成功:
# 如果要远程连接,修改bin下配置文件elasticsearch.yml 添加
network.host: 0.0.0.0
http.port: 9200
3、关闭
ps -ef | grep elastic
kill -9 8310