2017-07-27 5 views
0

Je crée une application Django qui contient des millions de données. Donc, pour un meilleur résultat, j'essaie d'utiliser Elasticsearch pour stocker les données. J'essaie également d'utiliser Haystack pour le processus de recherche. Mais actuellement, je suis coincé dans le processus de connexion de l'application Django avec Elasticsearch via Haystack.Connexion de l'application Django avec Elasticsearch à l'aide de Haystak

Ma configuration de base de données est:

'default': { 
     'ENGINE': 'django_elasticsearch', 
     'NAME': 'test', 
     'USER': '', 
     'PASSWORD': '', 
     'HOST': 'localhost', 
     'PORT': '9200', 
     'SUPPORTS_TRANSACTIONS': False, 
    }, 

Dans le fichier settings.py je application botte de foin et ElasticSearch installé. J'ai également copié le paramètre Haystack conformément à la documentation de settings.py.

HAYSTACK_SIGNAL_PROCESSOR = 'haystack.signals.RealtimeSignalProcessor' 

HAYSTACK_CONNECTIONS = { 
    'default': { 
     'ENGINE': 'haystack.backends.elasticsearch2_backend.Elasticsearch2SearchEngine', 
     'URL': 'http://127.0.0.1:9200/', 
     'INDEX_NAME': 'haystack', 
    }, 
} 

Le ElasticSearch fonctionne parfaitement

{ 
    "name" : "TN1nVS-", 
    "cluster_name" : "elasticsearch_manishojha", 
    "cluster_uuid" : "zZQxFpkCT8qUO_GVVQAmHA", 
    "version" : { 
    "number" : "5.5.1", 
    "build_hash" : "19c13d0", 
    "build_date" : "2017-07-18T20:44:24.823Z", 
    "build_snapshot" : false, 
    "lucene_version" : "6.6.0" 
    }, 
    "tagline" : "You Know, for Search" 
} 

Maintenant, tout ce qui est nécessaire est la connexion entre l'application et ElasticSearch.

Répondre

0

Haystack does not support encore Elasticsearch v5.5.1. Vous devez revenir à Elasticsearch v2.4.1 et également ajouter le paquet elasticsearch2-haystack via pip (ou n'importe quel gestionnaire de paquets) afin de porter le moteur Elasticsearch v2x en haystack. Après que les paramètres seront

HAYSTACK_CONNECTIONS = { 
'default': { 
    'ENGINE': 'elasticsearch2_backend.ElasticsearchSearchEngine', 
    'URL': 'http://127.0.0.1:9200/', 
    'INDEX_NAME': 'haystack', 
}, 

}

J'espère que cela vous aidera.