我正在努力将CSV文件中的列导入弹性搜索,任何人都可以帮助我找到确切的查询和要求,以便将数据从csv加载到弹性搜索中。
答案 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。我是开发商