2012-03-02 98 views
1

我想在Django站點上使用Django Haystack和Xapian進行搜索功能。設置完所有必要的設置後。我繼續輸入:manage.py rebuild_index,輸入'y'後我收到一個錯誤消息:Django Haystack和Xapian

沒有名爲xapian_backend的模塊。

我可以在site-packages中看到xapian後端模塊,但我不知道Django爲什麼沒有看到它。我怎樣才能使它工作?

下面是我的設置:

import os 
HAYSTACK_CONNECTIONS = { 
    'default': { 
     'ENGINE': 'haystack.backends.xapian_backend.XapianEngine', 
     'PATH': 'C:/Python27/Scripts/myweb/xapian_index', 
     'INCLUDE_SPELLING': True, 
     'BATCH_SIZE': 100, 
    }, 
} 
+0

的建議你加草垛到您的INSTALLED_APPS? – jdi 2012-03-02 06:35:53

+0

是的,我做到了。還是行不通! – picomon 2012-03-02 21:56:32

+0

除了[xapian_haystack](https://github.com/notanumber/xapian-haystack)後端,您是否安裝了所有Xapian依賴項(Xapian庫和Xapian python綁定)?如果你可以運行'python -c'import xapian'',那麼這些要求就滿足了。 – 2012-03-10 17:16:42

回答

2

引擎應該是:

'ENGINE': 'xapian_backend.XapianEngine', 

它不包含在草垛包,但是是分開的。它可能仍然無法工作。它似乎沒有升級到乾草堆2.x。

更新:它現在已經更新。

0

通過複製xapian_backend.py到草垛解決了這個問題/後端由readme