【问题标题】:What would be the motivation to integrate mongodb with solr [closed]将mongodb与solr集成的动机是什么[关闭]
【发布时间】:2014-04-25 11:31:26
【问题描述】:

Mongodb 是一个 nosql 数据库,任何查询都可以在上面运行,除了全文搜索,因为它会降低整体性能。 Solr 是一个搜索引擎。当我们将这两者整合在一起时,我们在两个系统中是否拥有相同的数据?因此,如果我们已经要存储数据,为什么我们不直接将其存储在 solr 和 lucene 中。顺便说一句,我不确定 solr 何时仅存储索引或与数据一起存储。

【问题讨论】:

    标签: mongodb solr lucene


    【解决方案1】:

    好的,现在我知道原因了,因为只有我们在 Solr 中配置的字段将存储在 lucene 中,我们也不会将整个数据存储在 lucene 中。我们只将搜索条件字段存储在 lucene 中。他们更像是彼此完成。举例说明,假设我有一个包含 40 个字段的文档,其中 5 个是另一个文档。想象一下,我想做一个查询,说我希望文档中的 3 个特定字段等于某个值,并且在父表的一个子文档中,我有一个特定字段的另一个标准是在一个区间内,另一个是包括某些词。为此,我可以通过正确配置 solr 仅将这些字段存储在 solr 中,而不是在 mongodb 中拥有额外的索引。

    【讨论】:

      【解决方案2】:

      我可能迟到了,但这就是我开始在 mongo 中使用 solr 的原因。
      原因是,我将嵌套数据存储在 mongodb 中,因此即使按照 mongodb 的指南进行索引后,查询也太慢了。因此,现在我们开始使用 solr 进行搜索,使用 mongodb 存储数据,并在 solr 中使用另一个集合进行一些基于排名的搜索。

      我们不会将完整数据存储在 solr 中进行搜索,只是过滤字段和 ID,我们利用 redis 作为缓存来按 ID 获取数据。

      【讨论】:

        【解决方案3】:

        我有一些集成 Solr 和 MongoDB 的经验。

        我使用 Mongo 作为数据存储。 Solr 充当搜索引擎(服务器)。 因为,Solr 给了我更灵活的全文搜索。

        Herehere 你可以看到如何通过 Solr 索引 mongo 数据库。

        【讨论】:

        • 我已经设置了正在运行的配置,但问题是为什么需要 mongo 来购买它
        • 就我而言,Mongo 是一个常用的数据存储(数据库)。但是我需要按文档进行ф全文搜索。 Solr 为搜索提供了更高的性能和灵活性。见[比较](stackoverflow.com/questions/3215029/…)
        【解决方案4】:

        我不是 MongoDB 专家,但从 this blog post 来看,MongoDB 全文搜索非常基础,很像关系数据库。这对您来说可能已经足够,也可能不够。 Lucene/Solr 提供的搜索features 遥遥领先。

        请注意,您也可以将 Lucene/Solr 作为主要存储引擎。 Lucene 提供ACIDdurability after crashes

        【讨论】:

        • 感谢您的智慧,但我的问题是为什么人们将它们集成在一起,我的意思是您为什么要将相同的数据存储在不同的系统中,这让我感到奇怪。有没有像在 solr 中存储索引和在 mongodb 中存储数据这样的东西。当我们使用 solr 时,我们是否默认使用 lucene?
        • 简单,他们可能希望使用 Mongo 作为主要数据源,使用 Lucene/Solr 作为搜索前端,因为 Mongo 中的基本搜索功能还不够。
        • 好吧,事情有点清楚了。那么为什么他们确实将这些数据存储在两个系统中,为什么他们只是不集群 solr。当使用 mongodb 作为主要数据源时,mongo 给你买了什么?对不起,我知道我要求太多,但我只是想知道。
        • 可能是遗留原因,因为 Mongo 不支持搜索。可能是 Mongo 更容易备份,很难说。
        猜你喜欢
        • 2014-10-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-12-21
        • 1970-01-01
        • 2010-10-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多