Nội dung bài viết
Video học lập trình mỗi ngày
Elasticsearch là gì?
Elasticsearch là một công cụ tìm kiếm và phân tích nguồn mở phân tán , phù hợp với tất cả các loại dữ liệu, bao gồm văn bản, số, không gian địa lý, dữ liệu có cấu trúc và không cấu trúc. Elasticsearch được phát triển trên cơ sở Apache Lucene (xem thêm Apache Lucene là gì?).
Elasticsearch được biết đến với API kiểu REST đơn giản, các tính năng phân tán, tốc độ và khả năng mở rộng và là thành phần cốt lõi của Elastic Stack. Elastic Stack là một bộ các công cụ nguồn mở để thu thập dữ liệu, làm giàu, lưu trữ, phân tích và trực quan hóa.
Mọi người thường gọi Elastic Stack là ELK Stack (tham khảo Elasticsearch, Logstash và Kibana)..) Hiện tại, Elastic Stack bao gồm một loạt các tác nhân thu thập dữ liệu nhẹ và phong phú. Các tác nhân này được gọi chung là Beats và có thể được sử dụng để gửi dữ liệu đến Elasticsearch.
Mô hình Elasticsearch
Nguyên tắc triển khai của Elasticsearch chủ yếu được chia thành các bước sau. Đầu tiên, người dùng gửi dữ liệu đến trung tâm dữ liệu của Elasticsearch, sau đó sử dụng bộ điều khiển phân đoạn từ để phân đoạn dữ liệu tương ứng và lưu trữ kết quả phân đoạn và dữ liệu của nó vào dữ liệu. Vào thời điểm đó, kết quả được xếp hạng và ghi điểm theo các trọng số, và sau đó kết quả trả về được trình bày cho người dùng.
Elasticsearch được sử dụng ở đâu?
- Tìm kiếm ứng dụng tìm kiếm
- Tìm kiếm trang web
- Tìm kiếm doanh nghiệp
- Xử lý và phân tích dữ liệu
- Giám sát hiệu suất ứng dụng
- Phân tích dữ liệu
- Phân tích bảo mật dữ liệu
- Phân tích kinh doanh
Các đặc điểm của Elasticsearch là gì?
Elasticsearch đặc điểm đầu tiên là tìm kiếm dữ liệu rất nhanh. Bởi vì Elasticsearch được xây dựng trên đỉnh Lucene, nó thực hiện rất tốt trong tìm kiếm toàn văn. Elasticsearch cũng là một nền tảng tìm kiếm gần thời gian thực, có nghĩa là sự chậm trễ từ lập chỉ mục tài liệu đến khả năng tìm kiếm tài liệu là rất ngắn, thường chỉ là một giây. Do đó, Elasticsearch là lý tưởng cho các trường hợp sử dụng có yêu cầu nghiêm ngặt về thời gian, chẳng hạn như phân tích bảo mật và giám sát cơ sở hạ tầng.
Elasticsearch có các đặc điểm thiết yếu của việc được phân phối. Các tài liệu lưu trữ trong Elasticsearch được phân phối trong các thùng chứa khác nhau, được gọi là mảnh vỡ , có thể được sao chép vào cung cấp bản sao dự phòng dữ liệu trong trường hợp lỗi phần cứng. Bản chất phân tán của Elasticsearch cho phép nó mở rộng tới hàng trăm (thậm chí hàng nghìn) máy chủ và xử lý petabyte dữ liệu.
Elasticsearch bao gồm một loạt các chức năng. Ngoài các lợi thế về tốc độ, khả năng mở rộng và độ co giãn, Elasticsearch còn có một số lượng lớn các chức năng tích hợp mạnh mẽ (như tổng hợp dữ liệu và quản lý vòng đời chỉ mục), có thể tạo điều kiện cho người dùng lưu trữ và tìm kiếm dữ liệu hiệu quả hơn.
Elasticsearch có một hệ sinh thái rất tốt, giúp đơn giản hóa quá trình thu thập dữ liệu, trực quan hóa và báo cáo. Bằng cách tích hợp với Beats và Logstash, người dùng có thể dễ dàng xử lý dữ liệu trước khi lập chỉ mục cho Elasticsearch. Đồng thời, Kibana không chỉ cung cấp trực quan hóa dữ liệu Elasticsearch theo thời gian thực mà còn cung cấp giao diện người dùng để người dùng truy cập nhanh dữ liệu như giám sát hiệu suất ứng dụng (APM), nhật ký và số liệu của cơ sở hạ tầng.
Những ngôn ngữ lập trình nào hỗ trợ Elasticsearch?
- Java
- avaScript (Node.js)
- Go
- .NET (C #)
- PHP
- Perl
- Python
Tôi có thể tìm thêm thông tin về Elasticsearch ở đâu?
Kho lưu trữ GitHub của Elasticsearch: https://github.com/elastic
Tài liệu chính thức của Elasticsearch: https://www.elastic.co/guide/en/Elasticsearch/reference/civerse/index.html