#178928 gửi bởi vuthao
Ngày 20 Tháng 07 2016 , 04:44
Với CSDL nhỏ, việc tìm kiểm hiện tại của NukeViet khá nhanh. (Tìm kiếm bằng LIKE của MySQL)
Khi dữ liệu lớn lên (Site demo của tôi có 800.000 bài viết) thì việc tìm kiếm này không khả thi nữa. 1 từ khóa tìm kiếm sẽ mất trên 30 giây (Máy chủ tài nguyên còn rất nhiều nhưng kết qủa vẫn chậm).

Tôi đã thử nghiệm chuyển dữ liệu qua
Elasticsearch thì kết qủa rất khả quan, chỉ khoảng 1 giây là trả về kết quả.

Giới thiệu về Elasticsearch là gì
  • Elasticsearch là một search engine.
  • Elasticsearch được xây dựng để hoạt động như một server cloud theo cơ chế của RESTful.
  • Kế thừa và phát triển từ Lucene Apache.
  • Phát triển bằng ngôn ngữ Java.
  • Là phần mềm open-source được phát hành theo giất phép của Apache License.
  • Tương tự : Solr (Apache).
  • Những ai đã dùng Elasticsearch :
    • Mozilla
    • Quora
    • SoundCloud
    • GitHub
    • Stack Exchange
    • Center for Open Science
    • Reverb
    • Netflix.
Để tích hợp NukeViet và Elasticsearch sẽ phải làm ghì.
  • Bạn cần có server riêng hoặc VPS
  • Cài đặt Elasticsearch, Sau đó chuyển dữ liệu từ MySQL sang Elasticsearch
  • Đồng bộ dữ liệu giữa MySQL và Elasticsearch
  • Viết API kết nối với Elasticsearch để thay thế đoạn tìm kiếm mặc định của NukeViet.