一、elasticesearch
一些基础知识的铺垫之后我们正式进入今天的主角 Elasticsearch 的介绍。
ES 是使用 Java 编写的一种开源搜索引擎,它在内部使用 Lucene 做索引与搜索,通过对 Lucene 的封装,隐藏了 Lucene 的复杂性,取而代之的提供一套简单一致的 RESTful API。
然而,Elasticsearch 不仅仅是 Lucene,并且也不仅仅只是一个全文搜索引擎。
它可以被下面这样准确的形容:
一个分布式的实时文档存储,每个字段可以被索引与搜索。
一个分布式实时分析搜索引擎。
能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据。
官网对 Elasticsearch 的介绍是 Elasticsearch 是一个分布式、可扩展、近实时的搜索与数据分析引擎。
我们通过一些核心概念来看下 Elasticsearch 是如何做到分布式,可扩展和近实时搜索的。
二、安装
2.1、下载
cd /usr/local
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.6.0-linux-x86_64.tar.gz
tar -zxvf elasticsearch-8.6.0-linux-x86_64.tar.gz
2.2、配置
在 /usr/local/elasticsearch-8.6.0/config/elasticsearch.yml 换行添加
xpack.security.enabled: false
表示免密验证
2.3、创建用户
useradd es
chown -R es:es /usr/local/elasticsearch-8.6.0
2.4、启动
sudo su - es -s /bin/bash
/usr/local/elasticsearch-8.6.0/bin/elasticsearch
2.5、验证
curl 127.0.0.1:9200
返回
{
"name" : "iZ2zecthzrckdvqlcvbhojZ",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "gTW-H8XHQP6HMZLgl9GjcA",
"version" : {
"number" : "8.6.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "f67ef2df40237445caa70e2fef79471cc608d70d",
"build_date" : "2023-01-04T09:35:21.782467981Z",
"build_snapshot" : false,
"lucene_version" : "9.4.2",
"minimum_wire_compatibility_version" : "7.17.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "You Know, for Search"
}
表示成功启动
三、目录
bin:二进制系统指令目录,包含启动命令和安装插件命令等。
config:配置文件目录。
data:数据存储目录。
lib:依赖包目录。
logs:日志文件目录。
modules:模块库,例如 x-pack 的模块。
plugins:插件目录。