mongodb - 我可以使用 Solr 而不是 MongoDB 吗?

标签 mongodb solr

我正在做一个 web 项目,更多的是我在考虑数据层的设计,我认为它的很大一部分可以直接从 Solr 中使用。

例如,在 MongoDB 中,分面和计数操作代替了 mapreduce、循环计数或 $inc。

Solr 被称为“搜索”解决方案,但正如我所说,它在我看来更像是“数据库”解决方案。

我对 Solr 和数据库解决方案之间的重叠感到“困惑”。

在生产中类似地使用它的人有什么建议吗?

谢谢, 西尼萨

最佳答案

Solr 用于搜索。它不是设计为像普通数据库那样具有弹性或可靠的数据源,也不能处理数据库可以处理的关系类型。例如,无法指定外键或强制约束。

Solr 不像 mongoDB 那样支持“嵌套”数据类型。例如。在文档数据库中,您可以:

{
  id: 123,
  title: "cat toy stores",
  stores: [
    {
      name: "cats'n'stuff",
      address: "123 cat street"
    },
    {
      name: "the catteria",
      address: "321 tail lane"
    }
  ]
}

但是 Solr 虽然 Solr 支持多值字段,但它不能表示 nameaddress 之间的连接,所以如果这些是给定实体的字段,你会最终得到以下内容:

{
  id: 123,
  title: "cat toy stores",
  store-names: [
    name: "cats'n'stuff",
    name: "the catteria"
  ],
  store-addresses: [
    address: "123 cat street",
    address: "321 tail lane"
  ],
}

关于mongodb - 我可以使用 Solr 而不是 MongoDB 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9422389/

相关文章:

java - lucene,如何一起使用 SearcherManager 和 SearcherLifetimeManager

mongodb - 如何使用 MongoDB 进行报告?

mongodb - 如何使用 go mongo-driver 在 MongoDB 中将 []byte 存储为二进制文件

MongoDB:保存文档会重写整个文档吗?

solr - Solr等同于ElasticSearch映射类型

authentication - 具有基本身份验证的 Solr 4

Solr通配符配置问题

mongodb - 带有 continue_on_error 的 Pymongo w=1

javascript - NodeJS 到客户端 : large data sending performance

tomcat - Windows Server 2008(64 位)上的 Solr、Tomcat 7,管理屏幕返回 404