Recentemente, me vi irritado com as limitações dos mecanismos de indexação de documentos. Eu estava desenvolvendo um pequeno site que precisava de recursos de pesquisa bastante robustos, mas devido às restrições de hardware, não consegui implantar uma solução Lucene (como Solr ou ElasticSearch, como normalmente faria) para lidar com essa necessidade.
E mesmo assim, enquanto eu precisava fornecer alguns dados e cálculos complexos que consumiam muitos bancos de dados, não precisava lidar com mais de 250 mil registros em potencial. A implantação de uma instância inteira do Solr ou ES apenas para lidar com isso parecia um desperdício.
Depois de pensar sobre isso, parece um problema bastante grande. A maioria das pessoas lida com requisitos de pesquisa apenas com SQL. Eles apenas executam consultas SQL para seus dados e é isso. Suas capacidades de busca também acabam sendo terríveis.
Fazer uma pesquisa curinga de texto completo pode ser muito lento em alguns sistemas (hosts compartilhados em particular) e atolar seu banco de dados, especialmente se você tiver consultas complicadas e muitas associações.
Você acaba fazendo várias consultas em uma única solicitação do usuário. Você pode contornar isso com consultas cada vez mais complicadas, mas veja o ponto anterior.
Falta de recursos normalmente presentes em mecanismos de texto completo.
Os bancos de dados tinham o mesmo problema de precisar ser implantado como servidor e, em seguida, o SQLite apareceu e, de repente, pudemos implantar um banco de dados independente em um único arquivo. Meu Google não produziu nada - pergunto se existe algo assim para indexação / pesquisa de texto completo.
Quais fatores devem ser levados em consideração ao decidir se deve-se implementar a indexação leve de documentos (por exemplo, conforme explicado nas respostas a outra pergunta ) ou continuar usando o SQL para essas situações?