2012-08-28 64 views
3

在Django項目中,我有一些mongoengine的文檔要在elasticsearch中編入索引。
爲此,我一直在尋找django-haystack,它很簡單,記錄完備並被廣泛使用。
不幸的是,haystack似乎與Django的ORM非常相關,我在Mongoengine(它非常接近Django的ORM)方面遇到了一些困難。mongoengine文檔的草垛

那麼,有沒有人已經玩過乾草堆和mongoengine?它是否按預期工作?
如果不是,你建議使用pyes或pyelasticsearch的香草使用嗎?

感謝您花費在這個問題上的時間。

回答

1

我用pyes來獲取數據進出彈性搜索。我在文檔中添加了一個to_search方法,並使用芹菜和信號更新索引。我沒有嘗試pyelasticsearch,但它也看起來不錯。

+0

感謝您的回答@Ross。這正是我想要做的。 –

+0

嗨@羅斯,我面臨同樣的問題。你的方法看起來不錯,但我無法理解'to_search'方法到底是什麼?您是否詳細記錄了此架構/實施的詳細信息,以瞭解更多信息? 我目前正計劃將[MongoEngine](http://mongoengine.org/)和[Mongodb River for elasticsearch插件](https://github.com/richardwilly98/elasticsearch-river-mongodb)與Django和Mongodb結合使用, – flyankur

+0

如果我正確地記得'to_search'方法 - 將mongoengine文檔轉換爲一個由elasticsearch使用的json文檔。使用信號,我將文檔_id傳遞給celery,以便我可以在elasticsearch中更新存儲的文檔。這是在mongodb添加了一個文本搜索本身之前的所有內容,這可能會對您有用。 – Ross