TypeSense cung cấp hiệu suất cao tìm kiếm mạnh mẽ cho các ứng dụng web và di động

TypeSense là một dịch vụ tìm kiếm dựa trên mã nguồn mở được thiết kế để cung cấp hiệu suất cao và trải nghiệm tìm kiếm mạnh mẽ cho các ứng dụng web và di động. Nó được xây dựng trên cơ sở của dự án open-source được gọi là InstantSearch của Algolia và được phát triển để tối ưu hóa hiệu suất và sức mạnh cho các ứng dụng có quy mô vừa và lớn. TypeSense tập trung vào việc dễ sử dụng và triển khai nhanh chóng, đồng thời cung cấp khả năng tùy chỉnh cao cho việc tạo ra trải nghiệm tìm kiếm phong phú và linh hoạt.

TypeSense có các tính năng sau:

  • Tính năng Tolerance: Xử lý các lỗi chính tả một cách tinh tế, sẵn sàng sử dụng ngay.
  • Đơn giản và Đáng yêu: Dễ dàng cài đặt, tích hợp, vận hành và mở rộng.
  • Tính nhanh nhạy: Xây dựng bằng C++. Thiết kế cẩn thận từ đầu để có thời gian trễ thấp (<50ms) cho tìm kiếm tức thì.
  • Điều chỉnh xếp hạng: Dễ dàng điều chỉnh kết quả tìm kiếm của bạn tới hoàn hảo.
  • Sắp xếp: Sắp xếp kết quả theo một trường cụ thể tại thời điểm truy vấn (hữu ích cho các tính năng như “Sắp xếp theo Giá (tăng dần)”).
  • Faceting & Filtering: Lọc và làm rõ kết quả.
  • Grouping & Distinct: Nhóm các kết quả tương tự lại với nhau để hiển thị nhiều đa dạng hơn.
  • Tìm kiếm liên kết: Tìm kiếm trên nhiều bộ sưu tập (chỉ mục) trong một yêu cầu HTTP duy nhất.
  • Tìm kiếm địa lý: Tìm kiếm và sắp xếp kết quả xung quanh một vĩ độ/kinh độ hoặc trong một hộp giới hạn.
  • Tìm kiếm Vector: Chỉ mục nhúng từ các mô hình học máy của bạn trong TypeSense và thực hiện tìm kiếm hàng xóm gần nhất. Có thể sử dụng để xây dựng tìm kiếm tương đồng, tìm kiếm ngữ nghĩa, tìm kiếm hình ảnh, gợi ý, v.v.
  • Tìm kiếm ngữ nghĩa / Hybrid: Tự động tạo ra các nhúng từ trong TypeSense bằng cách sử dụng các mô hình tích hợp như S-BERT, E-5, v.v hoặc sử dụng OpenAI, PaLM API, v.v, cho cả câu truy vấn và dữ liệu được chỉ mục. Điều này cho phép bạn gửi dữ liệu JSON vào TypeSense và xây dựng trải nghiệm tìm kiếm ngữ nghĩa + tìm kiếm từ khoá sẵn có.
  • Tìm kiếm Hội thoại (RAG tích hợp): Gửi câu hỏi đến TypeSense và có phản hồi là một câu hoàn chỉnh, dựa trên dữ liệu bạn đã chỉ mục trong TypeSense. Hãy tưởng tượng ChatGPT, nhưng với dữ liệu của bạn.
  • Tìm kiếm Hình ảnh: Tìm kiếm thông qua hình ảnh bằng cách sử dụng mô tả văn bản về nội dung của chúng, hoặc thực hiện tìm kiếm tương đồng, bằng cách sử dụng mô hình CLIP.
  • Tìm kiếm bằng giọng nói: Bắt và gửi truy vấn qua các bản ghi giọng nói - TypeSense sẽ chuyển đổi (qua mô hình Whisper) và cung cấp kết quả tìm kiếm.
  • Scoped API Keys: Tạo ra các khóa API chỉ cho phép truy cập vào các bản ghi nhất định, cho các ứng dụng đa người dùng.
  • JOINs: Kết nối một hoặc nhiều bộ sưu tập qua các trường tham chiếu chung và kết nối chúng trong thời gian truy vấn. Điều này cho phép bạn mô hình hóa mối quan hệ giống như SQL một cách thông minh.
  • Đồng nghĩa: Xác định từ đồng nghĩa với nhau, để tìm kiếm một từ cũng sẽ trả về kết quả cho các từ đồng nghĩa được xác định.
  • Tổ chức & Quảng cáo hàng hóa: Tăng cường các bản ghi cụ thể lên vị trí cố định trong kết quả tìm kiếm, để nổi bật chúng.
  • Raft-based Clustering: Thiết lập một cụm phân tán có sẵn một cách cao cấp.
  • Nâng cấp phiên bản mượt mà: Khi có phiên bản mới của TypeSense, việc nâng cấp đơn giản chỉ là thay thế tệp nhị phân và khởi động lại TypeSense.
  • Không có phụ thuộc thời gian chạy: TypeSense là một tệp nhị phân duy nhất mà bạn có thể chạy cục bộ hoặc trong môi trường sản xuất với một lệnh duy nhất.