我可以通过以下curl请求获得所需的结果。但是当使用python-requests时不起作用。我之前没有与Elasticsearch合作过,所以这可能是一个基本问题。
curl -XGET 'http://something.someone.com:9200/logstash-2018.02.09/_search?pretty' -d'{ "query": {
"filtered": {
"query": {
"query_string": {
"query": "host: \"pod1-cph3.someone.com\" AND facility: user AND severity: info AND ident:web20 AND message: Write",
"analyze_wildcard": true
}
}
}
}
}'
python代码段:-
headers ={'Content-Type': 'application/json'}
elasticsearch_url="http://something.someone.com:9200/logstash-{}/".format(current_date)
data_payload= {
"query": {
"filtered": {
"query": {
"query_string": {
"query": "host: \"pod1-cph3.someone.com\" AND facility: user AND severity: info AND ident:web20 AND message: Write",
"analyze_wildcard": "true"
}
}
}
}
}
resp=requests.get(elasticsearch_url,data=json.dumps(data_payload),headers=headers)
print resp.content
请注意,这不是我的愿望输出。
输出相当长。我已经粘贴了一部分:
{"logstash-2018.02.09":{"aliases":{},"mappings":{"fluentd":{"properties":{"@timestamp":{"type":"date","format":"strict_date_optional_time||epoch_millis"},"CODE_FILE":{"type":"string"},"CODE_FUNC":{"type":"string"},"CODE_FUNCTION":{"type":"string"},"CODE_LINE":{"type":"string"},"CONFIG_FILE":{"type":"string"},"CONFIG_LINE":{"type":"str
最佳答案
试试这个,
resp=requests.get(elasticsearch_url,data=json.dumps(data_payload),headers=headers)
data=resp.json()
关于curl - 通过python请求进行Elasticsearch查询时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48705395/