加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-20 11:14:40 所属栏目:Python 来源:网络整理
导读:Python 2.5,Django 1.2.1,最近的haystack,最近的飞快移动 这是我第一次深入研究Django-Haystack.我正在关注Haystack的“入门”指南,一切似乎都很顺利,直到我去构建索引. 所以,运行“manage.py rebuild_index”会向我发回信息: Traceback (most recent call
Python 2.5,Django 1.2.1,最近的haystack,最近的飞快移动

这是我第一次深入研究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",**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试过这个,得到了同样的错误.是否有一些我没有做过的飞快移动配置?

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

Traceback (most recent call last):
  File "/Users/steenb/Documents/Aptana Studio Workspace/bucksac/buckshr/manage.py",**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,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'

我想知道我是否正在使用一个不相容的飞快移动版……我抓住了最新的1.0.0b2 … http://pypi.python.org/pypi/Whoosh/

更新:
原来这是一个版本问题.目前,Haystack与呐喊0.3.18相关联

解决方法

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读