child.split is no longer there
On Jun 8, 2016 9:23 PM, "Anshum Gupta (JIRA)" <[email protected]> wrote:

>
>     [
> https://issues.apache.org/jira/browse/SOLR-7123?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15320793#comment-15320793
> ]
>
> Anshum Gupta commented on SOLR-7123:
> ------------------------------------
>
> There seems to be some issue here. Here's what I'm trying to do:
>
> {code}
> anshum$ curl -X POST -H 'Content:application/json' "
> http://localhost:8983/solr/foo/update/json/docs?child.split=/children|/children/grandchildren&f=$FQN:/**&f=id:/children/id&f=name:/children/name&f=cat:/children/cat&f=id:/children/grandchildren/id&f=name:/children/grandchildren/name&f=cat:/children/grandchildren/cat&indent=true"
> --data-binary '{"id":"1","name": "i am the parent","cat":
> "parent","children" : [{"id": "1.1", "name": "i am the 1st child", "cat":
> "child"}, {"id":"1.2", "name": "i am the 2nd child", "cat": "child",
> "grandchildren" : [{"id": "1.2.1", "name": "i am the grandchild","cat" :
> "grandchild"}]}]}'
> {code}
>
> and here's the error
> {code}
> {
>   "responseHeader":{
>     "status":500,
>     "QTime":0},
>   "error":{
>     "msg":"All paths must start with '/' :/**",
>     "trace":"java.lang.RuntimeException: All paths must start with '/'
> :/**\n\tat
> org.apache.solr.common.util.JsonRecordReader.addField(JsonRecordReader.java:99)\n\tat
> org.apache.solr.common.util.JsonRecordReader.getInst(JsonRecordReader.java:49)\n\tat
> org.apache.solr.handler.loader.JsonLoader$SingleThreadedJsonLoader.handleSplitMode(JsonLoader.java:211)\n\tat
> org.apache.solr.handler.loader.JsonLoader$SingleThreadedJsonLoader.processUpdate(JsonLoader.java:129)\n\tat
> org.apache.solr.handler.loader.JsonLoader$SingleThreadedJsonLoader.load(JsonLoader.java:114)\n\tat
> org.apache.solr.handler.loader.JsonLoader.load(JsonLoader.java:77)\n\tat
> org.apache.solr.handler.UpdateRequestHandler$1.load(UpdateRequestHandler.java:97)\n\tat
> org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:69)\n\tat
> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:156)\n\tat
> org.apache.solr.core.SolrCore.execute(SolrCore.java:2036)\n\tat
> org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:658)\n\tat
> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:465)\n\tat
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:257)\n\tat
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:208)\n\tat
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668)\n\tat
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)\n\tat
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)\n\tat
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)\n\tat
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)\n\tat
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1160)\n\tat
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)\n\tat
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)\n\tat
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1092)\n\tat
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)\n\tat
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)\n\tat
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)\n\tat
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)\n\tat
> org.eclipse.jetty.server.Server.handle(Server.java:518)\n\tat
> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)\n\tat
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244)\n\tat
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)\n\tat
> org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)\n\tat
> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)\n\tat
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:246)\n\tat
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:156)\n\tat
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)\n\tat
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)\n\tat
> java.lang.Thread.run(Thread.java:745)\n",
>     "code":500}}
> {code}
>
>
> When I try to add an explicit mapping for field 'id', here's what I get:
> {code}
>
> curl -X POST -H 'Content:application/json' "
> http://localhost:8983/solr/foo/update/json/docs?child.split=/children|/children/grandchildren&f=id:/children/id&f=name:/children/name&f=cat:/children/cat&f=id:/children/grandchildren/id&f=name:/children/grandchildren/name&f=cat:/children/grandchildren/cat&indent=true"
> --data-binary '{"id":"1","name": "i am the parent","cat":
> "parent","children" : [{"id": "1.1", "name": "i am the 1st child", "cat":
> "child"}, {"id":"1.2", "name": "i am the 2nd child", "cat": "child",
> "grandchildren" : [{"id": "1.2.1", "name": "i am the grandchild","cat" :
> "grandchild"}]}]}'
>
> anshum$ curl -X POST -H 'Content:application/json' "
> http://localhost:8983/solr/foo/update/json/docs?child.split=/children|/children/grandchildren&f=id:/id&f=id:/children/id&f=name:/children/name&f=cat:/children/cat&f=id:/children/grandchildren/id&f=name:/children/grandchildren/name&f=cat:/children/grandchildren/cat&indent=true"
> --data-binary '{"id":"1","name": "i am the parent","cat":
> "parent","children" : [{"id": "1.1", "name": "i am the 1st child", "cat":
> "child"}, {"id":"1.2", "name": "i am the 2nd child", "cat": "child",
> "grandchildren" : [{"id": "1.2.1", "name": "i am the grandchild","cat" :
> "grandchild"}]}]}'
> {
>   "responseHeader":{
>     "status":400,
>     "QTime":0},
>   "error":{
>     "metadata":[
>       "error-class","org.apache.solr.common.SolrException",
>       "root-error-class","org.apache.solr.common.SolrException"],
>     "msg":"Document contains multiple values for uniqueKey field: id=[1,
> 1.1, 1.2, 1.2.1]",
>     "code":400}}
> {code}
>
> We need to fix this before 6.1 goes out.
>
> > /update/json/docs should have nested document support
> > -----------------------------------------------------
> >
> >                 Key: SOLR-7123
> >                 URL: https://issues.apache.org/jira/browse/SOLR-7123
> >             Project: Solr
> >          Issue Type: Improvement
> >            Reporter: Noble Paul
> >            Assignee: Noble Paul
> >              Labels: EaseOfUse
> >             Fix For: 6.1, master (7.0)
> >
> >         Attachments: NestedDocumentMapper.java, SOLR-7123-test.patch,
> SOLR-7123.patch, SOLR-7123.patch
> >
> >
> > It is the next logical step after SOLR-6304
> > For the example document given below where the /orgs belong to a nested
> document,
> > {code}
> > {
> > name: 'Joe Smith',
> > phone: 876876687 ,
> > orgs :[ {name : Microsoft,
> >           city: "Seattle,
> >           zip: 98052},
> >         {name: Apple,
> >          city : Cupertino,
> >          zip :95014 }
> >       ]
> > }
> > {code}
> > The extra mapping parameters would be
> > {noformat}
> > split=/|/orgs&
> > f=name:/orgs/name&
> > f=city:/orgs/city&
> > f=zip:/orgs/zip
> > {noformat}
> > * The objects at {{/org}} automatically becomes a child document because
> {{/org}} is a child path of{{/}}
> > * All fields falling under the {{/orgs/}} will be mapped to the child
> document
> > alternately you can just do
> > {noformat}
> > split=/|/orgs&f=$FQN:/**
> > {noformat}
> > The fully qualified name (FQN) for chiild docs begin from {{/org}}. So
> the output would be
> > {noformat}
> > {
> >   "name":"Joe Smith",
> >   "phone":876876687,
> >   "_childDocuments_":[
> >     {
> >       "name":"Microsoft",
> >       "city":"Seattle",
> >       "zip":98052},
> >     {
> >       "name":"Apple",
> >       "city":"Cupertino",
> >       "zip":95014}]}
> > {noformat}
>
>
>
> --
> This message was sent by Atlassian JIRA
> (v6.3.4#6332)
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

Reply via email to