Как перенести данные в эластичный поиск с датафрейма в Python
Я пытаюсь использовать упругие библиотеки поиска, такие как pyelasticsearch
а также elasticsearch
Я не получаю какой-либо метод, где я могу передать dataframe, и этот метод будет загружать данные фрейма данных для упругого поиска.
Я пытаюсь этот код:
for i,df in enumerate(csvfile):
print (i)
records=df.where(pd.notnull(df), None).T.to_dict()
list_records=[records[it] for it in records]
print(list_records)
try :
es.bulk_index("call_demo_data1","tweet",list_records)
except :
print ("error!, skiping some tweets sorry")
pass
где csvfile - это мой dataframe, где все мои данные присутствуют. но я получаю следующую ошибку
'str' object has no attribute 'where'
Я использовал рекомендацию в комментариях
Теперь эта проблема решена, я получаю эту ошибку при массовой загрузке
Я использую описанный выше метод для загрузки данных эластичного поиска. Я столкнулся с проблемой, поэтому вот ссылка на вопрос, который я разместил ранее
Вот код, который я использую сейчас:
records= csvfile.T.to_dict()
list_records=[records[it] for it in records]
#print(list_records)
es.bulk_index("call_demo_data1","tweet",list_records)
Я получаю ошибку:
too many values to unpack (expected 2)
эта ошибка появляется при массовой индексации. CSV-файл в приведенном выше коде является фреймом данных. Я использую эту библиотеку pyelasticsearch