Отсюда я запускаю учебник по 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 по этой проблеме, но они не совсем То же самое и ни одно из решений, которые я пытался решить, не решило мою проблему.
Командная строка 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
Я заменил одинарные кавычки на двойные и избежал двойных кавычек внутри фигурных скобок с обратной косой чертой, и это сработало.
Я перешел от этого:
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
в отдельный файл, но я хотел избежать создания дополнительных файлов.
list.Add(querybuilder)
после для цикла. Это работает как очарование. Поблагодарите Вас мой друг..
– Donny K. Pratama
26.01.2019, 23:54
Я бы пошел другим путем. Если вы устанавливаете Microsoft чудо-инструмент WSL . Вы сможете выполнять все эти команды как есть, так как вы будете работать внутри системы Linux. В конечном итоге это сэкономит много времени.
df.where(df.fillna(axis=1, method='ffill').isnull(), df.fillna(0))
– jezrael
26.01.2019, 23:16
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