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ìĐể tích hợp NukeViet và Elasticsearch sẽ phải làm ghì.
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.
-
- 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.