elasticsearch dsl扫描结果

时间:2018-05-01 14:39:22

标签: python python-3.x elasticsearch-dsl elasticsearch-dsl-py

有人指出我在弹性搜索dsl python客户端中使用扫描API时如何从生成器中提取结果FirebaseApp

例如,我正在使用(在此示例中为elasticsearch-dsl scan

_source

我得到以下

for hit in s.scan():
    print(hit)

如何从命中生成器中提取字典?

2 个答案:

答案 0 :(得分:1)

每个Hit都有to_dict(),因此可以hit.to_dict()

for hit in s.scan():
    print(hit.to_dict())

答案 1 :(得分:0)

除了@ ami-hollander答案- .to_dict()不会转换元信息(例如id),如果您需要此信息,则可以执行以下操作:

hit_dict = hit.to_dict()
hit_dict['meta'] = hit.meta.to_dict()