gpt4 book ai didi

mongodb - 使用 mongomapper、sunspot/solr 或 sphinx 高级搜索 mongodb?

转载 作者:可可西里 更新时间:2023-11-01 09:53:26 28 4
gpt4 key购买 nike

我使用带有 mongomapper 的 mongodb 来存储我所有的产品。每个产品属于具有多个级别的多个类别,即类别、子类别等。每个产品都有许多搜索字段,这些字段是产品中嵌入的文档。

一切正常,我现在想将搜索添加到应用程序。

搜索系统需要文本搜索:多重、动态、分面搜索,包括最小/最大范围搜索。

我一直在研究 sunspot gem,但很难在开发环境中设置它,更不用说尝试在生产环境中运行它了!我也看过 sphinx 。

但我想知道仅使用 mongomapper/mongodb 是否足够快并且是最好的方法,因为它是一个相当复杂的搜索系统?

如有任何帮助/建议/经验/教程和示例,我们将不胜感激。

非常感谢,

瑞克

最佳答案

我参与了一个由 Sphinx 驱动的非常大的搜索,我认为它糟糕。如果您想要通过非常简单的全文搜索进行任何操作,则很难配置。另一方面,Solr\Lucene 非常灵活,而且设置和运行起来非常容易。

我并没有将 Solr 与 MongoDB 结合使用来为全文搜索提供所有额外的好处,例如方面等。根据您配置 Solr 的方式,您甚至可能不需要访问 MongoDB 来获取数据。或者,您可以告诉 Solr 索引字段,但不存储它们,而您只存储与 MongoDB 中的数据相对应的 ObjectId。

如果您的搜索确实是一个复杂的搜索系统,我强烈建议您不要使用 MongoDB 进行搜索并使用 Solr。一个重要原因是 MongoDb 没有全文功能——相反,它有正则表达式匹配。 Regex 匹配非常好,但只会在某些情况下使用索引。

关于mongodb - 使用 mongomapper、sunspot/solr 或 sphinx 高级搜索 mongodb?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5412737/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com