使用Solr,我是否还需要SQL数据库?

时间:2012-04-19 15:09:33

标签: mysql database solr

我正在考虑使用solr来实现空间和文本索引。目前,我有条目进入MYSQL数据库和solr。当solr启动时,它会读取MYSQL中的所有数据。随着新条目的进入,我的Web服务器将它们写入MYSQL,同时将文档添加到solr。越来越多,似乎我的MYSQL实现只是成为一个只写的持久存储(或多或少,是solr中数据的备份) - 所有条目的读取都是通过solr查询完成的。实际上,从MYSQL读取的唯一数据是用户信息,不需要对其进行索引/搜索。

几个问题:

  • 我真的需要MYSQL实现,还是只需将所有数据存储在solr中?
  • 如果只是solr,与此解决方案相关的风险是什么?

谢谢!

2 个答案:

答案 0 :(得分:3)

几乎总是,答案是肯定的。它不一定是数据库,但如果您更改Solr中数据的索引方式,则应保留Solr之外的原始数据。与Solr不是的大多数数据库不同,Solr不能简单地重新索引自己。您可以假设配置您的架构,以便将所有原始数据标记为“已存储”,然后将其标记为CSV转储并以此方式重新编制索引,但我不建议使用此方法。

无耻插件:有关使用Solr的任何信息,我建议my book

答案 1 :(得分:2)

我推荐一个单独的存储库。 MySQL是一种选择。有些人使用文件系统。

您经常需要不同的模式进行搜索而不是存储。使用单独的存储库很容易做到这一点。

更改Solr架构时,需要重新加载内容。从Solr卸载所有内容可能很慢。如果它已经在一个单独的存储库中,那么你不需要从Solr转储它,你可以覆盖它们。

一般来说,使Solr成为搜索引擎和存储库确实会降低您的搜索引擎的灵活性和选项。