Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
While working on another issue, I came upon LTR's SolrFeature class which calls SolrIndexSearcher.getProcessedFilter – a rather low-level method that that nobody should call directly if they can help it. Furthermore, the way SolrFeature was processing the filter queries didn't support PostFilters, which would have been silently ignored (ouch!). After looking around this SolrFeature class I found multiple things to improve to reduce complexity, perhaps performance in some cases, and IMO improve readability. In my PR it has about 80 fewer lines of code now. Additionally I found it useful to add a new utility method combineQueryAndFilter that is useful in quite a few places across Solr (and my PR does so).
I have some complaints with other things I see but want to stop here, with my primary objective of reducing a needless caller on getProcessedFilter.
Attachments
Issue Links
- breaks
-
SOLR-15071 Bug on LTR when using solr 8.6.3 - index out of bounds DisiPriorityQueue.add(DisiPriorityQueue.java:102)
- Closed
- relates to
-
SOLR-14378 factor out a (contrib/ltr) FilterFeatureScorer class
- Closed
- supercedes
-
SOLR-12698 SolrFeature: no-fq optimisation
- Resolved
- links to