【发布时间】:2018-01-25 20:36:42
【问题描述】:
我需要在 python 脚本中构建一个 Elasticsearch 查询。在 Elasticsearch 查询中,我需要将外部 python 变量值传递给搜索。
下面是我自己尝试过的python脚本。但它不采用外部变量参数,当我在查询中手动设置值时,它工作正常。
import master
mst = master.Master()
sourceip = "192.168.1.1" // External variable and its value
get_query_result = mst.build_query('{"query": {"bool": {"must": [{"match": { "source": "server_one" }},{"match": {"srcip": sourceip }}],"filter":[ {"range" : {"timestamp" :{"gte": "now-1d", "lte": "now"}}}]}}}')
total_query_result = get_query_result['hits']['total']
print(total_query_result)
当我将 sourceip 变量放入 elasticsearch 查询时,它不会获取变量值并生成结果。它引发了一个错误
但是当我在 Elasticsearch 查询中手动设置 IP 地址值时,脚本成功返回结果。
如何在 Elasticsearch 查询中传递 python 变量。
【问题讨论】:
标签: python elasticsearch