【问题标题】:Using MongoDB on Django for real-time search?在 Django 上使用 MongoDB 进行实时搜索?
【发布时间】:2010-05-26 08:04:45
【问题描述】:

我正在从事一个非常以搜索为导向的项目。基本上,用户会向网站添加内容,并且这些内容应该会立即出现在搜索结果中。该项目仍在开发中。

到目前为止,我一直在使用 Haystack 和 Xapian。我担心的一件事是网站在大量内容可用时的性能。如果我想模拟实时搜索,就必须非常频繁地进行索引。

我最近在阅读 MongoDB。对于我的问题,我还没有找到令人满意的答案,但我觉得 MongoDB 可能会对我期望遇到的实时搜索索引问题有所帮助。它是否正确?换句话说,MongoDB 中提供的搜索功能是否更适合实时搜索功能?

网站上将提供的内容是大型非结构化文本(包括 HTML)和相关数据(价格、标签、日期时间信息)。

提前致谢,

洗衣店

【问题讨论】:

    标签: python full-text-search mongodb


    【解决方案1】:

    MongoDB 并不是真正的“专用全文搜索引擎”。根据他们的full text search 文档,您只能创建一个复制字符串数据或其他列的标签数组,其中包含许多元素(数百或数千)可能会使插入非常昂贵。

    同意 Tomasz 的观点,Sphinx Search 可以满足您的需求。 Real time indexes 如果您希望它是真正实时的,或者Delta indexes 如果可以接受几秒钟的延迟。

    【讨论】:

      【解决方案2】:

      我对 MongoDB 了解不多,但我使用 Sphinx Search 取得了巨大成功 - 简单、强大且非常快速的全文索引和搜索工具。它还提供了开箱即用的 Python 包装器。

      如果 Haystack 为其提供绑定会更容易获取,不幸的是,Sphinx 绑定仍然在愿望清单上。 尽管如此,设置 Spinx 非常快(我在几个小时内就完成了,对于现有的基于 Django 的生产中的 CRM),也许您可​​以在切换到更通用的解决方案之前尝试一下。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-01-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多