我很想在AWS OpenSearch中使用SQL。
是否有一种使用opensearchpy驱动程序来实现这个目标的方法?
类似于this SO question。
我的尝试:
es = OpenSearch(
hosts=[{'host': config.es_host, 'port': 443}],
http_auth=aws_auth,
use_ssl=True,
verify_certs=True,
max_retries=10,
retry_on_timeout=True,
connection_class=RequestsHttpConnection
)
es.search(index='user-sessions', body={
'query': 'select * from user-sessions limit 20'
}
对此注释的...leads:
opensearchpy.exceptions.RequestError: RequestError(400, 'parsing_exception', 'Unknown key for a VALUE_STRING in [query].')
这个也不管用:
es.sql.query(body={
'query': 'select * from user-sessions limit 20'
})
对于此例外情况,...leads:
AttributeError: 'OpenSearch' object has no attribute 'sql'
有人有什么想法吗?
发布于 2022-06-20 20:12:18
@Ikar:对于AWS Opensearch版本,下面的内容应该适用于您:
response = es.transport.perform_request(
'POST',
'/_plugins/_sql',
body={'query': 'SELECT * from user-sessions LIMIT 50'}
)
print(response)
注意:响应将是一个python字典,在datarows
中,您将看到搜索结果的值。
有关更多信息,请查看下面的链接:
https://stackoverflow.com/questions/72373703
复制相似问题