2015-03-28 3 views
3

Я пытаюсь запустить manage.py rebuild_index, но получаю ниже ошибки.Невозможно перестроить индекс в haystack django

`(django_project)[email protected]:~/doroko$ python manage.py rebuild_index No handlers could be found for logger "django_facebook.models" /home/deep/.virtualenvs/django_project/local/lib/python2.7/site-packages/django/utils/image.py:150: RemovedInDjango18Warning: Support for the PIL will be removed in Django 1.8. Please uninstall it & install Pillow instead. RemovedInDjango18Warning 

System check identified some issues: 

WARNINGS: ?: (1_6.W001) Some project unittests may not execute as expected.  HINT: Django 1.6 introduced a new default test runner. It looks like this project was generated using Django 1.5 or earlier. You should ensure your tests are all running & behaving as expected. See https://docs.djangoproject.com/en/dev/releases/1.6/#new-test-runner for more information. System check identified some issues: 

WARNINGS: ?: (1_6.W001) Some project unittests may not execute as expected.  HINT: Django 1.6 introduced a new default test runner. It looks like this project was generated using Django 1.5 or earlier. You should ensure your tests are all running & behaving as expected. See https://docs.djangoproject.com/en/dev/releases/1.6/#new-test-runner for more information. 

WARNING: This will irreparably remove EVERYTHING from your search index in connection 'default'. Your choices after this are to restore from backups or rebuild via the `rebuild_index` command. Are you sure you wish to continue? [y/N] y Removing all documents from your index because you said so. Failed to clear Elasticsearch index: ConnectionError(('Connection aborted.', error(111, 'Connection refused'))) caused by: ProtocolError(('Connection aborted.', error(111, 'Connection refused'))) All documents removed. System check identified some issues: 

WARNINGS: ?: (1_6.W001) Some project unittests may not execute as expected.  HINT: Django 1.6 introduced a new default test runner. It looks like this project was generated using Django 1.5 or earlier. You should ensure your tests are all running & behaving as expected. See https://docs.djangoproject.com/en/dev/releases/1.6/#new-test-runner for more information. Indexing 34 wishs ERROR:root:Error updating feed using default Traceback (most recent call last): File "/home/deep/.virtualenvs/django_project/local/lib/python2.7/site-packages/haystack/management/commands/update_index.py", line 189, in handle_label 
    self.update_backend(label, using) File "/home/deep/.virtualenvs/django_project/local/lib/python2.7/site-packages/haystack/management/commands/update_index.py", line 234, in update_backend 
    do_update(backend, index, qs, start, end, total, self.verbosity) File "/home/deep/.virtualenvs/django_project/local/lib/python2.7/site-packages/haystack/management/commands/update_index.py", line 89, in do_update 
    backend.update(index, current_qs) File "/home/deep/.virtualenvs/django_project/local/lib/python2.7/site-packages/haystack/backends/elasticsearch_backend.py", line 164, in update 
    prepped_data = index.full_prepare(obj) File "/home/deep/.virtualenvs/django_project/local/lib/python2.7/site-packages/haystack/indexes.py", line 207, in full_prepare 
    self.prepared_data = self.prepare(obj) File "/home/deep/doroko/feed/search_indexes.py", line 16, in prepare 
    data = super(feedIndex, self).prepare(obj) File "/home/deep/.virtualenvs/django_project/local/lib/python2.7/site-packages/haystack/indexes.py", line 198, in prepare 
    self.prepared_data[field.index_fieldname] = field.prepare(obj) File "/home/deep/.virtualenvs/django_project/local/lib/python2.7/site-packages/haystack/fields.py", line 159, in prepare 
    return self.convert(super(CharField, self).prepare(obj)) File "/home/deep/.virtualenvs/django_project/local/lib/python2.7/site-packages/haystack/fields.py", line 165, in convert 
    return six.text_type(value) File "/home/deep/.virtualenvs/django_project/local/lib/python2.7/site-packages/django/db/models/manager.py", line 81, in __str__ 
    in opts.concrete_managers + opts.abstract_managers StopIteration Traceback (most recent call last): File "manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) File "/home/deep/.virtualenvs/django_project/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 385, in execute_from_command_line 
    utility.execute() File "/home/deep/.virtualenvs/django_project/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 377, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) File "/home/deep/.virtualenvs/django_project/local/lib/python2.7/site-packages/django/core/management/base.py", line 288, in run_from_argv 
    self.execute(*args, **options.__dict__) File "/home/deep/.virtualenvs/django_project/local/lib/python2.7/site-packages/django/core/management/base.py", line 338, in execute 
    output = self.handle(*args, **options) File "/home/deep/.virtualenvs/django_project/local/lib/python2.7/site-packages/haystack/management/commands/rebuild_index.py", line 16, in handle 
    call_command('update_index', **options) File "/home/deep/.virtualenvs/django_project/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 115, in call_command 
    return klass.execute(*args, **defaults) File "/home/deep/.virtualenvs/django_project/local/lib/python2.7/site-packages/django/core/management/base.py", line 338, in execute 
    output = self.handle(*args, **options) File "/home/deep/.virtualenvs/django_project/local/lib/python2.7/site-packages/haystack/management/commands/update_index.py", line 184, in handle 
    return super(Command, self).handle(*items, **options) File "/home/deep/.virtualenvs/django_project/local/lib/python2.7/site-packages/django/core/management/base.py", line 503, in handle 
    label_output = self.handle_label(label, **options) File "/home/deep/.virtualenvs/django_project/local/lib/python2.7/site-packages/haystack/management/commands/update_index.py", line 189, in handle_label 
    self.update_backend(label, using) File "/home/deep/.virtualenvs/django_project/local/lib/python2.7/site-packages/haystack/management/commands/update_index.py", line 234, in update_backend 
    do_update(backend, index, qs, start, end, total, self.verbosity) File "/home/deep/.virtualenvs/django_project/local/lib/python2.7/site-packages/haystack/management/commands/update_index.py", line 89, in do_update 
    backend.update(index, current_qs) File "/home/deep/.virtualenvs/django_project/local/lib/python2.7/site-packages/haystack/backends/elasticsearch_backend.py", line 164, in update 
    prepped_data = index.full_prepare(obj) File "/home/deep/.virtualenvs/django_project/local/lib/python2.7/site-packages/haystack/indexes.py", line 207, in full_prepare 
    self.prepared_data = self.prepare(obj) File "/home/deep/doroko/feed/search_indexes.py", line 16, in prepare 
    data = super(feedIndex, self).prepare(obj) File "/home/deep/.virtualenvs/django_project/local/lib/python2.7/site-packages/haystack/indexes.py", line 198, in prepare 
    self.prepared_data[field.index_fieldname] = field.prepare(obj) File "/home/deep/.virtualenvs/django_project/local/lib/python2.7/site-packages/haystack/fields.py", line 159, in prepare 
    return self.convert(super(CharField, self).prepare(obj)) File "/home/deep/.virtualenvs/django_project/local/lib/python2.7/site-packages/haystack/fields.py", line 165, in convert 
    return six.text_type(value) File "/home/deep/.virtualenvs/django_project/local/lib/python2.7/site-packages/django/db/models/manager.py", line 81, in __str__ 
    in opts.concrete_managers + opts.abstract_managers StopIteration` 

Это файл search_indexes.py для модели.

import datetime 
from haystack import indexes 
from feed.models import Wish 

class feedIndex(indexes.SearchIndex, indexes.Indexable): 
    text = indexes.CharField(document=True, use_template=True) 
    wish_text = indexes.CharField(model_attr='wish_text',null=True) 
    tags = indexes.CharField(model_attr='tags') 
    added = indexes.DateTimeField(model_attr='added') 

    def get_model(self): 
     return Wish 
    def prepare_wish_text(self, obj): 
     return "Wish" 
    def prepare(self, obj): 
     data = super(feedIndex, self).prepare(obj) 
     data["_boost"] = 1.5 
     return data 

Ниже приведены версии используются:

Django==1.7.6 
django-haystack==2.3.1 
elasticsearch==1.4.0 
pyelasticsearch==0.5 
+0

Вы поняли это? У меня такая же проблема. – Esteban

ответ

0

Тестирование кажется предположить, что это подходит, если шаблон поиска неправильно настроен.

Дважды проверьте все поля в шаблоне поиска и найдите неправильный код, и проблема должна быть устранена.

https://groups.google.com/forum/#!topic/django-haystack/InXrimOyHtQ

Смежные вопросы