最近,我发现自己对文档索引引擎的局限感到恼火。我正在开发一个小型网站,需要一些相当强大的搜索功能,但是由于它们的硬件限制,我无法部署Lucene式的解决方案(例如Solr或ElasticSearch,就像我通常那样)来满足这种需求。
即便如此,尽管我需要处理一些数据库密集型的复杂数据和计算,但我并不需要处理超过25万条潜在记录。仅仅部署一个Solr或ES实例来解决这个问题似乎是一种浪费。
经过考虑,这似乎是一个相当大的问题。大多数人仅使用SQL处理搜索需求。他们只是对数据运行SQL查询,仅此而已。他们的搜索能力最终也很糟糕。
在某些系统(尤其是共享主机)上进行全面的通配符全文搜索可能会非常缓慢,并且会使数据库陷入瘫痪,特别是在您具有复杂的查询和大量联接的情况下。
您最终只能对用户的单个请求执行多个查询。您可能会通过越来越复杂的查询来解决此问题,但请参阅上一点。
全文引擎中通常缺少功能。
数据库具有需要部署为服务器的相同问题,然后出现SQLite,突然我们可以部署一个独立包含在单个文件中的数据库。我的Google搜索没有任何结果-想知道是否存在类似这样的内容用于全文索引/搜索。
在决定是否实现轻量级文档索引(例如,如对另一个问题的回答中所述)或在这些情况下继续使用SQL 时应考虑哪些因素?