lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Judith Silverman (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (SOLR-6203) cast exception while searching with sort function and result grouping
Date Thu, 01 Dec 2016 00:33:58 GMT

    [ 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: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message