Результаты DSL-сканированияasticsearch - PullRequest
0 голосов
/ 01 мая 2018

Может ли кто-нибудь указать мне, как извлечь результаты _source из генератора при использовании API сканирования в Python-клиентомasticsearch dsl?

например, я использую (из этого примера, asticsearch-dsl scan )

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

Я получаю следующее

<Hit(beacon/INDEX/_Mwt9mABoXXeYV0uwSC-): {'client_number': '3570', 'cl...}>

Как извлечь словарь из генератора совпадений?

Ответы [ 2 ]

0 голосов
/ 11 июля 2019

В дополнение к ответу @ ami-hollander - .to_dict () не преобразовал мета-информацию (например, id), если вам нужна эта информация, вы можете сделать что-то вроде:

hit_dict = hit.to_dict()
hit_dict['meta'] = hit.meta.to_dict()
0 голосов
/ 02 мая 2018

Каждый Hit имеет to_dict(), следовательно, можно просто сделать hit.to_dict():

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