Elasticsearch là một công cụ tìm kiếm dựa trên nền tảng Apache Lucene
. Nó cung cấp một bộ máy tìm kiếm dạng phân tán, có đầy đủ công cụ với một giao diện web HTTP có hỗ trợ dữ liệu JSON. Elasticsearch được phát triển bằng Java và được phát hành dạng nguồn mở theo giấy phép Apache.
Điều kiện tiên quyết để sử dụng Elasticsearch
Để chạy được Elasticsearch thì hệ thống của bạn cần có Java
Để kiểm tra trên server đã có Java chưa, bạn cần dùng lệnh
java -version
java -version java version "1.8.0_202" Java(TM) SE Runtime Environment (build 1.8.0_202-b08) Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
Nếu Java chưa có bạn cần cài java
yum install java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel -y
Cài đặt Yum Repository cho Elasticsearch
#download signing key
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
#create repo file
vi /etc/yum.repos.d/elasticsearch.repo
# Ở đây sử dụng phiên bản 6.x
[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
Cài đặt elasticsearch bằng yum
yum install elasticsearch -y
Cấu hình java_home cho elasticsearch
vim /etc/sysconfig/elasticsearch khai báo thông số JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el6_10.x86_64
Cấu hình network cho elasticsearch
/etc/elasticsearch/elasticsearch.yml
Nếu bạn chỉ sử dụng cho localhost thì bạn khai báo 127.0.0.1,
Nếu muốn IP bên ngoài server thì cần khai báo IP của server
# Set the bind address to a specific IP (IPv4 or IPv6):
#
network.host: 127.0.0.1
Trường hợp bạn sử dụng 1 node server thì khai báo
discovery.type: single-node
Khởi động lại elasticsearch
service elasticsearch restart
Mặc định dữ liệu của elasticsearch được lưu /var/lib/elasticsearch
Kiểm tra dịch vụ elasticsearch
Sau khi start service elasticsearch xong, bạn có thể dùng lệnh
curl -X GET “localhost:9200/?pretty”
curl -X GET "localhost:9200/?pretty"
{
"name" : "wcYkmMi",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "xNd8dRTUR1-gHYjlWbYMog",
"version" : {
"number" : "6.8.8",
"build_flavor" : "default",
"build_type" : "rpm",
"build_hash" : "2f4c224",
"build_date" : "2020-03-18T23:22:18.622755Z",
"build_snapshot" : false,
"lucene_version" : "7.7.2",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}