简体   繁体   English

django-haystack rebuild_index 命令失败

[英]django-haystack rebuild_index command fails

I'm trying install Elasticsearch for my project via django-haystack.我正在尝试通过 django-haystack 为我的项目安装 Elasticsearch。 I'm using this tutorial , but when I run a command我正在使用本 教程,但是当我运行命令时

./manage.py rebuild_index ./manage.py 重建索引

I get this error:我收到此错误:

Traceback (most recent call last):
  File "./manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/app/venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
    utility.execute()
  File "/app/venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 345, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/app/venv/local/lib/python2.7/site-packages/django/core/management/base.py", line 348, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/app/venv/local/lib/python2.7/site-packages/django/core/management/base.py", line 399, in execute
    output = self.handle(*args, **options)
  File "/app/venv/local/lib/python2.7/site-packages/haystack/management/commands/rebuild_index.py", line 26, in handle
    call_command('update_index', **options)
  File "/app/venv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 119, in call_command
    return command.execute(*args, **defaults)
  File "/app/venv/local/lib/python2.7/site-packages/django/core/management/base.py", line 399, in execute
    output = self.handle(*args, **options)
  File "/app/venv/local/lib/python2.7/site-packages/haystack/management/commands/update_index.py", line 195, in handle
    return super(Command, self).handle(*items, **options)
  File "/app/venv/local/lib/python2.7/site-packages/django/core/management/base.py", line 548, in handle
    label_output = self.handle_label(label, **options)
  File "/app/venv/local/lib/python2.7/site-packages/haystack/management/commands/update_index.py", line 200, in handle_label
    self.update_backend(label, using)
  File "/app/venv/local/lib/python2.7/site-packages/haystack/management/commands/update_index.py", line 243, in update_backend
    commit=self.commit, max_retries=self.max_retries)
  File "/app/venv/local/lib/python2.7/site-packages/haystack/management/commands/update_index.py", line 107, in do_update
    LOG.error(error_msg, exc_info=True, **error_context)
  File "/usr/lib/python2.7/logging/__init__.py", line 1174, in error
    self._log(ERROR, msg, args, **kwargs)
TypeError: _log() got an unexpected keyword argument 'retries'

models.py模型.py

class Company(models.Model):
    name = models.CharField(max_length=50)
    short_description = models.CharField(max_length=255)
    description = models.TextField()
    email = models.EmailField(unique=True)
    full_address = models.TextField(null=True)
    user = models.OneToOneField(User, null=True, related_name='company', on_delete=models.CASCADE)

search_indexes.py search_indexes.py

class CompanyIndex(indexes.SearchIndex, indexes.Indexable):

    text = indexes.CharField(document=True, use_template=True)
    name = indexes.CharField(model_attr='name')
    short_description = indexes.CharField(model_attr='short_description')
    description = indexes.CharField(model_attr='description')
    email = indexes.CharField(model_attr='email')
    full_address = indexes.CharField(model_attr='full_address')

    def get_model(self):
        return Company

Environment:环境:

  • Django==1.9.2姜戈==1.9.2
  • django-haystack==2.5.dev0 django-haystack==2.5.dev0
  • elasticsearch==2.3.0弹性搜索==2.3.0
  • elasticsearch-dsl==2.0.0 elasticsearch-dsl==2.0.0
  • logging==0.4.9.6日志==0.4.9.6
  • pyelasticsearch==1.4 pyelasticsearch==1.4
  • urllib3==1.14 urllib3==1.14

I think, this is specific error for haystack==2.5.dev0 .我认为,这是haystack==2.5.dev0特定错误。 The reason is what you didn't create(or it has a wrong name) the template search/indexes/myapp/modelname_text.txt原因是您没有创建(或名称错误)模板search/indexes/myapp/modelname_text.txt

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 使用elasticsearch在django-haystack中执行rebuild_index时的MapperParsingException - MapperParsingException on doing rebuild_index in django-haystack with elasticsearch Django-haystack:在添加自动完成所需的`content_auto`行后,rebuild_index失败(haystack.exceptions.SearchFieldError) - Django-haystack: rebuild_index fails (haystack.exceptions.SearchFieldError) after adding `content_auto` line needed for autocomplete 运行“ ./manage.py rebuild_index时,django-haystack错误 - django-haystack error when running "./manage.py rebuild_index 如何在Django Haystack中进行rebuild_index - How to rebuild_index in Django Haystack Django-Haystack / Whoosh - 重建索引错误 - Django-Haystack/Whoosh - Rebuild Index Error 使用rebuild_index的Django Haystack和Elasticsearch错误 - Django Haystack and Elasticsearch Error Using rebuild_index 无法使用Django Haystack重新构建弹性搜索:'连接被拒绝' - Unable to rebuild_index elasticsearch with Django Haystack: 'Connection refused' 关于Django-Haystack的rebuild / update_index有点困惑 - A little confused about rebuild/update_index for Django-Haystack Django Haystack Solr manage.py rebuild_index TypeError:无法序列化1.0(类型float) - Django Haystack Solr manage.py rebuild_index TypeError: cannot serialize 1.0 (type float) Django-haystack无法索引位置字段 - Django-haystack is unable to index location fields
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM