Gần đây, tôi thấy mình lo lắng về những hạn chế của công cụ lập chỉ mục tài liệu. Tôi đang phát triển một trang web nhỏ cần một số khả năng tìm kiếm khá mạnh mẽ nhưng do hạn chế về phần cứng của họ, tôi không thể triển khai giải pháp Lucene-ish (như Solr hoặc ElasticSearch, như tôi thường làm) để đáp ứng nhu cầu này.
Và thậm chí sau đó, trong khi tôi cần cung cấp một số dữ liệu và tính toán phức tạp đòi hỏi nhiều cơ sở dữ liệu, tôi không cần phải xử lý hơn 250 nghìn hồ sơ tiềm năng. Triển khai toàn bộ cá thể Solr hoặc ES chỉ để xử lý việc này có vẻ như là một sự lãng phí.
Sau khi tôi nghĩ về nó, nó có vẻ như là một vấn đề khá lớn. Hầu hết mọi người xử lý các yêu cầu tìm kiếm chỉ với SQL. Họ chỉ chạy các truy vấn SQL cho dữ liệu của họ và đó là điều đó. Khả năng tìm kiếm của họ cuối cùng cũng rất tệ.
Thực hiện tìm kiếm ký tự đại diện toàn văn có thể rất chậm trên một số hệ thống (cụ thể là máy chủ được chia sẻ) và làm hỏng cơ sở dữ liệu của bạn, đặc biệt nếu bạn có các truy vấn phức tạp và nhiều liên kết.
Bạn cuối cùng thực hiện nhiều truy vấn trên một yêu cầu từ người dùng. Bạn có thể giải quyết vấn đề này bằng các truy vấn phức tạp hơn bao giờ hết, nhưng hãy xem điểm trước đó.
Thiếu các tính năng thường có trong các công cụ toàn văn.
Cơ sở dữ liệu có cùng một vấn đề cần phải được triển khai như một máy chủ và sau đó SQLite xuất hiện và đột nhiên chúng ta có thể triển khai một cơ sở dữ liệu được chứa trong một tệp duy nhất. Google Googling của tôi đã không tạo ra gì - tự hỏi liệu có thứ gì đó tồn tại như thế này để lập chỉ mục / tìm kiếm toàn văn bản không.
Những yếu tố nào cần tính đến khi quyết định thực hiện lập chỉ mục tài liệu nhẹ (ví dụ như được giải thích trong câu trả lời cho câu hỏi khác ) hoặc tiếp tục sử dụng SQL cho các tình huống này?