Hoss Man created SOLR-10424: ------------------------------- Summary: /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