ElasticSearch & php & mysql thực hành – Phần 3
https://thinhpc86.wordpress.com/2015/06/10/elasticsearch-php-mysql-thuc-hanh-phan-3/
Last updated
https://thinhpc86.wordpress.com/2015/06/10/elasticsearch-php-mysql-thuc-hanh-phan-3/
Last updated
June 10, 2015 thinhpc86 Java, PHPElasticSearch, Java, Search Engine
Sau khi cài đặt ES thành công, bây giờ ta đã có node và cluster đã chạy và chờ ta khám phá. Ta sẽ tìm hiểu cách để giao tiếp với chúng. May mắn là ES cung cấp một REST API toàn diện và mạnh mẽ giúp bạn tương tác với cluster của mình. Một số việc bạn có thể làm với API
Kiểm tra sức khỏe, trạng thái và số liệu của cluster, node và index của bạn
Quản lý cluster, node, dữ liệu index và metadata
Thực hiệnCRUD (Create, Read, Update và Delete) và search indexes của bạn
Thi hành các hoạt động search mở rộng như phân trang, sắp xếp, lọc, scripting, faceting, aggregations,….
Cluster Health
Chúng ta sẽ bắt đầu bằng việc check cơ bản nhất, để xem cluster làm việc thế nào. Ta sẽ dùng curl để làm việc này nhưng bạn có thể dùng bất kỳ công cụ nào khác cho phép bạn tạo request HTTP/REST để thay thế. Mình thì thích dùng Advanced Rest Client extension của Chrome để làm việc này. Nếu dùng curl trên Windows thì chúng ta dùng cặp nháy đôi thay vì nháy đơn (“text” thay vì ‘text’) trong những câu lệnh dưới đây. Chắn chắn là ta vẫn đang ở cái node lúc mới khởi động ES và mở 1 cmd khác dùng curl nhé.
để check cluster health, chúng ta dùng _cat API. Nhớ là node của ta đang hiện diện ở port 9200
1
curl
'localhost:9200/_cat/health?v'
Kết quả:
Chúng ta có thể thấy cluster name là “elasticsearch” với trạng thái là green.
Mỗi khi chúng ta kiểm tra sức khỏe của cluster, ta sẽ thấy status là xanh, vàng hoặc đỏ. Xanh nghĩa là mọi thứ đều tốt, vàng nghĩa là tất cả data đều available nhưng có 1 số bản sao chưa được định vị, đỏ nghĩa là một số data không available. Chú ý là ngay cả kh status là màu đỏ thì nó vẫn đáp ứng các function ví dụ như search request nhưng bạn nên fix nó ngay lập tức trước khi bị mất dữ liệu.
Cũng trong cái response trên đây, ta có thể thấy có tổng cộng 1 node và 0 shards vì ta chưa có data. Nếu có nhiều hơn 1 node trong mạng ta sẽ thấy.
List Nodes:
Ta cũng có thể check danh sách nodes của cluster như sau:
1
curl
'localhost:9200/_cat/nodes?v'
Response:
Ta thấy node của ta có tên “Possessor”, là node đơn trong cluster của ta.
List Indexes:
Chạy lệnh như sau:
1
curl
'localhost:9200/_cat/indices?v'
Response:
1
health index pri rep docs.count
docs.deleted store.size pri.store.size
Vì ta chưa có index, nếu có thì các thông số đó sẽ có giá trị
Trong 3 bài đầu chủ yếu để ta làm quen với ES. Những kiến thức này trên trang chủ của ES đã viết khá kỹ nên từ những bài sau mình ko đi chi tiết, chủ yếu là note lại những ý hay, cần ghi nhớ.
Phần tiếp theo sẽ tìm hiểu về các API cơ bản của ES
Nguồn:
https://www.elastic.co/guide/en/elasticsearch/reference/current/_cluster_health.html