簡體   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