簡體   English   中英

EnrichClient elasticsearch python API

[英]EnrichClient elasticsearch python API

我正在嘗試將 python API 用於 elasticsearch 客戶端,以執行現有的豐富策略。

在 API 文檔中有一個elasticsearch.client.EnrichClient類的示例,但是當我嘗試使用它運行 python 腳本時,我收到以下錯誤:

File "/home/ubuntu/.local/lib/python3.6/site-packages/elasticsearch/client/utils.py", line 206, in transport return self.client.transport
AttributeError: 'list' object has no attribute 'transport'

我試圖運行的彈性命令是: es.execute_policy("overall_scoring_policy")

無論如何,我對這種類型的客戶有什么遺漏嗎?

我遇到了類似的問題並設法解決了它。 這是使用 EnrichClient 執行策略的工作示例:

#!/usr/bin/python3

from elasticsearch import client
from elasticsearch import Elasticsearch

# Configure variables for your environment
elasticUrl = 'https://cluster.contoso.foo:9200/'
requestTimeout = 60    # Request timeout in seconds
policyName = "Your_EnrichPolicy_Name"
apiId = "redactedId"
apiKey = "redactedKey"

# Create the Python Elasticsearch client
es = Elasticsearch(
  elasticUrl,
  api_key=(apiId, apiKey),
  request_timeout=requestTimeout,
  retry_on_timeout=True,
  max_retries=5
)

# Create the EnrichClient object using our Elasticsearch client object from above
enrichClient = client.EnrichClient(es)

# Execute the request and wait for completion
r = enrichClient.execute_policy(name=policyName, wait_for_completion=True)

# Print the response
print(str(r))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM