我正在通過教程來設置Djapian,並試圖使用indexshell(如this step中所演示的)。當我運行命令「名單」我得到以下輸出:沒有由Djapian爲Django創建的索引器
Installed spaces/models/indexers:
- 0: 'global'
所以我不能運行任何疑問:
>>> query
No index selected
這使我嘗試:
>>> use 0
Illegal index alias '0'. See 'list' command for available aliases
我的指數.py如下:
from djapian import space, Indexer, CompositeIndexer
from cms.models import Article
class ArticleIndexer(Indexer):
fields = ['body']
tags = [
('title', 'title'),
('author', 'author'),
('pub_date', 'pub_date',),
('category', 'category')
]
space.add_index(Article, ArticleIndexer, attach_as='indexer')
更新:我將站點包中的djapian文件夾移至我的項目文件夾中,並將index.py從項目根移至djapian文件夾中。當我在indexshell運行「名單」下面是現在返回:
>>> list
Installed spaces/models/indexers:
- 0: 'global'
- 0.0 'cms.Article'
-0.0.0: 'djapian.space.defaultcmsarticleindexer'
我仍然不過,當我試圖選擇一個指標我仍然得到以下錯誤不能做任何事情:
>>> use 0.0
Illegal index alias '0'. See 'list' command for available aliases
更新2:我對DJAPIAN_DATABASE_PATH的設置有問題,現在已解決此問題。我可以使用命令'use 0.0.0'來選擇一個索引器,但是當我嘗試運行一個查詢時,它會引發下面的ValueError:「空片」。
你運行過「manage.py index --rebuild」嗎? – shanyu 2009-10-28 17:28:02
我做了,我試着重新運行它,它沒有任何區別。 – 2009-10-28 17:48:37
你可以運行「列表」並粘貼到索引列表中嗎? – lemonad 2009-10-28 17:55:21