Tìm kiếm Hybrid của Meilisearch Được Các Nhà Phát Triển Đón Nhận, Nhưng Vẫn Còn Câu Hỏi Về Hiệu Suất

BigGo Editorial Team
Tìm kiếm Hybrid của Meilisearch Được Các Nhà Phát Triển Đón Nhận, Nhưng Vẫn Còn Câu Hỏi Về Hiệu Suất

Meilisearch, một công cụ tìm kiếm siêu nhanh được thiết kế để tích hợp liền mạch với các ứng dụng và trang web, gần đây đã thu hút sự chú ý nhờ khả năng tìm kiếm hybrid. Khi thị trường công cụ tìm kiếm tiếp tục phát triển với các tính năng được hỗ trợ bởi AI, các nhà phát triển đang chia sẻ kinh nghiệm của họ với Meilisearch trong môi trường sản xuất và so sánh nó với các giải pháp thay thế như Typesense, Elasticsearch và các giải pháp mới nổi như Orama.

Sẵn sàng cho môi trường sản xuất và hiệu suất

Meilisearch đã sẵn sàng cho môi trường sản xuất từ phiên bản 1.0, với nhiều nhà phát triển báo cáo triển khai thành công xử lý hàng triệu tài liệu. Một người dùng đã đề cập đến việc triển khai cho một kho dữ liệu gồm 7 triệu bài viết với kết quả tốt, trong khi một người khác lưu ý việc cài đặt dễ dàng trên máy chủ Hetzner giá 8 đô la/tháng xử lý một triệu bản ghi. Tuy nhiên, vẫn còn những câu hỏi về các tùy chọn tính khả dụng cao, với một số người dùng lưu ý rằng việc chạy nhiều phiên bản đồng bộ hóa dường như là giải pháp duy nhất cho dự phòng.

Mức sử dụng bộ nhớ của công cụ tìm kiếm đã làm dấy lên cuộc thảo luận, với một số người dùng nhận thấy mức tiêu thụ bộ nhớ cao (3GB+) ngay cả đối với các phiên bản nhỏ. Một thành viên nhóm Meilisearch đã làm rõ hành vi này:

Thực tế, Meilisearch sử dụng RAM có sẵn theo thiết kế vì nó sử dụng LMDB (được ánh xạ bộ nhớ) làm nền tảng cho lưu trữ key-value. Đây là một tính năng, không phải lỗi. Điều tuyệt vời là hệ điều hành sẽ quyết định phân bổ bộ nhớ cho quy trình nào.

Lựa chọn thiết kế này có nghĩa là Meilisearch tận dụng bộ nhớ hệ thống có sẵn để tăng hiệu suất nhưng phụ thuộc vào hệ điều hành để quản lý phân bổ bộ nhớ giữa các quy trình.

Triển khai tìm kiếm Hybrid

Một chủ đề thảo luận quan trọng xoay quanh cách tiếp cận tìm kiếm hybrid của Meilisearch, kết hợp tìm kiếm văn bản đầy đủ truyền thống với tìm kiếm ngữ nghĩa (dựa trên vector). Cách triển khai này khác với đối thủ cạnh tranh như Typesense, sử dụng Reciprocal Rank Fusion (RRF) để kết hợp kết quả.

Cuộc trò chuyện tiết lộ căng thẳng giữa các cách tiếp cận khác nhau đối với tìm kiếm hybrid, với một người bình luận (sau đó được xác định là thành viên nhóm Meilisearch) chỉ trích phương pháp tìm kiếm fusion của Typesense là gần như vô dụng vì bạn sẽ luôn có một chiến lược tìm kiếm này hay chiến lược khác cho kết quả tệ hại. Điều này đã gây ra phản ứng từ một đại diện của Typesense bảo vệ cách tiếp cận của họ là được nghiên cứu kỹ lưỡng và được ghi nhận trong các bài báo học thuật.

Đối với các nhà phát triển đang xem xét triển khai tìm kiếm hybrid, một người bình luận đã khuyên: Một điều cần đào sâu là cách giải pháp tìm kiếm hybrid của bạn lọc chỉ mục tìm kiếm vector. Điều này không hề được tiêu chuẩn hóa, thường bị bỏ qua, nhưng khi bạn muốn 'X kết quả hàng đầu giống với truy vấn nhất theo embedding, nhưng cũng trong danh mục Y/khớp với các từ khóa tìm kiếm Z', đó là điều cốt lõi mà tìm kiếm hybrid của bạn đang thực hiện.

Các tính năng chính của Meilisearch:

  • Tìm kiếm kết hợp giữa tìm kiếm ngữ nghĩa và tìm kiếm toàn văn bản
  • Tìm kiếm trong khi gõ (kết quả trong <50ms)
  • Khả năng chịu đựng lỗi đánh máy
  • Lọc và tìm kiếm theo khía cạnh
  • Khả năng sắp xếp
  • Hỗ trợ từ đồng nghĩa
  • Chức năng tìm kiếm địa lý
  • Hỗ trợ đa ngôn ngữ
  • Quản lý bảo mật với các khóa API
  • Hỗ trợ đa người thuê
  • API RESTful với các plugin và SDK
  • Sẵn sàng cho AI với tích hợp langchain

Tốc độ lập chỉ mục và cập nhật tài liệu

Một số người dùng đã nêu bật những thách thức với Meilisearch khi xử lý các tài liệu thay đổi thường xuyên. Một người lưu ý rằng khi tài liệu thay đổi thường xuyên và kết quả tìm kiếm cần phản ánh những thay đổi đó nhanh chóng, nó sẽ tồn đọng các tác vụ chờ xử lý trong nhiều giờ. Tuy nhiên, đối với nội dung tĩnh hoặc ít thay đổi, Meilisearch được khen ngợi về hiệu suất và sự dễ dàng trong thiết lập.

Nhóm Meilisearch đã chỉ ra những cải tiến trong phiên bản mới nhất của họ (v1.12), bao gồm phiên bản indexer mới nhanh hơn nhiều, tận dụng xử lý song song mức độ cao và giảm ghi đĩa. Họ cũng nhấn mạnh cách tiếp cận ưu tiên đĩa, trong đó nội dung được ghi vào đĩa thay vì chủ yếu lưu trong bộ nhớ, cho phép khởi động lại ngay lập tức và nâng cấp dễ dàng hơn mà không cần lập chỉ mục lại.

Các giải pháp thay thế cho Meilisearch được đề cập:

  • Typesense - Nổi bật với các tùy chọn tính sẵn sàng cao
  • Elasticsearch - Giải pháp doanh nghiệp truyền thống
  • Quickwit - Dựa trên Tantivy (đã được Datadog mua lại)
  • ParadeDB - Tìm kiếm tích hợp với Postgres
  • Orama - Giải pháp nhỏ gọn (<2KB) cho trình duyệt/máy chủ/edge
  • Vespa - Được đề cập với khả năng tìm kiếm lai

Các giải pháp thay thế

Cuộc thảo luận đã tiết lộ một số giải pháp thay thế cho Meilisearch mà các nhà phát triển đang xem xét. Typesense thường được đề cập, đặc biệt là cho các kịch bản tính khả dụng cao. Những người khác chỉ ra các giải pháp dựa trên Tantivy như Quickwit và ParadeDB, mặc dù có lo ngại về tương lai của Quickwit sau khi được Datadog mua lại. Một sản phẩm mới hơn, Orama, được nổi bật với kích thước nhỏ gọn (dưới 2KB) và hỗ trợ tìm kiếm văn bản đầy đủ, vector và hybrid có thể chạy trên trình duyệt, máy chủ hoặc mạng edge.

Đối với những người tìm cách kết hợp tìm kiếm văn bản đầy đủ với vector embeddings, các đề xuất bao gồm Elasticsearch, Vespa và Typesense, mặc dù ý kiến khác nhau về chất lượng triển khai và mức độ dễ sử dụng.

Khi công nghệ tìm kiếm tiếp tục phát triển với các khả năng AI, cách tiếp cận của Meilisearch trong việc duy trì khả năng tương thích ngược trong khi cải thiện hiệu suất đặt nó như một đối thủ cạnh tranh trong lĩnh vực này, mặc dù các nhà phát triển nên cân nhắc kỹ lưỡng nhu cầu cụ thể của họ về tần suất cập nhật tài liệu, sử dụng bộ nhớ và tính khả dụng cao khi chọn giải pháp tìm kiếm.

Tham khảo: Meilisearch: AI-powered search in GA

Giao diện ứng dụng tìm kiếm phim thanh lịch minh họa cách các công nghệ tìm kiếm khác nhau, như Meilisearch, hỗ trợ người dùng truy cập hiệu quả vào nội dung liên quan
Giao diện ứng dụng tìm kiếm phim thanh lịch minh họa cách các công nghệ tìm kiếm khác nhau, như Meilisearch, hỗ trợ người dùng truy cập hiệu quả vào nội dung liên quan