1.1ES和Lucene的区别
- lucene
Lucene 是一个开源、免费、高性能、纯 Java 编写的全文检索引擎,可以算作是开源领域最好的全文检索工具包。
ps:需要注意的是 Lucene 只是一个全文检索的工具包,并非一个完整的搜索引擎。
比如和Solr是基于Lucene 去开发的一个产品。
简单
跨语言
强大的搜索引擎
索引速度快
索引文件兼容不同平台 - ElasticSearch
ElasticSearch 是一个分布式、可扩展、近实时性的高性能搜索与数据分析引擎。
Java 编写 对Lucene 进行再次封装 开发者只需要一套RESTfulApI
功能:
数据搜集
数据分析
数据存储
特点:
分布式文件存储。
实时分析的分布式搜索引擎。
高可拓展性。
可插拔的插件支持(分词插件...等)。
1.2ElastucSearch的安装
单节点的安装
下载后解压后的目录说明:
目录 | 含义 |
---|---|
modules | 依赖模块目录 |
bin | 第三方依赖库 |
logs | 输出日志目录 |
plugins | 插件目录 |
bin | 可执行文件目录 |
config | 配置文件目录 |
data | 数据存储目录 |
启动方式 进入bin目录下 执行 ./elasticsearch 命令
看到 started 表示启动成功
默认监听端是 9200 所以浏览器直接输入 http://localhost:9200/ 可 查看节点信息
节点(和电脑有关)的名字 和集群(默认是elasticsearch)的名字 都可以自定义配置。
打开 config/elasticsearche.yml 文件可以配置集群名称以及节点名称。配置方式如下:
cluster.name: small-howe
node.name: master
配置完成后 保存退出 重启elasticsearch
重新访问
HEAD插件的安装
ElasticSearch-head 插件 可以通过可视化的方式来查看集群信息
-
浏览器插件安装 搜索ElasticSearch-head
- 如果是在github上拉去ElasticSearch-head 项目运行
会有跨域问题 解决如下:
http.cors.enabled: true
http.cors.allow-origin: "*"
分布式安装
安装步骤:
- 一主二从
- master 的端口是 9200,slave端口分别是 9201 和9202
需要修改 config/elasticsearch.yml
master配置:
cluster.name: small-howe
node.name: master
node.master: true
network.host: 127.0.0.1
重启 master
slave1从机配置
cluster.name: small-howe 集群名称必须一致
node.name: slave01
network.host: 127.0.0.1
http.port: 9201
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]
slave2从机配置
cluster.name: small-howe 集群名称必须一致
node.name: slave02
network.host: 127.0.0.1
http.port: 9202
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]
Kibana安装
Kibana 是Elastic公司推出来的 一个针对于es的分析以及数据可视化平台,
安装:
- 下载
- 解压
- 配置es地址信息(匹配es是默认的es的地址 以及端口信息 可以不用配置)
- 执行 bin/kibana 文件启动
- 访问 localhost:5601