设计非常大的数据库来搜索文本

Ste*_*tei 5 database database-design full-text-search

我们需要设计一个系统,允许用户在大文本中搜索不同的关键字,并且将来在一段时间内创建一些关于该关键词在所有文章中频率的基本报告.

我们将有:

  • 每天增加约200,000篇文章
  • 每篇文章大约2KB
  • 文章存放6个月

为此,我们提出了以下解决方案:

  • 创建一个SOLR存储库来存储文章
  • 使用MySQL数据库存储文章的附加信息

系统将通过关键字搜索SOLR,然后在MySQL中查找结果以检索其他信息.

那么,这会是一个好方法吗?

如果大多数搜索仅针对上个月添加的文章,那么保留两个数据库是一个好主意,一个是上个月为大多数搜索添加的文章,另一个是所有文章?

如果您对如何改进这一点有任何提示/技巧,我们将不胜感激.

提前致谢!

Sav*_*era 2

我认为你的解决方案非常好。如果您想在常见查询上获得更快的响应,我会评估在 SOLR 之前放置一个 memcache 实例。

我不确定这两个数据库,您必须了解与随着时间的推移将记录从第一个数据库移动到第二个数据库的负担相比,性能优势是什么。我怀疑是否有巨大的好处,但这只是直觉,不要相信我的话并进行实验。

另外,您是否考虑到如果您的数据集变得非常大,您可能需要一些水平可扩展的解决方案?