gpt4 book ai didi

python - Django-Haystack/Whoosh - 重建索引错误

转载 作者:太空宇宙 更新时间:2023-11-03 13:24:15 25 4
gpt4 key购买 nike

Python 2.5,Django 1.2.1,最近的 haystack,最近的 whoosh

这是我第一次深入研究 Django-Haystack。我一直在遵循 Haystack 的“入门”指南,一切似乎都进行得很顺利,直到我开始构建索引。

所以,运行“manage.py rebuild_index”向我反击:

Traceback (most recent call last):
File "/Users/steenb/Documents/Aptana Studio Workspace/bucksac/buckshr/manage.py", line 11, in <module>
execute_manager(settings)
File "/Library/Python/2.5/site-packages/django/core/management/__init__.py", line 438, in execute_manager
utility.execute()
File "/Library/Python/2.5/site-packages/django/core/management/__init__.py", line 379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Library/Python/2.5/site-packages/django/core/management/base.py", line 191, in run_from_argv
self.execute(*args, **options.__dict__)
File "/Library/Python/2.5/site-packages/django/core/management/base.py", line 218, in execute
output = self.handle(*args, **options)
File "/Library/Python/2.5/site-packages/haystack/management/commands/rebuild_index.py", line 13, in handle
call_command('clear_index', **options)
File "/Library/Python/2.5/site-packages/django/core/management/__init__.py", line 166, in call_command
return klass.execute(*args, **defaults)
File "/Library/Python/2.5/site-packages/django/core/management/base.py", line 218, in execute
output = self.handle(*args, **options)
File "/Library/Python/2.5/site-packages/haystack/management/commands/clear_index.py", line 38, in handle
sb.clear()
File "/Library/Python/2.5/site-packages/haystack/backends/whoosh_backend.py", line 212, in clear
self.index.commit()
AttributeError: 'FileIndex' object has no attribute 'commit'

甚至不知道从哪里开始......以前有人遇到过这个吗?

有什么解决方案吗?

更新:也用 python 2.6 试过这个,得到了同样的错误。是不是有什么Whoosh配置没做?

更新:使用 philippbosch 的以下建议后,第一个错误不再出现,但现在我得到了这个:

Traceback (most recent call last):
File "/Users/steenb/Documents/Aptana Studio Workspace/bucksac/buckshr/manage.py", line 11, in <module>
execute_manager(settings)
File "/Library/Python/2.5/site-packages/django/core/management/__init__.py", line 438, in execute_manager
utility.execute()
File "/Library/Python/2.5/site-packages/django/core/management/__init__.py", line 379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Library/Python/2.5/site-packages/django/core/management/base.py", line 191, in run_from_argv
self.execute(*args, **options.__dict__)
File "/Library/Python/2.5/site-packages/django/core/management/base.py", line 218, in execute
output = self.handle(*args, **options)
File "/Library/Python/2.5/site-packages/haystack/management/commands/update_index.py", line 69, in handle
return super(Command, self).handle(*apps, **options)
File "/Library/Python/2.5/site-packages/django/core/management/base.py", line 282, in handle
app_output = self.handle_app(app, **options)
File "/Library/Python/2.5/site-packages/haystack/management/commands/update_index.py", line 123, in handle_app
index.backend.update(index, small_cache_qs[start:end])
File "/Library/Python/2.5/site-packages/haystack/backends/whoosh_backend.py", line 163, in update
writer = AsyncWriter(self.index.writer, postlimit=self.post_limit)
TypeError: __init__() got an unexpected keyword argument 'postlimit'

我想知道我是否使用了不兼容的 Whoosh 版本....我捕获了最新的 1.0.0b2 ... http://pypi.python.org/pypi/Whoosh/

更新:原来是版本问题。目前,Haystack 绑定(bind)到 whoosh 0.3.18

最佳答案

我刚才遇到了同样的问题。您是否尝试使用 »update_index« 而不是 »rebuild_index«?这似乎对我有用……

关于python - Django-Haystack/Whoosh - 重建索引错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3424098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com