2012-04-19 94 views
1

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

几个问题:

  • 我真的需要MYSQL实现或可能我只是我所有的数据存储在Solr的?
  • 如果只提供解决方案,与此解决方案相关的风险是什么?

谢谢!

+0

我不明白它...... – threejeez 2012-05-14 08:13:24

回答

3

几乎总是,答案是肯定的。它不一定是数据库必需的,但是如果您改变索引Solr中的数据的方式,您应该将原始数据保留在Solr之外的某个位置。与大多数Solr不同的数据库不同,Solr不能简单地重新索引自己。您可以假设性地配置您的模式,以便您的所有原始数据都被标记为“已存储”,然后可能转储到CSV转储并重新索引,但我不会推荐这种方法。

无耻插头:有关使用Solr的任何信息,我推荐使用my book

2

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

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

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

一般来说,使Solr既是一个搜索引擎,也是一个存储库,真正降低了您的灵活性和使搜索最佳的选择。

+0

当然,它不一定是关系数据库。选择应该主要取决于您的数据结构和缩放需求。有许多新的NoSQL数据库处理各种数据体系结构,这些体系结构基于分布式:文档,列,哈希映射,图表...... – 2012-04-20 13:26:37

相关问题