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 参数传递了这个自定义传输类。

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

相关推荐
深蓝电商API9 小时前
0 基础入门爬虫:Python+requests 环境搭建保姆级教程
开发语言·爬虫·python
❀͜͡傀儡师10 小时前
docker搭建Elasticsearch+Kafka+Logstash+Filebeat日志分析系统
elasticsearch·docker·kafka
B站计算机毕业设计之家13 小时前
基于Python+Django+双协同过滤豆瓣电影推荐系统 协同过滤推荐算法 爬虫 大数据毕业设计(源码+文档)✅
大数据·爬虫·python·机器学习·数据分析·django·推荐算法
m0_4955627816 小时前
Swift-snapKit使用
开发语言·elasticsearch·swift
孤狼warrior17 小时前
目前最新同花顺金融股市数据爬取 JS逆向+node.js补浏览器环境
javascript·爬虫·python·金融·node.js
蒋厚施20 小时前
elasticsearch 安装 repository-oss 插件
elasticsearch
开开心心_Every21 小时前
专业视频修复软件,简单操作效果好
学习·elasticsearch·pdf·excel·音视频·memcache·1024程序员节
xiaoxiongip6661 天前
假设两个设备在不同网段,网关怎么设置才能通呢
网络·爬虫·python·https·智能路由器
tryCbest1 天前
Python基础之爬虫技术(一)
开发语言·爬虫·python
疏狂难除1 天前
某个网址的爬虫——mitmproxy的简单使用
爬虫·mitmproxy