Использование Django & Хейстак с ElasticSearch.AttributeError: объект 'module' не имеет атрибута 'ElasticSearchError': Использование Haystack Elasticsearch
После установки стог и ES, и Перестроение индекса
./manage.py rebuild_index
ВНИМАНИЕ: Это необратимо удалить все из вашего поискового индекса в связи «по умолчанию». После этого вы можете восстановить из резервных копий или перестроить команду rebuild_index
. Вы действительно хотите продолжить? [Y/N] у
Removing all documents from your index because you said so.
All documents removed.
Indexing 1039 <django.utils.functional.__proxy__ object at 0x10ca3ded0>.
AttributeError: 'module' object has no attribute 'ElasticSearchError'
индекс Обновление имеет ту же проблему
/manage.py update_index
Indexing 1039 <django.utils.functional.__proxy__ object at 0x10ea49d90>.
AttributeError: 'module' object has no attribute 'ElasticSearchError'
Clear индекс работает нормально, хотя (вероятно потому, что нет индекса)
./manage.py clear_index
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
Удаление всех документов из ваш индекс, потому что вы так сказали. Все документы удалены.
Версии
Джанго-стог == 2.0.0 бета-
pyelasticsearch == 0,5
elasticsearch == 0.20.6
локальный: 9200 говорит:
{
"ok" : true,
"status" : 200,
"name" : "Jigsaw",
"version" : {
"number" : "0.20.6",
"snapshot_build" : false
},
"tagline" : "You Know, for Search"
}
Уставки сена:
HAYSTACK_CONNECTIONS = {
'default': {
'ENGINE': 'haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine',
'URL': 'http://127.0.0.1:9200/',
'INDEX_NAME': 'haystack',
},
}
search_indexes.py:
import datetime
import haystack
from haystack import indexes
from app.models import City
class CityIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.CharField(document=True, use_template=True)
name = indexes.CharField(model_attr='name')
state = indexes.CharField(model_attr='state')
country = indexes.CharField(model_attr='country')
lat = indexes.FloatField(model_attr='latitude')
lon = indexes.FloatField(model_attr='longitude')
alt = indexes.FloatField(model_attr='altitude')
pop = indexes.IntegerField(model_attr='population')
def get_model(self):
return City
Любая помощь - почему я получаю сообщение об ошибке?
Вы могли бы вставить устаревшую версию своих настроек и ваши поисковые модели сена, пожалуйста? –