elasticsearch dsl 扫描结果
elasticsearch dsl scan results
有人可以告诉我如何在 elasticsearch dsl python 客户端中使用扫描 API 时从生成器中提取结果 _source
吗?
例如,我正在使用(在这个例子中,elasticsearch-dsl scan)
for hit in s.scan():
print(hit)
我得到以下内容
<Hit(beacon/INDEX/_Mwt9mABoXXeYV0uwSC-): {'client_number': '3570', 'cl...}>
如何从命中生成器中提取字典?
每个 Hit
都有 to_dict()
,因此你可以只做 hit.to_dict()
:
for hit in s.scan():
print(hit.to_dict())
注意:hit.to_dict()
不转换元信息,可以从元对象中获取元信息,即:
hit_dict = hit.to_dict()
hit_dict['meta'] = hit.meta.to_dict()
除了@ami-hollander回答-.to_dict()没有转换元信息(例如id),如果你需要这个信息你可以这样做:
hit_dict = hit.to_dict()
hit_dict['meta'] = hit.meta.to_dict()
有人可以告诉我如何在 elasticsearch dsl python 客户端中使用扫描 API 时从生成器中提取结果 _source
吗?
例如,我正在使用(在这个例子中,elasticsearch-dsl scan)
for hit in s.scan():
print(hit)
我得到以下内容
<Hit(beacon/INDEX/_Mwt9mABoXXeYV0uwSC-): {'client_number': '3570', 'cl...}>
如何从命中生成器中提取字典?
每个 Hit
都有 to_dict()
,因此你可以只做 hit.to_dict()
:
for hit in s.scan():
print(hit.to_dict())
注意:hit.to_dict()
不转换元信息,可以从元对象中获取元信息,即:
hit_dict = hit.to_dict()
hit_dict['meta'] = hit.meta.to_dict()
除了@ami-hollander回答-.to_dict()没有转换元信息(例如id),如果你需要这个信息你可以这样做:
hit_dict = hit.to_dict()
hit_dict['meta'] = hit.meta.to_dict()