Я пытаюсь сохранить все документы в индексе ES под названием: news (44908 Document) и сохранить их в DataFrame
, но при запуске скрипта я получаю только первые десять документов .
Это мой код:
esClient = Elasticsearch()
response = esClient.search(index = 'news',
body = {},
)
#scrollId = response["_scroll_id"]
#print(scrollId)
esDocs = response["hits"]["hits"]
fields = {}
for num, doc in enumerate(esDocs):
sourceData = doc["_source"]
#response = esClient.scroll(scroll_id=scrollId, scroll = '1m')
#scrollId = response['_scroll_id']
#print(scrollId)
for key, val in sourceData.items():
if key == 'tags' or key == 'text' or key == 'title':
try:
fields[key] = np.append(fields[key], val)
except KeyError:
fields[key] = np.array([val])
else:
continue;
df = pd.DataFrame(fields)
Я пробовал использовать .scroll()
, но это не сработало. Я все еще получаю только 10 первых документов.
Я тоже пытался указать size = number
, но это не то, что я ищу ...
Это мой выходной фрейм данных Вывод Dataframe
NB: я использую Jupyter Notbook