API đọc dữ liệu – Tìm kiếm dữ liệu, document Elasticsearch

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

API đọc dữ liệu - Tìm kiếm dữ liệu, document Elasticsearch

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:

API đọc dữ liệu - Tìm kiếm dữ liệu, document Elasticsearch

Okay, Done!

References:

https://www.elastic.co/guide/…/search-lite.html

stackjava.com