我是Elasticsearch的新手,我正在按照教程加載示例數據:https://www.elastic.co/guide/en/kibana/current/tutorial-load-dataset.html 當我嘗試在PowerShell中批量插入數據 'curl -H'Content-Type:application/X-ndjson '-XPOST的 'localhost:9200 /莎士比亞/ _bulk漂亮' --data二進制 「@ shakespeare.json」'問題批量插入elasticsearch捲曲powershell
我收到以下錯誤
PS C:\開發\ elasticsearch-5.4.1 \ importdata> curl -H'Content-Type:application/x-ndjson'-XPOST'localhost:9200/shakespeare/_bulk?pretty'--data-binary「@ shakespeare.json」調用WebRequest:無法綁定參數'標題'。無法將類型爲「System.St ring」的「Content-Type:application/x-ndjson」值轉換爲鍵入「System.Collections.IDictionary」。 在行:1字符:9 +捲曲-H '內容 - 類型:應用程序/ x-ndjson' -XPOST的「localhost:9200 /秒... + ~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~類別信息:InvalidArgument:(:) [Invoke-WebRequest],ParameterBindingException .InvokeWebRequestCommand
我已經試過幾件事情,閱讀大量API文檔,但沒有結果
我這裏還有JSON文件的內容的一些例子:
{ 「索引」:{ 「_索引」: 「莎士比亞」, 「_類型」: 「行動」, 「_ ID」:0}} { 「line_id」:1, 「play_name」: 「亨利IV」,「speech_number 「:」」, 「LINE_NUMBER行」: 「」, 「喇叭」: 「」, 「text_entry」: 「ACT I」} { 「指數」:{ 「_指數」: 「莎士比亞」, 「_類型」: 「場景」 , 「_編碼」:1}} { 「line_id」:2 「play_name」: 「亨利IV」, 「speech_number」: 「」, 「LINE_NUMBER」: 「」, 「揚聲器」: 「」, 「text_entry」: 「場景一倫敦。宮殿 「} {」 索引 「:{」 _索引 「:」 莎士比亞 「 」_類型「: 」行「, 」_ ID「:2}} { 」line_id「:3 」play_name「:」 亨利四世」, 「speech_number」: 「」, 「LINE_NUMBER行」: 「」, 「喇叭」: 「」, 「text_entry」: 「進入國王亨利,約翰勳爵蘭開斯特,威斯特摩蘭伯爵,SIR WALTER生硬,和其他人」}
的JSON的結構在使用批量注入時數據是不同的,你基本上需要添加index/type/id作爲json的一部分:這裏有更多信息https://www.elastic.co/guide/en/elasticsearch/reference/5.4/ docs-bulk.html –
你也可以在powershell/Invoke-WebRequest中使用unix/curl litterally,你應該使用Invoke-RestMethod來替代imo。 –
最後URI應該是'localhost:9200/_bulk' ..這些評論不會解決所有問題,因爲我沒有看到sharespeare.json文件,但它應該讓你更接近。 –