Bài 1: Giới thiệu về Sphinx và tại sao phải dùng nó?

Trong bài viết đầu của loạt bài Sphinx, tôi sẽ giới thiệu về nó và tại sao tôi cũng như các bạn phải dùng nó.

Giới thiệu về Sphinx:

1. Sphinx là gì?
  • Sphinx là một full-text search engine tìm kiếm dữ liệu mạnh mẽ nhất được viết bằng ngôn ngữ C++ và có thể chạy trên hầu hết các hệ điều hành hiện nay (Linux, Windows, Mac, Solaris v.v).
2. Sphinx dùng để làm gì?
  • Sphinx dùng để thay thế Full text searchLike của Mysql. Giúp giảm tải và tối ưu hiệu quả tìm kiếm khi database trở nên quá lớn.

Nhân tiện nói về thêm một chút, Sphinx là con nhân sư trong thần thoại Hy Lạp, Ai Cập. Trong thần thoại Hy Lạp nhân sư được cho là canh gác cổng vào thành phố Thebes, đưa ra câu đố cho bất kỳ ai muốn vào thành, những người không trả lời được sẽ bị nhân sư bóp cổ và ăn thịt >:)

3. Tại sao tôi lại sử dụng Sphinx:
  • Trong quá trình xây dựng một công cụ tìm kiếm file tôi đã bắt gặp vấn đề khá đau đầu đó là - hệ thống CSDL (ở đây là MYSQL) - đã trở nên quá tải và không đáp ứng được nhu cầu vì số lượng rows quá nhiều (lên tới hàng triệu) và cuối cùng dẫn tới truy vấn tìm kiếm lâu cũng như không đạt hiệu quả cao. Do đó, tôi đã mày mò và áp dụng Sphinx với kết quả thực sự còn đáp ứng ngoài nhu cầu của web: tìm kiếm cực nhanh, giảm tải cho hệ thống CSDL (khi search không cần connect tới MYSQL), kết quả trả về chính xác,...

Tuy nhiên, hạn chế của Sphinx là chưa được áp dụng nhiều tại Việt Nam, chưa có nhiều tài liệu tiếng Việt cho anh em tham khảo, khiến việc cài đặt và sử dụng trở nên rất khó khăn. Vì vậy, tôi đã mạnh dạn xây dựng chuyên mục này này và chia sẻ kinh nghiệm cho anh em cùng tham khảo. Trình viết còn thấp, kinh nghiệm không nhiều, có gì sai sót mong bỏ quá cho :) .

Bài 2: Cài đặt Sphinx trên CentOS

Bài 3: Cấu hình và sử dụng Sphinx cơ bản

Bài 4: Cài đặt và sử dụng Sphinx Tool - Quản lí Sphinx trên giao diện Web

Bài 5: Real Time Index với Sphinx

Dây rút nhựa tp hcm