linux虚拟机安装 Elasticsearch
1.下载es
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.14.0-linux-x86_64.tar.gz
解压安装即可
启动不能使用root 用户 应该新创建用户
2.java_home 需要重新指定 openjdk 11以上
wget https://download.java.net/java/GA/jdk11/13/GPL/openjdk-11.0.1_linux-x64_bin.tar.gz
修改 elasticsearch 下的bin/elasticsearch
在首行添加
#配置自己的jdk11
export JAVA_HOME=/usr/local/src/jdk-11.0.1
export PATH=$JAVA_HOME/bin:$PATH
#添加jdk判断
if [ -x "$JAVA_HOME/bin/java" ]; then
JAVA="/usr/local/src/jdk-11.0.1/bin/java"
else
JAVA=`which java`
fi
3.编辑访问
vim config下面的elasticsearch.yml
宿主机无法访问虚拟机中 ElasticSearch服务
network.host: 0.0.0.0
http.port: 9200
transport.host: localhost
transport.tcp.port: 9300
4.es 访问模式
<REST Verb> /<Index>/<Type>/<ID>
5.聚合查询需要进行配置与优化
curl -X PUT "localhost:9200/索引名/_mapping?pretty" -H 'Content-Type: application/json' -d'
{
"properties": {
"字段名称": {
"type": "text",
"fielddata": true
}
}
}
如果在kibana里请执行如下
PUT 索引名/_mapping
{
"properties": {
"字段名称": {
"type": "text",
"fielddata": true
}
}
}
fielddata在text字段中默认未启用
因为fielddata会消耗大量的堆内存,特别是当加载大量的text字段时;fielddata一旦加载到堆中,在segment的生命周期之内都将一致保持在堆中,所以谨慎使用