使用ruby,如何将csv文件中的数据加载到elasticsearch索引中?
我想将csv文件中的数据加载到弹性搜索索引中。我没有使用EleasticSearchGem(现在),只是一个简单的ruby脚本。这是:使用ruby,如何将csv文件中的数据加载到elasticsearch索引中?,ruby,curl,
elasticsearch,Ruby,Curl,
elasticsearch,我想将csv文件中的数据加载到弹性搜索索引中。我没有使用EleasticSearchGem(现在),只是一个简单的ruby脚本。这是: CSV.open("candidates.csv", "r").each do |row| #file = "candidates.csv" #file_data = file.read #csv_rows = CSV.parse(file_data, headers: true, header_converters: :symbol) #c
CSV.open("candidates.csv", "r").each do |row|
#file = "candidates.csv"
#file_data = file.read
#csv_rows = CSV.parse(file_data, headers: true, header_converters: :symbol)
#csv_rows.each do |row|
curl -XPOST "http://localhost:9200/candidates/candidate" -d '
{
"first" => row[:first],
"last" => row[:last],
"designation" => row[:designation],
"company" => row[:company],
"city" => row[:city],
"country" => row[:country],
"email" => row[:email],
"phone" => row[:phone],
"experience" => row[:experience]
}'
错误消息是:
load.rb:6: syntax error, unexpected tSTRING_BEG, expecting keyword_do or '{' or '('
这种方法是否完全错误,即将“curl”请求粘贴到ruby脚本的中间
做这件事的最佳方法是什么?如何才能做到最好
一如既往,非常感谢 那
curl
命令是shell命令吗?然后,您应该在命令周围加上反勾号或使用system
。(X和POST之间不应该有空格吗?)我丢失了这样的行:%Total%已收到%Xferd平均速度时间当前数据加载上载总花费的左速度100 548 100 235 100 313 228 303 0:00:01 0:00:01--::--303但索引中没有实体,仍然不太清楚。是的,需要回勾,但X和POST之间没有空格。