TypeError: __init__() got an unexpected keyword argument ‘transport_options‘

在较新版本的 Elasticsearch Python 客户端中,确实没有名为 transport_options 的参数。要设置传输选项,需要使用 transport_class 参数来创建自定义传输类,并在传输类中设置选项。

以下是一个示例,展示如何创建自定义传输类以设置传输选项:

python 复制代码
from elasticsearch import Elasticsearch, Transport
from elasticsearch.connection import RequestsHttpConnection

# 创建自定义传输类
class CustomTransport(Transport):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        # 设置传输选项
        self.max_retries = 3  # 例如,设置最大重试次数
        self.retry_on_timeout = True  # 设置超时时是否重试

# 创建 Elasticsearch 客户端并使用自定义传输类
es = Elasticsearch(
    hosts=['http://localhost:9200'],  # 替换为您的 Elasticsearch 主机地址和端口
    transport_class=CustomTransport
)

# 使用 create 方法创建索引
try:
    result = es.indices.create(index='news', ignore=400)
    print(result)
except Exception as e:
    print(f"An error occurred: {e}")

在这个示例中,我们创建了一个名为 CustomTransport 的自定义传输类,并在其中设置了传输选项。然后,我们在初始化 Elasticsearch 客户端时,通过 transport_class 参数传递了这个自定义传输类。

请根据您的需求来调整传输选项的设置,并确保在自定义传输类中进行适当的配置。这样,您可以自定义传输行为以满足您的要求。

相关推荐
全栈陈序员7 小时前
【Git】从入门到精通(一)—— Git简介:什么是版本控制系统
大数据·git·elasticsearch
阿里云大数据AI技术8 小时前
云栖实录|阿里云AI搜索系列产品全新发布 - 新引擎
人工智能·elasticsearch
Elasticsearch9 小时前
把词向量“贴”在地球仪上:用球面视角看 Embedding 的真实几何
elasticsearch
Elastic 中国社区官方博客12 小时前
基于 Elasticsearch 与 Jina AI 的全模态智能搜索实践:技术全解析
大数据·人工智能·elasticsearch·搜索引擎·ai·信息可视化·jina
傻啦嘿哟13 小时前
高德地图POI爬虫:爬取商户与景点数据,做LBS应用
爬虫
全栈陈序员14 小时前
【Git】从入门到精通(三)—— 创建第一个Git仓库
大数据·git·elasticsearch
Elasticsearch14 小时前
我们的 agent 技能如何调研、构建和测试完整的 Elastic 集成
elasticsearch
weixin1997010801615 小时前
官方授权通道和灰色爬虫,做数据服务该选哪条路(附 python 源码)
c++·爬虫·python
Elasticsearch15 小时前
AgentHack Shanghai|基于阿里云AI搜索 Elasticsearch x Qoder 构建 AI Agent 应用
elasticsearch
全栈陈序员15 小时前
【Git】从入门到精通(四)—— Git三大区域:工作区、暂存区与版本库
大数据·git·elasticsearch