1

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

几个问题:

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

谢谢!

4

2 回答 2

3

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

无耻插件:有关使用 Solr 的任何信息,我推荐我的书

于 2012-04-19T17:16:02.650 回答
2

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

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

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

一般来说,使 Solr 既是搜索引擎又是存储库确实会降低您的灵活性和使搜索达到最佳状态的选项。

于 2012-04-19T17:14:54.657 回答