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

Brian Pontarelli commented on SOLR-2627:
----------------------------------------

Well, according to the spec it isn't valid, but that's not important. The most 
important thing is to update the docs. In general the JSON docs are really 
lacking and I spent about 30 minutes searching in JIRA without success, so I 
opened the issue. Avoid duplicate issues by updating the docs.

> Solr's JSON request format isn't valid JSON
> -------------------------------------------
>
>                 Key: SOLR-2627
>                 URL: https://issues.apache.org/jira/browse/SOLR-2627
>             Project: Solr
>          Issue Type: Bug
>          Components: update
>    Affects Versions: 3.2
>            Reporter: Brian Pontarelli
>            Priority: Critical
>              Labels: json
>
> I've been working with Solr's JSON request and response to get it up and 
> running in my application and it looks like the JSON request format is not 
> properly formatted JSON. Here's an example of a request with multiple 
> documents (from the Wiki):
> {code:javascript}
> {
>  "add": {"doc": {"id" : "TestDoc1", "title" : "test1"} },
>  "add": {"doc": {"id" : "TestDoc2", "title" : "another test"} }
> }
> {code}
> Unfortunately, this is not valid JSON because according to RFC-4627 section 
> 2.2, "The names within an object SHOULD be unique." This means that defining 
> the name "add" twice is not allowed. Instead, the JSON should use an array 
> for multiple documents like this:
> {code:javascript}
> {
>  "add": [{"doc": {"id" : "TestDoc1", "title" : "test1"}},
>          {"doc": {"id" : "TestDoc2", "title" : "another test"}}]
> }
> {code}
> An alternate form that simplifies this entire thing is to remove the "doc" 
> identifier as it doesn't appear to provide useful information. That form 
> would be:
> {code:javascript}
> {
>  "add": [{"id" : "TestDoc1", "title" : "test1"},
>          {"id" : "TestDoc2", "title" : "another test"}]
> }
> {code}
> It looks like Noggit uses a stream based Parser that doesn't put these values 
> into a Map or JavaBean, otherwise this would have revealed itself much 
> sooner. I run into the issue when attempting to create a Map that I could 
> pass to a JSON binder such as Jackson or Google-GSON. Given the current 
> format, none of those tools will work with Solr.
> It also looks like Noggit is not really moving out of labs. It would be nice 
> to use a more well known and active project for the JSON handling as it is 
> quickly becoming the de-facto standard. I can open a ticket for that 
> separately if needed and help out with the code.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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

Reply via email to