curl: (3) непревзойденная скобка в позиции URL 1:

Отсюда я запускаю учебник по Apache Solr:

http://lucene.apache.org/solr/guide/7_6/solr-tutorial.html

[ 1115] Solr запущен, и я могу выполнять запросы в веб-браузере.

В учебнике упоминается cURL, с которым я не знаком.

Я распаковал CURL в C:\Curl и включил Curl в PATH environment variable: C:\Curl\curl-7.63.0-win64-mingw\bin

Я получаю сообщение об ошибке при запуске команды ниже в командной строке Windows. Я погуглил, чтобы попытаться найти решение безрезультатно:

Код ниже:

C:\Curl\curl-7.63.0-win64-mingw\bin>curl -X POST -H 'Content-type:application/json' --data-binary '{"add-field": {"name":"name", "type":"text_general", "multiValued":false, "stored":true}}' http://localhost:8983/solr/films/schema

генерирует следующую ошибку:

curl: (3) unmatched brace in URL position 1:
{name:name,
 ^
curl: (3) URL using bad/illegal format or missing URL
curl: (3) URL using bad/illegal format or missing URL
curl: (3) unmatched close brace/bracket in URL position 12:
stored:true}}'
           ^
{
  "responseHeader":{
    "status":400,
    "QTime":1},
  "error":{
    "metadata":[
      "error-class","org.apache.solr.common.SolrException",
      "root-error-class","org.apache.solr.common.SolrException"],
    "msg":"no stream",
    "code":400}}

[1121 ] Я попытался добавить -g, чтобы отключить сглаживание.

curl -g -X POST -H 'Content-type:application/json' --data-binary '{"add-field": {"name":"name", "type":"text_general", "multiValued":false, "stored":true}}' http://localhost:8983/solr/films/schema

Это привело к почти идентичной ошибке:

C:\Curl\curl-7.63.0-win64-mingw\bin>curl -g -X POST -H 'Content-type:application/json' --data-binary '{"add-field": {"name":"name", "type":"text_general", "multiValued":false, "stored":true}}' http://localhost:8983/solr/films/schema

curl: (3) URL using bad/illegal format or missing URL
curl: (3) URL using bad/illegal format or missing URL
curl: (3) URL using bad/illegal format or missing URL
curl: (3) URL using bad/illegal format or missing URL
{
  "responseHeader":{
    "status":400,
    "QTime":1},
  "error":{
    "metadata":[
      "error-class","org.apache.solr.common.SolrException",
      "root-error-class","org.apache.solr.common.SolrException"],
    "msg":"no stream",
    "code":400}}

Затем я попытался удалить одинарные кавычки и избежать двойных кавычек, но затем получил следующую ошибку:

curl -g -X POST -H Content-type:application/json --data-binary {\"add-field\": {\"name\":\"name\", \"type\":\"text_general\", \"multiValued\":false, \"stored\":true}} http://localhost:8983/solr/films/schema

[1124 ] curl: (3) URL-адрес использует неверный / недопустимый формат или отсутствует URL-адрес curl: (3) URL-адрес использует неверный / недопустимый формат или отсутствует URL-адрес curl: (3) URL-адрес использует неверный / недопустимый формат или отсутствует URL-адрес curl: (3) URL-адрес использует неверный / недопустимый формат или отсутствующий URL {"responseHeader": {"status": 500, "QTime": 4}, "error": {"msg": "Преждевременный EOF: char = (EOF), позиция = 11 ПОСЛЕ =" '' "," trace ":" org.noggit.JSONParser $ ParseException: преждевременный EOF: char = (EOF), позиция = 11 AFTER = '' \ r \ n \ tat org.noggit.JSONParser.err (JSONParser.java : 419) \ r \ n \ tat org.noggit.JSONParser.next (JSONParser.j ava: 973) \ r \ n \ tat org.noggit.JSONParser.nextEvent (JSONParser.java:1061) \ r \ n \ tat org.apache.solr.common.util.CommandOperation.parse (CommandOperation.java:285) \ r \ n \ tat org.apache.solr.common.util.Command Operation.readCommands (CommandOperation.java:350) \ r \ n \ tat org.apache.solr.common. util.CommandOperation.readCommands (CommandOperation.java:326) \ r \ n \ tat org.apache.solr.api.ApiBag.getCommandOperations (A piBag.java:289)\r\n\tat org.apache.solr.servlet .HttpSolrCall.getCommands (HttpSolrCall.java:1073) \ r \ n \ tat org.apache.solr.servlet.SolrRequestParsers $ 1.getCommands (SolrRequestParsers.java:245) \ r \ n \ tat o rg.apache.solr.sche .SchemaManager.performOperations (SchemaManager.java:77) \ r \ n \ tat org.apache.solr.handler.SchemaHandler.handleRequestBody (SchemaHandler.java:90) \ r \ n \ tat org.apache.solr.handler.Requ estHandlerBase.handleRequest (RequestHandlerBase.java:199) \ r \ n \ tat org.apache.solr.core.SolrCore.execute (SolrCore.java:2541) \ r \ n \ tat org.apache.solr.servlet.HttpSolrCall. execute (HttpSolrCall.java:709) \ r \ n \ tat org.apache.solr.servlet.HttpSolrCall.call (HttpSolrCall.java:515) \ r \ n \ tat org.apache.solr.servlet.SolrDispatchFilter.doFilter ( SolrDispatchFilter.java:377)\r\n\tat org.apache.solr.servlet.SolrDi spatchFilter.doFilter (SolrDispatchFilter.java:323) \ r \ n \ tat org.eclipse.jetty .servlet.ServletHandler $ CachedChain.doFilter (ServletHandler.java:1634) \ r \ n \ tat org.eclipse.jetty.servlet.ServletHandler.doHa ndle (ServletHandler.java:533) \ r \ n \ tat org.ecl. jetty.server.handler.ScopedHandler.handle (ScopedHandler.java:146) \ r \ n \ tat org.eclipse.jetty.security.SecurityHandler.handle (SecurityHandler.java:548) \ r \ n \ tat org.eclipse. jetty.server.handler.HandlerWrapper.handle (HandlerWrapper.java:132) \ r \ n \ tat org.eclipse.jetty.server.handler.ScopedHandler.nextHandle (ScopedHandler.java:257) \ r \ n \ tat org. eclipse.je tty.server.session.SessionHandler.doHandle (SessionHandler.java:1595) \ r \ n \ tat org.eclipse.jetty.server.handler.ScopedHandler.nextHandle (ScopedHandler.java:255) \ r \ n \ tat org.eclipse.jetty.server.handler. ContextHandler.doHandle (ContextHandler.java:1317) \ r \ n \ tat org.eclipse.jetty.server.handler.ScopedHandler.nextScope (ScopedHandler.java:203) \ r \ n \ tat org.eclipse.jetty.servlet. ServletHandler.doScope (Служба letHandler.java:473)\r\n\tat org.eclipse.jetty.server.session.SessionHandler.doScope (SessionHandler.java:1564) \ r \ n \ tat org.eclipse.jetty.server .handler.ScopedHandler.nextScope (ScopedHandler.java:201) \ r \ n \ tat org.eclipse.jetty.server.handler.ContextHandler.doScope (ContextHandler.java:1219) \ r \ n \ tat org.eclipse.jetty .server.handler.ScopedHandler.handle (ScopedHandler.java:144) \ r \ n \ tat org.eclipse.jett y.server. handler.ContextHandlerCollection.handle (ContextHandlerCollection.java:219) \ r \ n \ tat org.eclipse.jetty.server.handler.HandlerCollection.handle (HandlerCollection.java:126) \ r \ n \ tat org.eclipse.je tty .server.handler.HandlerWrapper.handle (HandlerWrapper.java:132) \ r \ n \ tat org.eclipse.jetty.rewrite.handler.RewriteHandler.handle (RewriteHandler.java:335) \ r \ n \ tat org.eclipse .jetty.server.handler.Hand lerWrapper.handle (HandlerWrapper.java:132) \ r \ n \ tat org.eclipse.jetty.server.Server.handle (Server.java:531) \ r \ n \ tat org. eclipse.jetty.server.HttpChannel.handle (HttpChannel.java:352) \ r \ n \ tat org.eclipse .jetty.server.HttpConnection.onFillable (HttpConnection.java:260) \ r \ n \ tat org.eclipse. jetty.io.AbstractConnection $ ReadCallback.succeeded (AbstractConnection.java:281) \ r \ n \ tat org.eclipse.jetty.io.FillIn terest.fillable (FillInterest.java:102) \ r \ n \ tat org.eclipse .jetty.io.ChannelEndPoint $ 2.run (ChannelEndPoint.java:118) \ r \ n \ tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask (EatWhatYouKill .jav a: 333) \ r \ n \ tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce (EatWhatYouKill.java:310) \ r \ n \ tat org.eclipse.jetty.util.thread.strategy. EatWhatYouKill.tryProduce (EatWhatYouKill.java: 168) \ r \ n \ tat org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run (EatWhatYouKill.java:126) \ r \ n \ tat org.jlip util.thread.ReservedThreadExecutor $ ReservedThread.run (ReservedThreadExecutor. Java: 366) \ r \ n \ tat org.eclipse.jetty.util.thread.QueuedThreadPool.runJob (QueuedThreadPool.java:762) \ r \ n \ tat org.eclipse.jetty.util.thread.QueuedThreadPool $ 2. (QueuedThreadPool.java:680)\r\n\tat java. lang.Thread.run (Неизвестный источник) \ r \ n "," code ": 500}}

Я знаю, что есть много похожих вопросов и ответов на SO по этой проблеме, но они не совсем То же самое и ни одно из решений, которые я пытался решить, не решило мою проблему.

0
задан 20.01.2019, 11:22

3 ответа

Командная строка Windows не поддерживает одинарные кавычки. Это проблема, потому что операторы cURL используют одинарные кавычки для указания данных JSON.

Чтобы устранить проблему, сохраните JSON в отдельном файле (например, add-field.txt) и импортируйте его в оператор cURL, чтобы позже вы могли запустить его следующим образом:

curl -X POST -H 'Content-type:application/json' --data-binary @add-field.txt http://localhost:8983/solr/films/schema
0
ответ дан 07.04.2019, 11:32
  • 1
    Это работает. Я изменил эти Reshape слои, следующие Вашему примеру, как это: word_level_padd = Lambda(lambda x: K.reshape(ZeroPadding1D((0, contxt.shape[2] -x.shape[2]))(K.reshape(x, (-1, x.shape[2], x.shape[1]))), (-1, x.shape[1], contxt.shape[2])) if x.shape[-1] < contxt.shape[-1] else x)(word_level) – Belkacem Thiziri 28.01.2019, 22:05

Я заменил одинарные кавычки на двойные и избежал двойных кавычек внутри фигурных скобок с обратной косой чертой, и это сработало.

Я перешел от этого:

curl --X POST -H 'Content-type:application/json' --data-binary '{"add-field": {"name":"name", "type":"text_general", "multiValued":false, "stored":true}}' http://localhost:8983/solr/films/schema

к этому:

curl --X POST -H "Content-type:application/json" --data-binary "{\"add-field\": {\"name\":\"name\", \"type\":\"text_general\", \"multiValued\":false, \"stored\":true}}" http://localhost:8983/solr/films/schema

Спасибо всем за ваши коллективные ответы. Я уверен, что есть некоторые возможные плюсы при добавлении JSON в отдельный файл, но я хотел избежать создания дополнительных файлов.

0
ответ дан 07.04.2019, 11:32
  • 1
    oooohh... мой отказ, я забыл помещать list.Add(querybuilder) после для цикла. Это работает как очарование. Поблагодарите Вас мой друг.. – Donny K. Pratama 26.01.2019, 23:54

Я бы пошел другим путем. Если вы устанавливаете Microsoft чудо-инструмент WSL . Вы сможете выполнять все эти команды как есть, так как вы будете работать внутри системы Linux. В конечном итоге это сэкономит много времени.

0
ответ дан 07.04.2019, 11:32
  • 1
    @Aesir - Теперь поймите, это похоже df.where(df.fillna(axis=1, method='ffill').isnull(), df.fillna(0)) – jezrael 26.01.2019, 23:16

Теги

Похожие вопросы