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

Noble Paul commented on SOLR-10424:
-----------------------------------

I guess your {{/update/json/docs}} is configured with {{mapUniqueKeyOnly=true}}
SOLR-8240 is same I think

> /update/docs/json is swalling all fields
> ----------------------------------------
>
>                 Key: SOLR-10424
>                 URL: https://issues.apache.org/jira/browse/SOLR-10424
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>    Affects Versions: 6.5, master (7.0)
>            Reporter: Hoss Man
>
> I'm not sure when/how exactly this broke, but sending a list of documents to 
> {{/update/json/docs}} is currently useless -- regardless of what your 
> documents contain, all you get is 3 fields: {{id}}, {{\_version\_}}, and a 
> {{\_src\_}} field containing your original JSON, but none of the fields you 
> specified are added.
> Steps to reproduce...
> {noformat}
> git co releases/lucene-solr/6.5.0
> ...
> ant clean && cd solr && ant server
> ...
> bin/solr -e techproducts
> ...
> curl 'http://localhost:8983/solr/techproducts/update/json/docs?commit=true' 
> --data-binary @example/exampledocs/books.json -H 
> 'Content-type:application/json'
> ...
> curl 'http://localhost:8983/solr/techproducts/query?q=id:978-1933988177'
> {
>   "responseHeader":{
>     "status":0,
>     "QTime":5,
>     "params":{
>       "q":"id:978-1933988177"}},
>   "response":{"numFound":1,"start":0,"docs":[
>       {
>         "id":"978-1933988177",
>         "_src_":"{\n    \"id\" : \"978-1933988177\",\n    \"cat\" : 
> [\"book\",\"paperback\"],\n    \"name\" : \"Lucene in Action, Second 
> Edition\",\n    \"author\" : \"Michael McCandless\",\n    \"sequence_i\" : 
> 1,\n    \"genre_s\" : \"IT\",\n    \"inStock\" : true,\n    \"price\" : 
> 30.50,\n    \"pages_i\" : 475\n  }",
>         "_version_":1563794703530328065}]
>   }}
> {noformat}
> Compare with using {{/update/json}} ...
> {noformat}
> curl 'http://localhost:8983/solr/techproducts/update/json?commit=true' 
> --data-binary @example/exampledocs/books.json -H 
> 'Content-type:application/json'
> ...
> curl 'http://localhost:8983/solr/techproducts/query?q=id:978-1933988177'
> {
>   "responseHeader":{
>     "status":0,
>     "QTime":0,
>     "params":{
>       "q":"id:978-1933988177"}},
>   "response":{"numFound":1,"start":0,"docs":[
>       {
>         "id":"978-1933988177",
>         "cat":["book",
>           "paperback"],
>         "name":"Lucene in Action, Second Edition",
>         "author":"Michael McCandless",
>         "author_s":"Michael McCandless",
>         "sequence_i":1,
>         "sequence_pi":1,
>         "genre_s":"IT",
>         "inStock":true,
>         "price":30.5,
>         "price_c":"30.5,USD",
>         "pages_i":475,
>         "pages_pi":475,
>         "_version_":1563794766373584896}]
>   }}
> {noformat}
> According to the ref-guide, the only diff between these two endpoints should 
> be that {{/update/json/docs}} defaults {{json.command=false}} ... but since 
> the top level JSON structure in books.json is a list ({{"[ ... ]"}}) that 
> shouldn't matter because that's not the solr JSON command syntax.
> ----
> If you try to send a singular JSON document tp {{/update/json/docs}}, you get 
> the same problem...
> {noformat}
> curl -X POST -H 'Content-type:application/json' --data-binary 
> '{"id":"HOSS","popularity":42}' 
> 'http://localhost:8983/solr/techproducts/update/json/docs?commit=true'
> ...
> curl 'http://localhost:8983/solr/techproducts/query?q=id:HOSS'{
>   "responseHeader":{
>     "status":0,
>     "QTime":0,
>     "params":{
>       "q":"id:HOSS"}},
>   "response":{"numFound":1,"start":0,"docs":[
>       {
>         "id":"HOSS",
>         "_src_":"{\"id\":\"HOSS\",\"popularity\":42}",
>         "_version_":1563795188162232320}]
>   }}
> {noformat}
> ...even though the same JSON works fine to 
> {{/update/json?json.command=false}} ...
> {noformat}
> curl -X POST -H 'Content-type:application/json' --data-binary 
> '{"id":"HOSS","popularity":42}' 
> 'http://localhost:8983/solr/techproducts/update/json?commit=true&json.command=false'
> ...
> curl 'http://localhost:8983/solr/techproducts/query?q=id:HOSS'{
>   "responseHeader":{
>     "status":0,
>     "QTime":1,
>     "params":{
>       "q":"id:HOSS"}},
>   "response":{"numFound":1,"start":0,"docs":[
>       {
>         "id":"HOSS",
>         "popularity":42,
>         "_version_":1563795262581768192}]
>   }}
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to