haystack django elasticsearch django-haystack

django haystack github



IndexMissingException-django haystack con elasticsearch (2)

Bien, cree un índice a través de curl y en lugar de volver a generar el índice use ./manage.py update_index Solo para guardar el día.

Estoy tratando de configurar la búsqueda de pajar con elasticsearch backend. Recibo el siguiente error:

./manage.py rebuild_index ... Failed to clear Elasticsearch index: (404, u''IndexMissingException[[haystack] missing]'')

Sin embargo, el siguiente comando funciona:

curl -XPUT http://33.33.33.1:9200/haystack {"ok":true,"acknowledged":true} curl -XGET http://33.33.33.1:9200/haystack/test/something {"_index":"haystack","_type":"test","_id":"something","exists":false}

Ahora, después de correr

./manage.py rebuild_index ... Failed to clear Elasticsearch index: (404, u''IndexMissingException[[haystack] missing]'')

De nuevo, de repente, el comando que funcionaba como se esperaba ahora genera el siguiente error:

curl -XGET http://33.33.33.1:9200/haystack/test/something {"error":"IndexMissingException[[haystack] missing]","status":404}

Como sugerí en otros lugares, también intenté:

from django.core import management from haystack import connections backend = connections[''default''].get_backend() backend.setup_complete = False backend.existing_mapping = None management.call_command(''rebuild_index'', interactive=False, verbosity=0)

con el mismo resultado:

{"error":"IndexMissingException[[haystack] missing]","status":404}

Estoy ejecutando Django 1.4.2, django-haystack HEAD de github y pyelasticsearch HEAD de github

config:

HAYSTACK_CONNECTIONS = { ''default'': { ''ENGINE'': ''haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine'', ''URL'': ''http://33.33.33.1:9200/'', ''INDEX_NAME'': ''haystack'', }, }

¿Alguien puede ayudarme?


Estúpido yo. No extendí mi clase Index desde indexes. Indexable según requiera el haystack 2. Por lo tanto, haystack simplemente no recogió mi índice y finalizó correctamente sin previo aviso. El mensaje de error es algo engañoso. Haystack parece dar siempre si invocas rebuild_index, sin importar si el índice ya existió o no.