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

Judith Silverman edited comment on SOLR-6203 at 12/1/16 12:33 AM:
------------------------------------------------------------------

Thanks for the update, Christine.  I am happy to pursue your incremental 
approach.  I have made a patch to your branch in which I uncommented a couple 
of your signature changes and modified calls to the affected methods to use the 
new signatures.  I also took this opportunity to  start standardizing field and 
method names related to the field variously known throughout the codebase as 
"sortWithinGroup" and "withinGroupSort".  The latter fits better with related 
field and method names, and since we are already deprecating 
GroupingSpecification's accessors for Sorts in favor of accessors of  
SortSpecs, this seems to me like a good time to make the change.  I renamed the 
new public accessors and also renamed private fields in all the files I was 
already modifying for this commit.  If you approve of this change, I will 
rename private fields in other files.  In the meantime, I will keep going in 
the direction you indicated.                           
Thanks,        
Judith 


was (Author: judith):
Thanks for the update, Christine.  I am happy to pursue your               
incremental approach.  I have made a patch to your branch in which I           
uncommented your signature changes and modified calls to the affected        
methods to use the new signatures.  I also took this opportunity to          
start standardizing field and method names related to the field              
variously known throughout the codebase as "sortWithinGroup" and             
"withinGroupSort".  The latter fits better with related field and            
method names, and since we are already deprecating                         
GroupingSpecification's accessors for Sorts in favor of accessors of         
SortSpecs, this seems to me like a good time to make the change.  I           
renamed the new public accessors and also renamed private fields in             
all the files I was already modifying for this commit.  If you approve         
of this change, I will rename private fields in other files.  In the
meantime, I will start fleshing out utility functions as you indicated.         
                                                              
Thanks,        
Judith 

> cast exception while searching with sort function and result grouping
> ---------------------------------------------------------------------
>
>                 Key: SOLR-6203
>                 URL: https://issues.apache.org/jira/browse/SOLR-6203
>             Project: Solr
>          Issue Type: Bug
>          Components: search
>    Affects Versions: 4.7, 4.8
>            Reporter: Nate Dire
>            Assignee: Christine Poerschke
>         Attachments: README, SOLR-6203-unittest.patch, 
> SOLR-6203-unittest.patch, SOLR-6203.patch, SOLR-6203.patch
>
>
> After upgrading from 4.5.1 to 4.7+, a schema including a {{"*"}} dynamic 
> field as text gets a cast exception when using a sort function and result 
> grouping.  
> Repro (with example config):
> # Add {{"*"}} dynamic field as a {{TextField}}, eg:
> {noformat}
> <dynamicField name="*" type="text_general" multiValued="true" />
> {noformat}
> #  Create  sharded collection
> {noformat}
> curl 
> 'http://localhost:8983/solr/admin/collections?action=CREATE&name=test&numShards=2&maxShardsPerNode=2'
> {noformat}
> # Add example docs (query must have some results)
> # Submit query which sorts on a function result and uses result grouping:
> {noformat}
> {
>   "responseHeader": {
>     "status": 500,
>     "QTime": 50,
>     "params": {
>       "sort": "sqrt(popularity) desc",
>       "indent": "true",
>       "q": "*:*",
>       "_": "1403709010008",
>       "group.field": "manu",
>       "group": "true",
>       "wt": "json"
>     }
>   },
>   "error": {
>     "msg": "java.lang.Double cannot be cast to 
> org.apache.lucene.util.BytesRef",
>     "code": 500
>   }
> }
> {noformat}
> Source exception from log:
> {noformat}
> ERROR - 2014-06-25 08:10:10.055; org.apache.solr.common.SolrException; 
> java.lang.ClassCastException: java.lang.Double cannot be cast to 
> org.apache.lucene.util.BytesRef
>     at 
> org.apache.solr.schema.FieldType.marshalStringSortValue(FieldType.java:981)
>     at org.apache.solr.schema.TextField.marshalSortValue(TextField.java:176)
>     at 
> org.apache.solr.search.grouping.distributed.shardresultserializer.SearchGroupsResultTransformer.serializeSearchGroup(SearchGroupsResultTransformer.java:125)
>     at 
> org.apache.solr.search.grouping.distributed.shardresultserializer.SearchGroupsResultTransformer.transform(SearchGroupsResultTransformer.java:65)
>     at 
> org.apache.solr.search.grouping.distributed.shardresultserializer.SearchGroupsResultTransformer.transform(SearchGroupsResultTransformer.java:43)
>     at 
> org.apache.solr.search.grouping.CommandHandler.processResult(CommandHandler.java:193)
>     at 
> org.apache.solr.handler.component.QueryComponent.process(QueryComponent.java:340)
>     at 
> org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:218)
>     at 
> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
>   ...
> {noformat}
> It looks like {{serializeSearchGroup}} is matching the sort expression as the 
> {{"*"}} dynamic field, which is a TextField in the repro.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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

Reply via email to