Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách tốt nhất để lưu các truy vấn tìm kiếm của người dùng trong ElasticSearch?

Bạn có thể làm điều này bằng cách tạo một chỉ mục thứ hai trong cụm ES của bạn. Khi người dùng gửi tìm kiếm thông qua ứng dụng của bạn, bạn thực hiện hai bước.

  1. Gửi tìm kiếm dưới dạng truy vấn tới Elasticsearch để có hành vi tìm kiếm bình thường.
  2. Gửi yêu cầu lập chỉ mục tới cụm với các cụm từ tìm kiếm mà người dùng đã cung cấp.

Với chỉ mục thứ hai của tất cả các cụm từ tìm kiếm đã được gửi, bạn có thể thực hiện một số việc gọn gàng. Đối với trường hợp của bạn, bạn có thể có trường 'đếm' giống như trong SQL mà bạn tăng lên khi nhiều người tìm kiếm cụm từ đó. Một trường hợp sử dụng tuyệt vời khác là một điều khoản được đề xuất theo phong cách google. Giao diện người dùng của bạn có thể gửi yêu cầu tìm kiếm với văn bản đã nhập trên mỗi lần nhấn phím và điền vào danh sách thả xuống với các lần truy cập từ các cụm từ đã tìm kiếm trước đó. Bạn thậm chí có thể cá nhân hóa điều này bằng cách thêm trường người dùng và lọc ra các kết quả không phải từ người dùng cụ thể đó.

Điều cần lưu ý là ElasticSearch có thể được sử dụng như một kho lưu trữ dữ liệu chính và phụ. Tôi luôn khuyên bạn chỉ nên giữ dữ liệu bạn muốn mất (như lịch sử tìm kiếm) làm dữ liệu chính. Giữ dữ liệu quan trọng của hệ thống của bạn trong một kho lưu trữ dữ liệu truyền thống hơn như SQL, theo cách đó, bạn có thể dễ dàng sao lưu và khôi phục nếu có bất kỳ điều gì xảy ra!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - Khắc phục - Lỗi - Mật khẩu của bạn không đáp ứng các yêu cầu chính sách hiện tại

  2. Tối ưu hóa CHỌN ... Ở ĐÂU TRONG (...)

  3. Hiệu suất chèn PHP PDO Mysql

  4. MySQL - trường SELECT WHERE IN (truy vấn con) - Tại sao cực kỳ chậm?

  5. PHP mySQL - Khi nào là thời điểm tốt nhất để ngắt kết nối khỏi cơ sở dữ liệu?