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

Munendra S N commented on SOLR-7530:
------------------------------------

Facing same issue
On debugging, found that the difference in response format is due how 
*SimpleOrderedMap* and *NamedList* are handled in JSONResponseWriter. This 
issue occurs only with *wt=json*
* In single shard/stand alone mode, terms are accumulated in NamedList and 
returned. In multiSharding, while handling shardResponses SimpleOrderedMap is 
used to accumulate terms and counts
{code:java}
https://github.com/apache/lucene-solr/blob/master/solr/core/src/java/org/apache/solr/handler/component/TermsComponent.java#L191
{code}
{code:java}
https://github.com/apache/lucene-solr/blob/master/solr/core/src/java/org/apache/solr/handler/component/TermsComponent.java#L557
{code}

* Also, response formats are different when  terms list specified and when no 
terms list is specified. This is also due to  difference SimpleOrderedMap vs 
NamedList handling

h6. Probable Solutions:
* Instead of NamedList, use SimpleOrderedMap. Problem is that it won't be 
backward compatible. Also, facet response and terms response would be 
different. SOLR-1845
* Use of NamedList in place of SimpleOrderedMap. If I'm not wrong, 
SimpleOrderedMap is preferred over NamedList in recent times. This would be 
step backward but will solve this issue

Let me know what would be best approach to handle this. I'm willing to raise a 
patch for this


> Wrong JSON response using Terms Component with distrib=true
> -----------------------------------------------------------
>
>                 Key: SOLR-7530
>                 URL: https://issues.apache.org/jira/browse/SOLR-7530
>             Project: Solr
>          Issue Type: Bug
>          Components: Response Writers, SearchComponents - other, SolrCloud
>    Affects Versions: 4.9
>            Reporter: Raúl Grande
>            Priority: Major
>
> When using TermsComponent in SolrCloud there are differences in the JSON 
> response if parameter distrib is true or false. If distrib=true JSON is not 
> well formed (please note at the [ ] marks)
> JSON Response when distrib=false. Correct response:
> {"responseHeader":{ 
>               "status":0, 
>               "QTime":3
> }, 
> "terms":{ 
> "FileType":
> [ 
>                       "EMAIL",20060, 
>                       "PDF",7051, 
>                       "IMAGE",5108, 
>                       "OFFICE",4912, 
>                       "TXT",4405, 
>                       "OFFICE_EXCEL",4122, 
>                       "OFFICE_WORD",2468
>               ]
> } } 
> JSON Response when distrib=true. Incorrect response:
> { 
> "responseHeader":{
>               "status":0, 
>               "QTime":94
> }, 
> "terms":{ 
> "FileType":{ 
>                       "EMAIL":31923, 
>                       "PDF":11545, 
>                       "IMAGE":9807, 
>                       "OFFICE_EXCEL":8195, 
>                       "OFFICE":5147, 
>                       "OFFICE_WORD":4820, 
>                       "TIFF":1156, 
>                       "XML":851, 
>                       "HTML":821, 
>                       "RTF":303
>               } 
> } } 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to