3

系统环境

  • 操作系统: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"
}
  • 关闭 elasticsearch
# 查询
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%
  • jvm 堆大小(jvm.options)
-Xms10g
-Xmx10g

插件

  • 查看已安装哪些插件
./bin/elasticsearch-plugin list
  • 安装 analysis-icu 插件(分词器)
./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 生态圈

Elastic Stack 生态圈

本文是阮一鸣《Elasticsearch核心技术与实战》的学习笔记。

qbit
268 声望279 粉丝