Sonic - Backend tìm kiếm không schema, nhanh và nhẹ
(github.com)-
Mã nguồn mở thay thế Elasticsearch chạy với ít bộ nhớ (Rust)
-
Lập chỉ mục theo ID thay vì chỉ mục tài liệu. Trả về ID trong kết quả tìm kiếm
-
Hỗ trợ tự động hoàn thành và sửa lỗi gõ sai khi tìm kiếm
-
Hỗ trợ nhiều ngôn ngữ lập trình qua giao thức đơn giản
→ Hỗ trợ chính thức cho Node, PHP, Rust
→ Hỗ trợ từ cộng đồng cho Python, Go, Java, .NET, v.v.
- Tương thích Unicode, hỗ trợ 80 ngôn ngữ
2 bình luận
Tôi chưa từng vận hành công cụ tìm kiếm nên không dám chắc, nhưng có vẻ như công cụ tìm kiếm tiếng Hàn thường hay được dùng cùng với bộ phân tích hình thái phải không?
Về mặt bộ phân tích hình thái cho CJK thì Sonic không có hỗ trợ, còn phía MeiliSearch thì theo tôi biết ở các phiên bản gần đây đã được bổ sung để có thể dùng Jieba, bộ phân tích hình thái tiếng Trung. Hình như tiếng Hàn thì vẫn chưa có.
Một dự án tương tự là Meilisearch cũng được viết bằng Rust và khá nhanh.
Trong khi Sonic chỉ lưu chỉ mục ID, thì Meilisearch lưu toàn bộ tài liệu.
Nếu xét như một giải pháp thay thế ElasticSearch thì có vẻ Meilisearch gần hơn, còn Sonic dường như có thể thay thế như một phiên bản nhẹ hơn nhiều trong những trường hợp nhất định :)