系统环境
- 操作系统:Ubuntu 18.04 LTS(阿里云)
- 系统IP
# 内网,私有地址
172.内.内.内
# 外网,公有地址
112.外.外.外
- Elasticsearch 版本:7.2
- Elasticsearch 从 7.0 开始内置了 Java 环境,无需单独安装JDK
安装
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.2.0-linux-x86_64.tar.gz
tar -xvf elasticsearch-7.2.0-linux-x86_64.tar.gz
- 后续所有操作都在 elasticsearch-7.2.0 目录里面进行
cd ./elasticsearch-7.2.0/
- 编辑 ./config/elasticsearch.yml
# 添加或修改
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]
- 修改系统配置,编辑 /etc/sysctl.conf
# 添加或修改
# sudo sysctl -p 使修改生效
vm.max_map_count = 262144
- 修改 ECS 安全组,放行 9200 端口
- 启动 elasticsearch
./bin/elasticsearch
{
"name" : "node-1",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "npPY-fmfRwqJKLKA30ym3Q",
"version" : {
"number" : "7.2.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "508c38a",
"build_date" : "2019-06-20T15:54:18.811730Z",
"build_snapshot" : false,
"lucene_version" : "8.0.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
# 查询
sudo ps aux | grep elasticsearch
# 关闭
kill pid
常用配置
# url
http://112.xx.xx.xx:9200/_cluster/settings?include_defaults
# Kibana
GET /_cluster/settings?include_defaults
- 控制 fielddata 允许内存大小(elasticsearch.yml )
# 控制fielddata允许内存大小,达到HEAP 40% 自动清理旧cache
indices.fielddata.cache.size: 40%
-Xms10g
-Xmx10g
插件
./bin/elasticsearch-plugin list
./bin/elasticsearch-plugin install analysis-icu
node-1 analysis-icu 7.2.0
GET /_analyze
{
"analyzer": "icu_analyzer",
"text": "商品价值是凝结在商品中的一般的、无差别的人类劳动,由供给方的社会必要劳动时间决定。"
}
ElasticSearch 简介
- ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。ElasticSearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene。
- Elastic Stack 生态圈
本文是阮一鸣《Elasticsearch核心技术与实战》的学习笔记。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。