Naoto Minami created SOLR-16289: ----------------------------------- Summary: [interleaving] transformer does not work in SolrCloud Key: SOLR-16289 URL: https://issues.apache.org/jira/browse/SOLR-16289 Project: Solr Issue Type: Bug Security Level: Public (Default Security Level. Issues are Public) Components: contrib - LTR Affects Versions: 9.0 Reporter: Naoto Minami
In SolrCloud, two-stage shard requests are processed. The first stage is to execute the query return unique keys and scores of documents. Then, in the second stage, collect fields’ values of merged top documents. LTRInterleavingTransformerFactory should be run in the first stage (ResponseBuilder.STAGE_EXECUTE_QUERY), because the LTRInterleavingScoringQuery knows which model is used in scoring. However, it’s run in second stage(ResponseBuilder.STAGE_GET_FIELDS) and LTRInterleavingRescorer#rescore is skipped in second stage. LTRInterleavingTransformerFactory cannot handle this case, so thrown NullPointerException when fl=[interleaving] is specified in SolrCloud. There is a same problem in LTRFeatureLoggerTransformerFactory. But, if interleaving is not used, LTRFeatureLoggerTransformerFactory falls back when feature vector cache is not hit (i.e. in second stage). I will fix the NullPointerException problem, but the underlying solution should be discussed. One of the solution of this problem is disable two-stage request by distrib.singlePass=true parameter. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For additional commands, e-mail: issues-h...@solr.apache.org