目录
1,为什么要用es?
关系数据搜索缺点:
<1>无法打分
<2>无分布式
<3>无法解析搜索请求
<4>效率低
<5>分词
Elasticsearch既有数据的存储,又有数据的分析
关系数据库还需要把一对一或多对多的数据抽出来
2,安装及配置
安装java
运行Elasticsearch,需安装并配置JDK
- 设置$JAVA_HOME
各个版本对Java的依赖
- Elasticsearch5需要Java8以上的版本
- Elasticsearch从6.5开始支持Java11
- 7.0开始内置了Java环境
- https://www.elastic.co/support/matrix
查看版本Java –version
安装elastisearch(7.20)
官网下载压缩包,解压即可
进入bin目录后,elasticsearch.bat启动
JVM配置
修改jvm.options
- 7.1/7.2的默认设置是1GB
配置建议
- java的最大最小内存设置成一样的(Xms和Xms设置成一样)
- 总内存(Xmx)不要超过内存的50%
- 内存总量不要超过30G
3,Elasticsearch的文件目录结构
目录 | 配置文件 | 描述 |
bin | 脚本文件,包括启动elasticsearch,安装插件,运行统计数据等 | |
config | elasticsearch.yml | 集群配置文件,user,role based相关配置 |
JDK | java运行环境 | |
data | path.data | 数据文件 |
lib | java类库 | |
logs | path.log | 日志文件 |
modules | 包含所有es模块 | |
plugins | 包含所有已安装插件 |
4,插件安装
安装国际化分词插件
PS F:\elasticsearch-7.2.0\bin> .\elasticsearch-plugin install analysis-icu
-> Downloading analysis-icu from elastic
ik分词器插件
版本需要对应https://github.com/medcl/elasticsearch-analysis-ik/releases
解压后放在es的plugins目录下(新建一个ik文件夹)
查看安装的插件
PS F:\elasticsearch-7.2.0\bin> .\elasticsearch-plugin list
analysis-icu
ik
4,Elasticsearch本地启动集群
命令
#除了在配置文件中修改参数,还可以通过-E加上要修改的参数名称及值去修改
#修改了es对外暴露的端口及数据存储位置
bin/elasticsearch
bin/elasticsearch -Ecluster.name=test -Enode.name=node1 -Ehttp.port=8200 -Epath.data=node1
bin/elasticsearch -Ecluster.name=test -Enode.name=node2 -Ehttp.port=7200 -Epath.data=node2
查看节点信息 /_cat/nodes?v
ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
127.0.0.1 22 64 9 mdi - DESKTOP-96ALPLT
127.0.0.1 26 64 9 mdi * DESKTOP-96ALPLT
查看集群信息:/_cluster/stats
{"_nodes":{"total":2,"successful":2,"failed":0},"cluster_name":"elasticsearch","cluster_uuid":"GegcQf_ORD6ElALRS8P_uQ","timestamp":1567209653668,"status":"green","indices":{"count":4,"shards":{"total":8,"primaries":4,"replication":1.0,"index":{"shards":{"min":2,"max":2,"avg":2.0}