Để giải quyết các quan điểm của bạn:
-
Sử dụng% input% là rất tệ . Điều đó sẽ khiến toàn bộ bảng quét mọi truy vấn. Dưới bất kỳ lượng tải nào hoặc thậm chí trên một tập dữ liệu lớn từ xa, máy chủ DB của bạn sẽ bị nghẹt.
-
Một RDBMS không phải là một giải pháp tốt cho việc này. Bạn đang tìm kiếm đúng chỗ bằng cách tìm kiếm một giải pháp riêng biệt cho việc tìm kiếm. Một cái gì đó có thể giao tiếp tốt với RDBMS của bạn là tốt; thứ gì đó chạy bên trong RDBMS sẽ không làm được những gì bạn cần.
-
Tìm kiếm toàn văn bản trong MySQL có thể sử dụng được cho các tìm kiếm từ khóa rất cơ bản, không có gì hơn. Phạm vi hữu ích là cực kỳ hạn chế - bạn cần một mô hình sử dụng có khả năng dự đoán cao để tận dụng tìm kiếm tích hợp sẵn. Nó được gọi là "tìm kiếm" nhưng nó không thực sự tìm kiếm theo cách mà hầu hết mọi người nghĩ về nó. So với chất lượng kết quả tìm kiếm mà chúng tôi mong đợi từ Google và Bing, nó không thể so sánh được. Theo nghĩa đó của từ "tìm kiếm", nó là một cái gì đó khác - như Notepad vs Word. Cả hai đều là những thứ cần nhập, nhưng đó là về nó.
Đối với các hệ thống riêng biệt để xử lý tìm kiếm, Lucene rất tốt. Về cơ bản, Lucene hoạt động theo cách bạn muốn nó hoạt động. Bạn có thể tương tác với nó theo chương trình để chèn các tài liệu có thể lập chỉ mục. Tương tự, Google Appliance (không phải Tìm kiếm Tuỳ chỉnh của Google ) có thể được cung cấp các nguồn cấp dữ liệu meta trực tiếp để hiển thị bất kỳ thứ gì bạn muốn được lập chỉ mục, chẳng hạn như dữ liệu trực tiếp từ cơ sở dữ liệu.