MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Tự động hoàn thành với java, Redis, Tìm kiếm đàn hồi, Mongo

Đây là một trường hợp sử dụng tìm kiếm quan trọng và MongoDB và Redis hoàn hảo cho việc tra cứu dựa trên khóa và không sử dụng cho mục đích Tìm kiếm, trong khi Elasticsearch là một công cụ tìm kiếm phân tán, được xây dựng đặc biệt cho trường hợp sử dụng đó.

Trước khi chọn hệ thống, bạn nên biết tính năng của mình hoạt động như thế nào trong nội bộ Và bên dưới cân nhắc lựa chọn nó.

Yêu cầu phi chức năng đối với tính năng của bạn

  1. Tổng số không có truy vấn tìm kiếm mỗi giây (QPS) sẽ là bao nhiêu?
  2. Tần suất bạn cập nhật các tài liệu (ví dụ:tên trong ví dụ của bạn).
  3. SLA sau khi các tên được cập nhật và xuất hiện trong kết quả tìm kiếm là gì?
  4. SLA cho kết quả tìm kiếm của bạn.

Một số yêu cầu chức năng.

  1. Tính năng tự động điền sẽ trông như thế nào, tiền tố, tiền tố tìm kiếm trên tên?
  2. Số lượng ký tự tối thiểu mà người dùng nên nhập, trước khi hiển thị cho họ kết quả tự động hoàn thành.
  3. Tần suất các yêu cầu trên có thể thay đổi.

Elasticsearch đã lập chỉ mục các tài liệu trong chỉ mục đảo ngược và các hoạt động đối sánh ontokens (có thể dễ dàng tùy chỉnh để phù hợp với yêu cầu công việc), do đó tìm kiếm siêu nhanh. Redis và MongoDB không có cấu trúc này bên trong và không nên được sử dụng cho trường hợp sử dụng này. Bạn không nên nghi ngờ gì về việc chọn Elasticsearch để triển khai tính năng Tự động điền.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose Query để lọc một mảng và điền nội dung liên quan

  2. Sử dụng trình tạo Active Record sau khi cài đặt Mongoid?

  3. Tìm tổng thời gian của một người dùng trong mongoDB

  4. Duy trì bộ bản sao MongoDB trong đám mây bằng cách sử dụng Ansible

  5. mongo:lợi nhuận không bằng count ()