将数据(列)从CSV文件导入弹性搜索

时间:2017-05-31 19:07:52

标签: rest elasticsearch spring-boot java-8

我正在努力将CSV文件中的列导入弹性搜索,任何人都可以帮助我找到确切的查询和要求,以便将数据从csv加载到弹性搜索中。

3 个答案:

答案 0 :(得分:0)

也许你需要使用filebeat和logstash。

Filebeat读取您的csv文件并发送到logstash。

https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-installation.html

Logstash解析您的数据(它可以解析csv)并发送到elasticsearch。

Logstash csv输入:

https://www.elastic.co/guide/en/logstash/current/plugins-filters-csv.html

答案 1 :(得分:0)

您可以使用此python脚本将CSV加载到ES:

import csv
from elasticsearch import helpers, Elasticsearch
es = Elasticsearch()
with open('file.csv') as f:
    r = csv.DictReader(f)
    helpers.bulk(es, r, index='index_name', doc_type='doc_type')

这会将CSV文件中的所有行批量插入到elasticsearch。如果您要插入大约100件左右的物品,您可以制作一个计数器并一次插入100件物品。

PS:对于Java,您可以查看此库here

答案 2 :(得分:0)

我推荐duckimport,它是一个全局npm模块,可在所有平台上使用。

Ps。我是开发商