Tengo una aplicación django que almacena información de estado de muchos sensores y estoy tratando de usar elasticsearch para almacenar todos los datos de estado, para su posterior análisis.
He usado mucho elasticsearch en scripts de Python en general.
Mi pregunta es cómo integrar la agrupación de conexiones elasticsearch-py/elasticsearch-dsl en una aplicación django. Me gustaría no crear una conexión para cada solicitud. De hecho, estoy tratando de incrustarlo en MyAppConfig dentro de apps.py, pero no estoy seguro de si es una buena idea.
¿Alguna ayuda?
Elasticsearch-dsl se puede integrar fácilmente usando la función de aplicación lista de la siguiente manera.
/ init .py
default_app_config = '<app>.apps.AppConfig'/aplicaciones.py
import logging from django.apps import AppConfig from django.conf import settings from elasticsearch_dsl.connections import connections log = logging.getLogger('elastic') class AppConfig(AppConfig): name = <app_name> def ready(self): connections.configure(**settings.ELASTICSEARCH)luego, en la configuración de django, tengo un diccionario llamado elasticsearch con configuraciones de alias
ELASTICSEARCH = { 'default': { 'hosts': [ { 'host': <your_host>, 'port': <your_host_port>, 'verify_certs': True, 'use_ssl': True, 'http_auth': ( <auth_name>, <auth_passwd> ) } ] }, 'dev': { 'hosts': [ { 'host': 'localhost', 'port': 9200 } ] } }