52
|
Michael Moussa Tejay Cardon · 技术社区 · 14 年前 |
![]() |
1
69
是的,您可以使用solr作为数据库,但有一些非常严重的警告:
也就是说,对于某些任务,solr有很多明显的优势:(参见 http://wiki.apache.org/solr/WhyUseSolr )--松散的查询更容易运行并返回有意义的结果。索引是默认情况下完成的,因此大多数任意查询都能非常有效地运行(与RDBMS不同,RDBMS通常需要在事实发生后进行优化和反规范化)。 结论: 尽管您可以将Solr用作RDBMS,但您可能会发现(正如我所发现的)最终“没有免费午餐”,而且超级酷的Lucene文本搜索和高性能内存索引的成本节约通常是通过降低灵活性和采用新的数据访问工作流来支付的。 |
![]() |
2
29
使用solr作为数据库是完全合理的,这取决于 你的 应用程序。事实上,这就是 guardian.co.uk is doing . 这绝对是 不 本身就是不好的做法。只有当你用错了方法,这才是不好的,就像任何级别的其他工具一样,甚至是goto。 当你说“一个XML表示……”时,我假设你说的是有多个存储的solr字段,并使用solr的XML格式来检索它,而不仅仅是一个大的XML内容字段(这将是solr的一个糟糕的用法)。Solr使用XML作为默认响应格式的事实在很大程度上是不相关的,您也可以使用 binary protocol 在这方面,它与传统的关系数据库相当。 最终,这取决于您的应用程序的需求。索尔 是 主要是一个文本搜索引擎,但也可以作为许多应用程序的NoSQL数据库。 |
![]() |
3
2
这可能是出于性能的原因,如果它不会造成任何问题,我会让它单独存在。传统数据库与SOLR索引之间存在很大的灰色区域。对于UI表示,我觉得人们做了类似的事情(通常是键值对或JSON,而不是XML),并且只有在需要更新/删除时才从数据库中获取真正的对象。但所有的阅读都去索尔。 |
![]() |
4
2
我见过类似的事情,因为它允许快速查找。我们将数据从我们的Lucene索引转移到一个快速的键值存储库中,以遵循干燥的原则,并减少索引的大小。这类事情没有硬性规定。 |
![]() |
hello_programmers · Mysql从其他表输出一列 1 年前 |
![]() |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
![]() |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |
![]() |
Popo · Sql查询:返回数据库中不可用的where条件 1 年前 |
|
Hamdan Nuramdani · 对账单中一周内不同表中的数据求和 1 年前 |
|
Kugelfisch · 用php为数据库加密数据 1 年前 |