I think the container is the issue (the type of rsp). Here is the Javadoc for SimpleOrderedMap: /** <code>SimpleOrderedMap</code> is a [EMAIL PROTECTED] NamedList} where access by key is more * important than maintaining order when it comes to representing the * held data in other forms, as ResponseWriters normally do. * It's normally not a good idea to repeat keys or use null keys, but this * is not enforced. If key uniqueness enforcement is desired, use a regular [EMAIL PROTECTED] Map}. * <p> * For example, a JSON response writer may choose to write a SimpleOrderedMap * as {"foo":10,"bar":20} and may choose to write a NamedList as * ["foo",10,"bar",20]. An XML response writer may choose to render both * the same way. * </p> * <p> * This class does not provide efficient lookup by key, it's main purpose is * to hold data to be serialized. It aims to minimize overhead and to be * efficient at adding new elements. * </p> */
-Yonik On Wed, Mar 5, 2008 at 1:56 PM, Doug Steigerwald <[EMAIL PROTECTED]> wrote: > Looks like it's only happening when we use the LocalSolrQueryComponent from > localsolr. > > rsp.add("response", sdoclist); > > sdoclist is a SolrDocumentList. Could that be causing an issue instead of > it being just a DocList? > > Doug > > > > Yonik Seeley wrote: > > The output you showed is indeed incorrect, but I can't reproduce that > > with stock solr. > > Here is a example of what I get: > > > > { > > 'responseHeader'=>{ > > 'status'=>0, > > 'QTime'=>16, > > 'params'=>{ > > 'wt'=>'ruby', > > 'indent'=>'true', > > 'q'=>'*:*', > > 'facet'=>'true', > > 'highlight'=>'true'}}, > > 'response'=>{'numFound'=>0,'start'=>0,'docs'=>[] > > }, > > 'facet_counts'=>{ > > 'facet_queries'=>{}, > > 'facet_fields'=>{}, > > 'facet_dates'=>{}}} > > > > > > -Yonik > > > > On Wed, Mar 5, 2008 at 12:00 PM, Doug Steigerwald > > <[EMAIL PROTECTED]> wrote: > >> Sure. > >> > >> The default (json.nl=flat): > >> > >> 'response',{'numFound'=>41,'start'=>0,............ > >> > >> Adding json.nl=map makes output correct: > >> > >> 'response'=>{'numFound'=>41,'start'=>0,............ > >> > >> This also changes facet output (which was evaluating fine): > >> > >> FLAT: > >> > >> 'facet_counts',{ > >> 'facet_queries'=>{}, > >> 'facet_fields'=>{ > >> 'movies_movie_genre_facet'=>[ > >> 'Drama',22, > >> 'Action/Adventure',11, > >> 'Comedy',11, > >> 'Suspense/Thriller',11, > >> 'SciFi/Fantasy',5, > >> 'Animation',4, > >> 'Documentary',4, > >> 'Family',3, > >> 'Horror',3, > >> 'Musical',2, > >> 'Romance',2, > >> 'Concert',1, > >> 'War',1]}, > >> 'facet_dates'=>{}} > >> > >> MAP: > >> > >> 'facet_counts'=>{ > >> 'facet_queries'=>{}, > >> 'facet_fields'=>{ > >> 'movies_movie_genre_facet'=>{ > >> 'Drama'=>22, > >> 'Action/Adventure'=>11, > >> 'Comedy'=>11, > >> 'Suspense/Thriller'=>11, > >> 'SciFi/Fantasy'=>5, > >> 'Animation'=>4, > >> 'Documentary'=>4, > >> 'Family'=>3, > >> 'Horror'=>3, > >> 'Musical'=>2, > >> 'Romance'=>2, > >> 'Concert'=>1, > >> 'War'=>1}}, > >> 'facet_dates'=>{}} > >> > >> Doug > >> > >> > >> > >> Yonik Seeley wrote: > >> > On Wed, Mar 5, 2008 at 11:25 AM, Doug Steigerwald > >> > <[EMAIL PROTECTED]> wrote: > >> >> If you don't add the json.nl=map to your params, then you can't > eval() what you get back in Ruby > >> >> ("can't convert String into Integer"). > >> > > >> > Can you show what the problematic ruby output is? > >> > > >> > json.nl=map isn't the default because some things need to be ordered, > >> > and eval of a map in python & ruby looses that order. > >> > > >> > -Yonik > >> >