Utilisation de Django & Haystack avec ElasticSearch.AttributeError: l'objet 'module' n'a pas d'attribut 'ElasticSearchError': Utilisation de Haystack Elasticsearch
Après avoir installé botte de foin et ES, et reconstruction Index
./manage.py rebuild_index
AVERTISSEMENT: Cela supprimera irréparablement tout de votre index de recherche dans le cadre « par défaut ». Vos choix après cela sont à restaurer à partir des sauvegardes ou reconstruire via la commande rebuild_index
. Etes-vous sûr de vouloir continuer? [Y/N] y
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'
index de mise à jour a le même problème
/manage.py update_index
Indexing 1039 <django.utils.functional.__proxy__ object at 0x10ea49d90>.
AttributeError: 'module' object has no attribute 'ElasticSearchError'
index clair fonctionne très bien que (probablement parce qu'il n'y a pas d'index)
./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
Suppression de tous les documents de votre index parce que vous l'avez dit. Tous les documents ont été supprimés.
Versions
django-botte de foin == 2.0.0-beta
pyelasticsearch == 0,5
ElasticSearch == 0.20.6
localhost: 9200 dit:
{
"ok" : true,
"status" : 200,
"name" : "Jigsaw",
"version" : {
"number" : "0.20.6",
"snapshot_build" : false
},
"tagline" : "You Know, for Search"
}
Paramètres de foin:
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
Toute aide - pourquoi je reçois une erreur?
pouvez-vous coller une version coupée de vos paramètres et vos modèles de recherche de botte de foin, s'il vous plaît? –