[ https://issues.apache.org/jira/browse/SOLR-945?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12659966#action_12659966 ]
Ryan McKinley commented on SOLR-945: ------------------------------------ Re: API revist... For better or worse, this patch matches the JSON format with the XXXUpdateCommand classes. Unlike XML, each add document requires a new add statement. I did this since adding the document boost gets really clumsy. {code} "add": { "commitWithin": 1234, "overwrite": false, "boost": 3.45, "doc": { "f1": "v1", "f1": "v2" } {code} Adding the document boost to your example gets a bit ugly: {code} "docs":[ { "boost": 2, "fields": { "f0": "v0", "f1": 2.4 } }, { "boost": 3, "fields": { "f0": "v0", "f1": 2.4 } }, ] {code} Personally, I like having the entire command encompassed in JSON rather then spreading it between the query args and the post body. I like this since all commands can be represented sequentially and clearly. Also it allows for easier streamming. For the 'add' command, I don't think we make things much easier/clearer by adding args. I agree a more RESTfull API is a good thing, but I think that is a separate task. For that, we should look at supporting HTTP GET/PUT/DELETE as the main control structures rather then passing params. For the XmlUpdateRequestHandler we added some arguments to the query string so that we could call "commit" in the same request that we send documents. In retrospect I'm not sure that was a good idea. We could achieve the same thing with: {code:xml} <commands> <add> ... </add> <commit /> </commands> {code} (this is currently supported by the XmlUpdateRequestHandler, since it only starts parsing after it hits known commands (add, commit, etc) > JSON update handler > ------------------- > > Key: SOLR-945 > URL: https://issues.apache.org/jira/browse/SOLR-945 > Project: Solr > Issue Type: New Feature > Reporter: Ryan McKinley > Attachments: SOLR-945-json-update.patch > > > In addition to supporting xml and csv updating, it would be good to support > json. > This patch uses [noggit|http://svn.apache.org/repos/asf/labs/noggit/], a > streaming json parser, to build the commands. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.