[
https://issues.apache.org/jira/browse/SOLR-12457?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18068017#comment-18068017
]
David Smiley edited comment on SOLR-12457 at 3/24/26 2:16 PM:
--------------------------------------------------------------
I've seen this issue on tries, and we worked around it with subclassing the
trie fields to override certain methods. I could dig further if someone cares.
Any way, with recent work by Houston, trie fields are likely to be removed
from Solr 11. It's tempting to close this issue as Won't-Fix, but the issue
here is not just about tries, it's also about use of `field`/ValueSources.
It's probably worth splitting aside another issue that makes no mention of
"trie". Or scrub "trie" from the title, and clarify in the description.
was (Author: dsmiley):
I've seen this issue on tries, and we worked around it with subclassing the
trie fields to override certain methods. I could dig further if someone cares.
Any way, with recent work by Houston, trie fields are likely to be removed
from Solr 11. It's tempting to close this issue as Won't-Fix, but the issue
here is not just about tries, it's also about use of `field`/ValueSources.
It's probably worth splitting aside another issue that makes no mention of
"trie".
> field(x,min|max) sorting doesn't work on trie or str fields in multi-shard
> collections
> --------------------------------------------------------------------------------------
>
> Key: SOLR-12457
> URL: https://issues.apache.org/jira/browse/SOLR-12457
> Project: Solr
> Issue Type: Bug
> Affects Versions: 7.1
> Reporter: Varun Thacker
> Priority: Major
> Labels: numeric-tries-to-points
> Attachments: SOLR-12457.patch
>
> Time Spent: 2.5h
> Remaining Estimate: 0h
>
> When I go to sort on a multi-valued field in a 2 shard collection, which has
> trie fields the query fails.
> To reproduce we need 2+ shards, a multi-valued trie field and "desc" sort
> criteria.
> Here's my schema
> {code:java}
> <dynamicField name="*_is" type="int" indexed="true" stored="true"
> multiValued="true" docValues="true"/>
> <fieldType class="solr.TrieIntField" docValues="true" name="int"
> positionIncrementGap="0" precisionStep="0"/>
> <dynamicField name="*_i" type="pint" indexed="true" stored="true"
> multiValued="true"/>
> <fieldType name="pint" class="solr.IntPointField" docValues="true"/>
> {code}
> Now If I add a few docs
> {code:java}
> [
> {"id" : "1", "test_is" : ["1", "2", "3", "4", "5"], "test_i" : ["1", "2",
> "3", "4", "5"]},
> {"id" : "2", "test_is" : ["1", "2", "3", "4", "5"], "test_i" : ["1", "2",
> "3", "4", "5"]},
> {"id" : "3", "test_is" : ["1", "2", "3", "4", "5"], "test_i" : ["1", "2",
> "3", "4", "5"]}
> ]{code}
> Works:
> [http://localhost:8983/solr/gettingstarted/select?q=*:*&sort=field(test_i,max)%20desc]
>
> Doesn't Work:
> [http://localhost:8983/solr/gettingstarted/select?q=*:*&sort=field(test_is,max)%20desc]
>
> To be more clear when I say it doesn't work , the query throws and error and
> here's the stack trace for it:
> {code:java}
> ERROR - 2018-06-06 22:55:06.599; [c:gettingstarted s:shard2 r:core_node8
> x:gettingstarted_shard2_replica_n5] org.apache.solr.common.SolrException;
> null:java.lang.ClassCastException: java.lang.String cannot be cast to
> org.apache.lucene.util.BytesRef
> at
> org.apache.lucene.search.FieldComparator$TermOrdValComparator.compareValues(FieldComparator.java:561)
> at
> org.apache.solr.handler.component.ShardFieldSortedHitQueue$1.compare(ShardFieldSortedHitQueue.java:161)
> at
> org.apache.solr.handler.component.ShardFieldSortedHitQueue$1.compare(ShardFieldSortedHitQueue.java:153)
> at
> org.apache.solr.handler.component.ShardFieldSortedHitQueue.lessThan(ShardFieldSortedHitQueue.java:91)
> at
> org.apache.solr.handler.component.ShardFieldSortedHitQueue.lessThan(ShardFieldSortedHitQueue.java:33)
> at org.apache.lucene.util.PriorityQueue.upHeap(PriorityQueue.java:263)
> at org.apache.lucene.util.PriorityQueue.add(PriorityQueue.java:140)
> at
> org.apache.lucene.util.PriorityQueue.insertWithOverflow(PriorityQueue.java:156)
> at
> org.apache.solr.handler.component.QueryComponent.mergeIds(QueryComponent.java:924)
> at
> org.apache.solr.handler.component.QueryComponent.handleRegularResponses(QueryComponent.java:585)
> at
> org.apache.solr.handler.component.QueryComponent.handleResponses(QueryComponent.java:564)
> at
> org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:423)
> at
> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:177)
> at org.apache.solr.core.SolrCore.execute(SolrCore.java:2484)
> at org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:720)
> at
> org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:526){code}
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]