curl -s -XPOST localhost:9200/_bulk --data-binary @filename.json
我正在尋找RestClient寶石,並不能找出如何做到這一點。我需要這個對於elasticsearch的批量請求。紅寶石相當於這個捲曲命令
curl -s -XPOST localhost:9200/_bulk --data-binary @filename.json
我正在尋找RestClient寶石,並不能找出如何做到這一點。我需要這個對於elasticsearch的批量請求。紅寶石相當於這個捲曲命令
使用rest-client
RestClient.post 'localhost:9200/_bulk', File.new("filename.json", 'rb'), 'Content-type' => 'application/x-www-form-urlencoded'
不知道,如果rest-client
自動設置content-type
,只是檢查沒有它。
您可以使用標準庫(沒有任何額外的寶石)做到這一點:
require 'uri'
require 'net/http'
uri = URI.parse('http://localhost:9200/_bulk')
data = File.read('filename.json')
http = Net::HTTP.new(uri.host, uri.port)
response, body = http.post(url.path, data, {'Content-type'=>'text/xml; charset=utf-8'})
是的,但我的項目裏已經有'RestClient' gem了。所以,這是我的工作:'RestClient.post('http:// localhost:9200/_bulk',File.new(「filename.json」)' – rubyprince
謝謝,實際上這對我有效: 'RestClient .post('http:// localhost:9200/_bulk',File.new(「filename.json」)' – rubyprince