我正在研究一个Web项目,我正在考虑设计数据层,我认为它的很大一部分可以直接从Solr中使用。我可以使用Solr而不是MongoDB吗?
例如,在MongoDB中,faceting和count操作代替mapreduce,循环计数或$ inc。
Solr被称为“搜索”解决方案,但正如我所说,它看起来更像“db”解决方案。
Im“混淆”与Solr和db解决方案之间的重叠。
任何人谁使用它相似的意见,在生产?
感谢, 米哈伊
我正在研究一个Web项目,我正在考虑设计数据层,我认为它的很大一部分可以直接从Solr中使用。我可以使用Solr而不是MongoDB吗?
例如,在MongoDB中,faceting和count操作代替mapreduce,循环计数或$ inc。
Solr被称为“搜索”解决方案,但正如我所说,它看起来更像“db”解决方案。
Im“混淆”与Solr和db解决方案之间的重叠。
任何人谁使用它相似的意见,在生产?
感谢, 米哈伊
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的支持多值字段,它不能代表name
和address
之间的连接,因此,如果这些都是字段给定的实体,你会结束了沿着线的东西:我用两个,而我认为,蒙戈是销售作为一个数据库和Solr是明确不
{
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没有外键,只有约束是使用_id或你选择的“_id”。如果你没有使用嵌入式文档,并且你的要求是10个平键/值,那么你处于开始状态,并且它再次非常“困惑”使用什么:) – sinisa 2012-02-26 14:35:23
solr自4.5开始可以存储嵌套文档,所以此答案中的参数是没有更多的有效阅读更多在http://blog.griddynamics.com/2013/09/solr-block-join-support.html – vumaasha 2013-09-18 21:18:14
我目前没有运行Solr,所以我没有继续支持嵌套数据类型,但我的答案仍然普遍有效:solr用于搜索,而不用于存储关系数据。 – beerbajay 2013-09-19 07:23:59
,我觉得尽量减少运动部件的数量系统总是比安装市场垃圾更重要。因此,我会尽可能使用SOLR/Lucene而不是mongo。特别是,如果您需要立即进行搜索。
当然,可以配置SOLR DIH从mongo导入,但为什么要为自己创建额外的工作?根据示例代码,只需将您的信息发布到SOLR。如果您还有其他问题,请告诉我。
您需要存储什么样的数据以及您需要对这些数据执行哪些操作?我成功地选择在项目中使用Solr来仅执行文本分析(不搜索),但我对数据和操作有非常特殊的要求。 – 2012-11-11 21:58:43