Elasticsearch là một công cụ phân tích mã nguồn mở, có sẵn miễn phí cho dữ liệu địa lý, số, văn bản, có cấu trúc và phi cấu trúc. Nó được phát hành vào năm 2010 bởi Elasticsearch N.V và dựa trên Apache Lucene. Nền tảng của Elastic Stack là Elasticsearch, là một tập hợp các công nghệ mã nguồn mở để trực quan hóa, phân tích, lưu trữ dữ liệu. Nó cũng được biết đến với các REST API tốc độ, khả năng mở rộng và bản chất phân tán.
Elasticsearch thu thập dữ liệu phi cấu trúc từ nhiều nguồn, tổ chức dữ liệu theo ánh xạ do người dùng xác định và lập chỉ mục dữ liệu trong thời gian thực. Nó là một công cụ tìm kiếm nổi tiếng được thiết kế cho các ứng dụng có yêu cầu tìm kiếm phức tạp. Bạn có thể sử dụng Elasticsearch để tạo một công cụ tìm kiếm phức tạp hoạt động tương tự như công cụ tìm kiếm Google.
Khả năng mở rộng và tốc độ của Elasticsearch, cũng như khả năng lập chỉ mục nhiều loại nội dung, làm cho nó phù hợp với nhiều mục đích khác nhau, bao gồm tìm kiếm trang web, tìm kiếm ứng dụng, tìm kiếm doanh nghiệp, giám sát hiệu suất của ứng dụng, phân tích kinh doanh, phân tích bảo mật, ghi log và ghi log phân tích, phân tích và trực quan hóa dữ liệu không gian địa lý.
Đảm bảo rằng máy chủ được cập nhật
sudo apt update
sudo apt upgrade -y
sudo apt install -y vim wget
Import Elasticsearch PGP Key
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Cài đặt Elasticsearch từ kho lưu trữ APT
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list
sudo apt-get update && sudo apt-get install elasticsearch
Khởi động và bật dịch vụ Elasticsearch
sudo systemctl start elasticsearch
$ sudo systemctl status elasticsearch
● elasticsearch.service - Elasticsearch
Loaded: loaded (/lib/systemd/system/elasticsearch.service; disabled; vendor preset: enabled)
Active: active (running) since Tue 2022-01-04 08:43:50 UTC; 2min 17s ago
Docs: https://www.elastic.co
Main PID: 53053 (java)
Tasks: 64 (limit: 4631)
Memory: 2.3G
CGroup: /system.slice/elasticsearch.service
├─53053 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true >
└─53244 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller
Jan 04 08:43:25 ubuntusrv.citizix.com systemd[1]: Starting Elasticsearch...
Jan 04 08:43:50 ubuntusrv.citizix.com systemd[1]: Started Elasticsearch.
sudo systemctl enable elasticsearch
Xác minh Elasticsearch
$ ss -antpl | grep 9200
LISTEN 0 4096 [::ffff:127.0.0.1]:9200 *:*
LISTEN 0 4096 [::1]:9200 [::]:*
curl -X GET "localhost:9200/"
{
"name" : "ubuntusrv.citi.com",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "S9ojK5o5RCG7iVAMROtOBw",
"version" : {
"number" : "7.16.2",
"build_flavor" : "default",
"build_type" : "deb",
"build_hash" : "2b937c44140b6559905130a8650c64dbd0879cfb",
"build_date" : "2021-12-18T19:42:46.604893745Z",
"build_snapshot" : false,
"lucene_version" : "8.10.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
Thực hiện các thao tác đơn giản với Elasticsearch
curl -H 'Content-Type: application/json' -X POST 'http://localhost:9200/todo/task/1' -d '{ "name": "Go to the mall." }'
{"_index":"todo","_type":"task","_id":"1","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1}
curl -X GET 'http://localhost:9200/todo/task/1'
{"_index":"todo","_type":"task","_id":"1","_version":1,"_seq_no":0,"_primary_term":1,"found":true,"_source":{ "name": "Go to the mall." }}
curl -X GET 'http://localhost:9200/todo/task/1?pretty'
{
"_index" : "todo",
"_type" : "task",
"_id" : "1",
"_version" : 1,
"_seq_no" : 0,
"_primary_term" : 1,
"found" : true,
"_source" : {
"name" : "Go to the mall."
}
}