1

希望你有一个美好的一天!

我正在尝试将数据从 python 脚本导入弹性搜索索引。索引必须每隔一段时间(10 分钟)接收一次数据,并在每次 python 脚本完成该过程时累积所述数据,当然,不要忘记可以在 kibana 中绘制它的第一个数据。

eland用来从弹性中获取数据,执行过程(使用熊猫)并使用pandas_to_eland此处的 eland 文档)将信息发送到弹性。问题是索引忘记了新的传入数据。

这是我正在做的事情:

while(True):

  #Get data from elasticsearch
  eland_data = ed.DataFrame(es, "index_name") # (elasticsearch client, index)

  #To pandas 
  pandas_data = ed.eland_to_pandas(eland_data)

#=====================================================================
  #Some proccess with pandas_data that gives 1 dataframe row of data
#=====================================================================

  ed_df = ed.pandas_to_eland(pandas_data, #Processed data
                              es, #Elasticsearch client
                              "new_index_data, #Name the new index
                              es_if_exists="append", #append?
                              es_refresh=True) #Refresh index

  time.sleep(600) #10 min until next catch of data

是否有其他方法可以在弹性搜索索引中累积数据?

4

1 回答 1

0

Elasticsearch 有一个称为枢轴转换的概念,它可以持续聚合索引的数据(基于唯一键)。它还将这些信息放入一个新索引中,并在 Elasticsearch 集群中运行。您可以通过 API 创建这些作业,或者通过 UI 在 Kibana 中一起单击它们。

这就是你所追求的吗?

于 2021-07-17T00:27:43.707 回答