我正在完成设置 Djapian 的教程,并尝试使用 indexshell(如本步骤所示)。当我运行命令“列表”时,我得到以下输出:
Installed spaces/models/indexers:
- 0: 'global'
因此,我无法运行任何查询:
>>> query
No index selected
这导致我尝试:
>>> use 0
Illegal index alias '0'. See 'list' command for available aliases
我的 index.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 文件夹从 site-packages 移动到我的项目文件夹中,并将 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 设置有问题,现在已修复。我可以使用命令“使用 0.0.0”选择索引器,但是当我尝试运行查询时,它会引发以下 ValueError:“空切片”。