API đọc dữ liệu – Tìm kiếm dữ liệu, document Elasticsearch.
(Xem thêm: Hướng dẫn Elasticsearch)
Trong các ví dụ API Elasticsearch, mình sẽ dùng postman để gửi request
API Search document Elasticsearch
Để search document trong Elasticsearch ta dùng method GET
với path _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 theo tham số
Để 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
Trường hợp muốn search theo field chỉ rõ thì ta dùng ?q=field_name:query
Ví dụ tìm tất cả các document có chứa từ man
trong field name
GET /_search?q=name:man
Trường hợp truy vấn theo nhiều điều kiện phức tạp:
Ví dụ tìm tất cả các document thỏa mãn các điều kiện sau:
- có từ man hoặc woman trong field name
- có từ marvel trong field studio
Câu truy vấn sẽ là:
+name:(man woman) +studio:(marvel)
Tuy nhiên trong url sẽ không hiểu các ký tự như dấu cách, +
(
)
Ta cần phải chuyển nó sang dạng URL encode:
%2Bname%3A%28man+woman%29+%2Bstudio%3A%28marvel%29
Các bạn có thể chuyển encode online tại url-encode-decode.com/
Demo:
Okay, Done!
References: