繁体   English   中英

在Django上使用MongoDB进行实时搜索?

[英]Using MongoDB on Django for real-time search?

我正在研究一个非常面向搜索的项目。 基本上,用户将向网站添加内容,并且该内容应在搜索结果中立即可用。 该项目仍在开发中。

到目前为止,我一直在将Haystack与Xapian结合使用。 我担心的一件事是一旦有很多内容可用,网站的性能。 如果我想模拟实时搜索,索引将必须非常频繁地发生。

我最近在阅读MongoDB。 我没有找到满意的答案,但是我感到MongoDB可能对我希望遇到的实时搜索索引问题有所帮助。 这个对吗? 换句话说,MongoDB中可用的搜索功能是否更适合实时搜索功能?

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

提前致谢,

Laundro

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

同意托马斯(Tomasz)的要求,Sphinx Search可以满足您的需求。 实时索引 ,如果你希望它是真正的实时或增量指标 ,如果延迟几秒钟是可接受的。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM