在 elasticsearch 的 python 查询中将索引作为参数传递

Passing index as a parameter in the python query for elasticsearch

我有一段 python 查询从 elasticsearch 检索数据:-

es=Elasticsearch(['http://localhost:9200'])
res = es.search(index="index1", doc_type="log",size=1000, from_=0, body={              "query": {
  "match": {
  ....Match condition
  }
 }
}})

有什么方法可以将索引作为参数传递,即在查询之外分配 index1 的值,然后将其用于提取结果?

我相信您不想对索引值进行硬编码。 如果是这种情况,您始终可以使用 format

'{0}'.format(*args, **kwargs)

在你的情况下你可以这样写:

res = es.search(index='{0}'.format(index1), doc_type="log",size=1000, from_=0, body={ "query": { "match": { ....Match condition } } }})