OpenSearch là một bộ công cụ tìm kiếm và phân tích phân tán, nguồn mở được sử dụng cho hàng loạt các trường hợp như giám sát ứng dụng trong thời gian thực, phân tích nhật ký và tìm kiếm trang web. OpenSearch cung cấp một hệ thống có quy mô linh hoạt để mang tới khả năng truy cập và phản hồi nhanh khối lượng lớn dữ liệu với công cụ hiển thị trực quan được tích hợp sẵn (OpenSearch Dashboards) giúp người dùng dễ dàng khám phá dữ liệu của họ. Tương tự như Elasticsearch và Apache Solr, OpenSearch được hỗ trợ bởi thư viện tìm kiếm Apache Lucene. OpenSearch và OpenSearch Dashboards ban đầu được bắt nguồn từ Elasticsearch phiên bản 7.10.2 và Kibana phiên bản 7.10.2.

Câu hỏi: Lý do khiến OpenSearch được tạo ra là gì?

Các nhà phát triển đón nhận những phần mềm nguồn mở vì nhiều lý do, một trong những lý do quan trọng nhất là quyền được sử dụng phần mềm đó ở bất kỳ đâu và theo bất kỳ cách nào họ muốn. Vào ngày 21 tháng 1 năm 2021, Elastic NV thông báo rằng họ sẽ thay đổi chiến lược cấp phép phần mềm và không phát hành các phiên bản mới của Elasticsearch và Kibana theo Giấy phép ALv2. Thay vào đó, Elastic sẽ phát hành Elasticsearch và Kibana theo giấy phép Elastic, với mã nguồn có sẵn theo Giấy phép Elastic hoặc Giấy phép công khai phía máy chủ (SSPL). Các giấy phép này không phải là nguồn mở và không đem đến cho người dùng quyền tự do như nhau. Vì lý do này, chúng tôi đã quyết định tạo ra đồng thời duy trì một nhánh rẽ từ phiên bản ALv2 cuối cùng của Elasticsearch và Kibana. Nhánh rẽ này có tên là OpenSearch và được phát hành theo giấy phép ALv2.

Câu hỏi: OpenSearch sẽ được phát hành theo giấy phép nào?

Tất cả các phần mềm trong dự án OpenSearch được phát hành theo Giấy phép Apache, Phiên bản 2.0 (ALv2). Giấy phép ALv2 cấp các quyền sử dụng dễ hiểu, tùy ý và phù hợp với những quyền tự do mà mọi người mong đợi ở phần mềm nguồn mở: những quyền tự do như có thể sử dụng, sửa đổi, mở rộng, kiếm tiền và bán lại phần mềm nguồn mở ở bất kỳ đâu và theo bất kỳ cách nào họ muốn. Đối với OpenSearch, chúng tôi tin rằng giấy phép này sẽ cho phép công cụ được áp dụng rộng rãi và mang lại lợi ích cho tất cả các thành viên trong cộng đồng. Chúng tôi cũng đã công bố nguyên tắc sử dụng tùy ý nhãn hiệu OpenSearch, vì vậy bạn có thể sử dụng cái tên này để quảng cáo các dịch vụ của mình.

Câu hỏi: Elasticsearch và Kibana có phải là nguồn mở không?

Elastic đã thông báo rằng họ sẽ không còn phát hành các phiên bản mới của Elasticsearch và Kibana theo giấy phép ALv2 mà thay vào đó, sẽ phát hành các phiên bản mới theo Giấy phép Elastic độc quyền với mã nguồn có sẵn theo Giấy phép Elastic của SSPL. Thay đổi này nghĩa là các phiên bản Elasticsearch và Kibana sau phiên bản 7.10.2 sẽ không còn là phần mềm mã nguồn mở.

Câu hỏi: Tại sao tôi nên sử dụng OpenSearch?

OpenSearch cho phép bạn dễ dàng thu nạp, bảo mật, tìm kiếm, tổng hợp, xem và phân tích dữ liệu. Những khả năng này được sử dụng phổ biến cho các trường hợp như tìm kiếm ứng dụng, phân tích nhật ký, v.v. Với OpenSearch, bạn sẽ được hưởng lợi từ việc sở hữu một sản phẩm nguồn mở mà bạn có thể sử dụng, mở rộng, kiếm tiền và bán lại theo cách bạn muốn. Đồng thời, chúng tôi sẽ tiếp tục cung cấp một bộ công cụ tìm kiếm và phân tích chất lượng cao, bảo mật với lộ trình đầy ắp những chức năng mới và sáng tạo.

Câu hỏi: OpenSearch có sẵn trong Amazon OpenSearch Service (công cụ thay thế Amazon Elasticsearch Service) không?

Có, Amazon OpenSearch Service cung cấp phiên bản mới nhất của OpenSearch.

Câu hỏi: 19 phiên bản Elasticsearch được cung cấp trên dịch vụ của chúng tôi có điểm gì khác biệt so với những gì dịch vụ trên Elastic Cloud do Elastic cung cấp?

Dịch vụ được quản lý của Elastic chỉ cho phép khách hàng triển khai 3 phiên bản Elasticsearch tại bất kỳ thời điểm nào (phiên bản mới nhất, phiên bản nhỏ trước đó và phiên bản mới nhất tính từ phiên bản lớn trước đó). Phương thức này trái ngược với phương thức chúng tôi đối với Amazon OpenSearch Service. Khách hàng của chúng tôi có quyền tự do tiếp tục sử dụng phiên bản Elasticsearch mà họ đã triển khai và có giấy phép cho khối lượng công việc của họ. Họ chỉ cần nâng cấp phiên bản khi phù hợp với nhu cầu của họ, không phải theo ý muốn của nhà cung cấp. Trên thực tế, không giống như Elastic Cloud, chúng tôi hỗ trợ các bản vá lỗi và bảo mật cho tất cả những phiên bản bị ảnh hưởng đang chạy trên dịch vụ, đồng thời không yêu cầu bạn nâng cấp để nhận bản sửa lỗi hay bảo mật.

Câu hỏi: AWS có đủ khả năng duy trì và phát triển một dự án như OpenSearch không?

Khi AWS quyết định cung cấp một dịch vụ dựa trên một dự án nguồn mở, chúng tôi đảm bảo rằng mình đủ khả năng và sẵn sàng tự duy trì dịch vụ đó, nếu cần thiết. Chúng tôi có nhiều năm kinh nghiệm làm việc với các cơ sở mã Elasticsearch và Kibana, cũng như đã đóng góp mã ngược lại cho cả Elasticsearch và Apache Lucene (thư viện tìm kiếm cốt lõi làm cơ sở xây dựng Elasticsearch). Chúng tôi đã thêm một số tính năng trong nguồn mở như bảo mật, cảnh báo, phát hiện dấu hiệu bất thường, quản lý trạng thái chỉ mục và phân tích dấu vết được cộng đồng cũng như khách hàng của chúng tôi sử dụng và triển khai rộng rãi trong hoạt động kinh doanh. Chúng tôi hoàn toàn đủ khả năng để tự mình duy trì và phát triển dự án. Ngoài ra, cơ sở mã được cộng đồng hỗ trợ sẽ giúp đẩy nhanh các cải tiến mới và cho phép mọi người tiến nhanh hơn trong việc cải thiện tính ổn định, khả năng mở rộng, khả năng phục hồi và hiệu suất. Nhiều tổ chức bao gồm SAP, CapitalOne, RedHat, Logz.io, Aiven.io, Bonsai, Logit.io, Search Guard và BAInsight đã công khai ủng hộ OpenSearch.

Câu hỏi: Một số tính năng OpenSearch cung cấp mà trước đó không có trong Elasticsearch nguồn mở là gì?

Tính năng Lợi ích
Bảo mật nâng cao Cung cấp các tính năng mã hóa, xác thực, ủy quyền và kiểm tra. Những tính năng này bao gồm khả năng tích hợp với các web token của Active Directory, LDAP, SAML, Kerberos, JSON, v.v. OpenSearch cũng cung cấp khả năng kiểm soát truy cập chi tiết dựa trên vai trò cho các chỉ mục, tài liệu và trường.
Cú pháp truy vấn SQL Cung cấp cú pháp truy vấn SQL quen thuộc. Sử dụng mệnh đề tổng hợp, group by và where để điều tra dữ liệu của bạn. Đọc dữ liệu dưới dạng tài liệu JSON hoặc bảng CSV để bạn có thể linh hoạt sử dụng định dạng phù hợp nhất với mình.
Báo cáo Lập lịch, xuất và chia sẻ báo cáo từ bảng thông tin, các tìm kiếm đã lưu, cảnh báo và hình ảnh. 
Phát hiện dấu hiệu bất thường Tận dụng tính năng phát hiện dấu hiệu bất thường của Machine Learning dựa trên thuật toán Random Cut Forest (RCF) để tự động phát hiện các điểm bất thường khi dữ liệu của bạn được thu nạp. Kết hợp với tính năng Cảnh báo để giám sát dữ liệu gần như trong thời gian thực và tự động gửi cảnh báo. 
Quản lý chỉ mục Xác định các chính sách tùy chỉnh để tự động hóa những tác vụ quản lý chỉ mục thông thường, chẳng hạn như cuộn và xóa, đồng thời áp dụng chúng cho các chỉ mục và mẫu chỉ mục.
Trình phân tích hiệu suất và Khung RCA Truy vấn nhiều chỉ số và dữ liệu tổng hợp về hiệu suất cụm. Sử dụng PerfTop, giao diện dòng lệnh (CLI) để nhanh chóng hiển thị và phân tích các chỉ số đó. Sử dụng khung phân tích nguyên nhân gốc rễ (RCA) để điều tra những sự cố về hiệu suất và độ ổn định trong các cụm.
Tìm kiếm không đồng bộ Chạy các truy vấn phức tạp mà không phải lo lắng về việc hết thời gian truy vấn và với các truy vấn Tìm kiếm không đồng bộ chạy trong nền. Theo dõi tiến trình truy vấn và truy xuất từng phần kết quả khi chúng xuất hiện.
Phân tích dấu vết Thu nạp và hiển thị trực quan dữ liệu OpenTelemetry cho các ứng dụng phân tán. Hiển thị trực quan luồng sự kiện giữa các ứng dụng nhằm xác định những vấn đề về hiệu suất.
Cảnh báo Tự động giám sát dữ liệu và gửi cảnh báo tới cho các bên liên quan. Với giao diện trực quan và API mạnh mẽ, dễ dàng thiết lập, quản lý và giám sát các cảnh báo. Tạo các điều kiện cảnh báo có tính cụ thể cao bằng cách sử dụng ngôn ngữ truy vấn toàn diện và khả năng viết tập lệnh của OpenSearch.
Tìm kiếm bằng thuật toán k-NN Thông qua Machine Learning, chạy thuật toán tìm kiếm K-Nearest Neighbor (K - Láng giềng gần nhất) trên hàng tỷ tài liệu với hàng nghìn kích thước khác nhau một cách dễ dàng như chạy bất kỳ truy vấn OpenSearch thông thường nào. Sử dụng các mệnh đề tổng hợp và lọc để tinh chỉnh thêm cho hoạt động tìm kiếm tương tự. Thuật toán tìm kiếm tương tự k-NN hỗ trợ các trường hợp sử dụng như đề xuất sản phẩm, phát hiện gian lận, tìm kiếm hình ảnh và video, tìm kiếm tài liệu liên quan, v.v.
Ngôn ngữ xử lý theo ống Ngôn ngữ xử lý theo ống cung cấp một cú pháp truy vấn quen thuộc với một tập hợp các lệnh toàn diện được phân tách bằng những đường ống (|) để truy vấn dữ liệu.
Sổ ghi chép bảng thông tin Kết hợp bảng thông tin, hình ảnh, văn bản, v.v. để cung cấp ngữ cảnh và giải thích chi tiết khi phân tích dữ liệu.