[ 
https://issues.apache.org/jira/browse/SOLR-6304?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14349389#comment-14349389
 ] 

Bryan Bende commented on SOLR-6304:
-----------------------------------

Sorry I didn't mean to imply that anything was wrong with the example... I 
wanted to know if it was possible to send multiple JSON documents in a single 
request, like this:

curl 'http://localhost:8983/solr/collection1/update/json/docs'
'?split=/exams'
'&f=first:/first'
'&f=last:/last'
'&f=grade:/grade'
'&f=subject:/exams/subject'
'&f=test:/exams/test'
'&f=marks:/exams/marks'
 -H 'Content-type:application/json' -d '
{
  "first": "John",
  "last": "Doe",
  "grade": 8,
  "exams": [
      {"subject": "Maths", "test"   : "term1", "marks":90},
      {"subject": "Biology", "test"   : "term1", "marks":86}
      ]
}
{
  "first": "Bob",
  "last": "Smith",
  "grade": 7,
  "exams": [
      {"subject": "Maths", "test"   : "term1", "marks":95},
      {"subject": "Biology", "test"   : "term1", "marks":92}
      ]
}
'
And then get 4 documents added to solr:
john, doe, maths...
john, doe, biology...
bob, smith, maths...
bob, smith, biology...

An example of the code I was trying to write is here:
https://github.com/bbende/solrj-custom-json-update/blob/master/src/test/java/org/apache/solr/IndexJSONTest.java
testAddMultipleJsonDocsWithContentStreamUpdateRequest


> Transforming and Indexing custom JSON data
> ------------------------------------------
>
>                 Key: SOLR-6304
>                 URL: https://issues.apache.org/jira/browse/SOLR-6304
>             Project: Solr
>          Issue Type: Improvement
>            Reporter: Noble Paul
>            Assignee: Noble Paul
>             Fix For: 4.10, Trunk
>
>         Attachments: SOLR-6304.patch, SOLR-6304.patch
>
>
> example
> {noformat}
> curl 
> localhost:8983/update/json/docs?split=/batters/batter&f=recipeId:/id&f=recipeType:/type&f=id:/batters/batter/id&f=type:/batters/batter/type
>  -d '
> {
>               "id": "0001",
>               "type": "donut",
>               "name": "Cake",
>               "ppu": 0.55,
>               "batters": {
>                               "batter":
>                                       [
>                                               { "id": "1001", "type": 
> "Regular" },
>                                               { "id": "1002", "type": 
> "Chocolate" },
>                                               { "id": "1003", "type": 
> "Blueberry" },
>                                               { "id": "1004", "type": 
> "Devil's Food" }
>                                       ]
>                       }
> }'
> {noformat}
> should produce the following output docs
> {noformat}
> { "recipeId":"001", "recipeType":"donut", "id":"1001", "type":"Regular" }
> { "recipeId":"001", "recipeType":"donut", "id":"1002", "type":"Chocolate" }
> { "recipeId":"001", "recipeType":"donut", "id":"1003", "type":"Blueberry" }
> { "recipeId":"001", "recipeType":"donut", "id":"1004", "type":"Devil's food" }
> {noformat}
> the split param is the element in the tree where it should be split into 
> multiple docs. The 'f' are field name mappings



--
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