У меня есть два снимка, которые я хочу вставить вasticsearch по пути:
C:\Users\name\Downloads\book_backup\agg_example
C:\Users\name\Downloads\book_backup\search_example
, которые я правильно перечислил вasticsearch.yml
path.repo: ["C:\\Users\\olulo\\Downloads\\book_backup\\agg_example", "C:\\Users\\olulo\\Downloads\\book_backup\\search_example"]
Мойasticsearch запускается нормально и создаетновый индекс тоже работает.
Теперь, когда я пытаюсь вставить моментальный снимок в мойasticsearch, чтобы я мог работать с ним:
curl -XPUT "http://localhost:9200/movies/" -d '{"type":"fs", "settings":{"location":"C:\\Users\\name\\Downloads\\book_backup\\search_example", "compress":true}}'
Это дает мне:
curl: (1) Protocol "'http" not supported or disabled in libcurl
curl: (3) [globbing] unmatched brace in column 10
curl: (3) [globbing] unmatched close brace/bracket in column 14
В https://www.elastic.co/guide/en/elasticsearch/reference/5.2/modules-snapshots.html кажется, что они добавили имя в конце пути в местоположении, поэтому я сделал
curl -XPUT "http://localhost:9200/movies/" -d '{"type":"fs", "settings":{"location":"C:\\Users\\name\\Downloads\\book_backup\\search_example\\test", "compress":true}}'
, но все равно выдает мне ту же ошибку.
follow https://superuser.com/questions/1322567/http-not-supported-or-disabled-in-libcurl Я изменил все на двойные кавычки:
curl -XPUT "http://localhost:9200/_snapshot/javacafe" -d "{"type":"fs", "settings":{"location":"C:\\Users\\olulo\\Downloads\\book_backup\\search_example", "compress":true}}"
давая мне:
{"error":"Content-Type header [application/x-www-form-urlencoded] is not supported","status":406}
Попробовал добавить опцию curl как предложено Content-Type header [application/ x-www-form-urlencoded] не поддерживается в Elasticsearch с помощью
curl -XPUT "localhost:9200/_snapshot/javacafe" -H 'Content-Type: application/json' -d "{
"type":"fs",
"settings"{"location":"C:\\Users\\olulo\\Downloads\\book_backup\\search_example\\test", "compress":true}
}"
, который выдает аналогичную ошибку с добавленным оператором в конце:
{"error":"Content-Type header [application/x-www-form-urlencoded] is not supported","status":406}curl: (6) Could not resolve host: application
Решено: для окон необходимо использовать обратную косую черту перед двойной кавычкой внутри {}:
curl -XPUT "localhost:9200/_snapshot/javacafe" -H "Content-Type: application/json" -d "{
\"type\":\"fs\",
\"settings\"{\"location\":"C:\\Users\\olulo\\Downloads\\book_backup\\search_example\\test", \"compress\":true}
}"
FrВ моем понимании окна используют \ для рассмотрения "как есть. Если так, то почему бы не добавить обратную косую черту ко всем командам curl?