gpt4 book ai didi

python - 在 Django 中集成 elasticsearch 连接池

转载 作者:行者123 更新时间:2023-11-28 22:28:23 25 4
gpt4 key购买 nike

我有一个存储大量传感器状态信息的 Django 应用程序,我正在尝试使用 Elasticsearch 来存储所有状态数据,以供进一步分析。

一般来说,我在 Python 脚本中大量使用了 elasticsearch。

我的问题是如何将 elasticsearch-py/elasticsearch-dsl 连接池集成到 django 应用程序中。我不想为每个请求创建连接。我实际上试图将它嵌入到 apps.py 中的 MyAppConfig 中,但我不确定这是否是个好主意。

有什么帮助吗?

最佳答案

Elasticsearch-dsl 可以通过以下方式使用现成的应用程序功能轻松集成。

/初始化.py

default_app_config = '<app>.apps.AppConfig'

/应用程序.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)

然后在 django 设置中我有一个名为 elasticsearch 的字典,带有别名配置

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
}
]
}
}

关于python - 在 Django 中集成 elasticsearch 连接池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43593566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com