Series Elasticsearch - Hướng dẫn API thêm, sửa, xóa, tìm kiếm dữ liệu trong Elasticsearch
Bài đăng này đã không được cập nhật trong 6 năm
References: https://stackjava.com/elasticsearch
Một số api hay dùng trong Elasticsearch
Elasticsearch cung cấp rất nhiều API, việc cập nhật hay tạo document cũng có nhiều cách, trong bài này mình sẽ hướng dẫn những api đơn giản nhất.
Chi tiết các tham số, ví dụ thì các bạn tham khảo các link dưới đây.
- API hiển thị thông tin node, cluster, version trong Elasticsearch
- API liệt kê, hiển thị các Index trong Elasticsearch
- API tạo Index trong Elasticsearch.
- API xóa Index trong Elasticsearch
- API liệt kê, hiển thị các Type, Mapping trong Elasticsearch
- API tạo dữ liệu – Insert, thêm dữ liệu vào Elasticsearch
- API Lấy document theo Id, Select document Elasticsearch
- API đọc dữ liệu – Tìm kiếm dữ liệu, document Elasticsearch
- API cập nhật dữ liệu – Update document Elasticsearch
- API xóa dữ liệu – Delete document Elasticsearch
- Truy vấn document – dữ liệu Elasticsearch với công cụ Elasticsearch Head.
Insert, tạo document trong Elasticsearch
Cách 1: dùng method POST
POST /index_name/type_name/id
{
"field" : "value"
}
Trong đó:
- index_name và type_name là tên của Index và tên của Type, nếu chưa tồn tại thì sẽ được tự động tạo
- id là id của document được tạo, nếu không truyền id thì nó sẽ tự động tạo ra 1 chuỗi để làm id.
Cách 2: dùng method PUT với tham số
PUT /index_name/type_name/id?op_type=create
{ ... }
Với cách 1, nếu document tương ứng với index_name, type_name và id đã tồn tại thì nó sẽ thực hiện update, còn với cách 2 thì nó sẽ báo lỗi.
Xóa document trong Elasticsearch
Cách 1: Sử dụng DELETE API
DELETE /index_name/type_name/id
Cách 2: Xóa document bằng Query API
POST /index_name/type_name/_delete_by_query
{
"query": {
"match": {
"message": "some message"
}
}
}
Ví dụ xóa tất cả document có name = "sena" ở trong type customer của index stackjava
POST /stackjava/customer/_delete_by_query
{
"query": {
"term": {
"name": "sena"
}
}
}
Update document trong Elasticsearch
Cách 1: Modifiy document bằng method PUT
PUT /index_name/type_name/id
{
"field": "data"
}
Cách 2: Update document bằng method POST
POST /index_name/type_name/id
{
"field": "data"
}
Với cách 1 nó sẽ sửa lại dữ liệu trên document đã có, với cách 2 thì nó sẽ xóa document hiện tại và tạo lại document với các thông tin mới.
Find, Search document trong Elasitcsearch
Cách 1: Lấy document theo id
GET /index_name/type_name/id
Cách 2: Tìm kiếm document theo các tham số với /_search
Tìm tất cả document trong tất cả các index
GET /_search
Hoặc
GET /_all/_search
Tìm tất cả document trong 1 index
GET /index_name/_search
Tìm tất cả document trong 1 type
GET /index_name/type_name/_search
Để search dữ liệu theo tham số đầu vào ta dùng biến q=tham_so
Ví dụ tìm tất cả các document có chứa từ man
GET /_search?q=man
Okay, Done! References: https://stackjava.com/elasticsearch
All rights reserved