[ https://issues.apache.org/jira/browse/SOLR-16858?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17797322#comment-17797322 ]
ASF subversion and git services commented on SOLR-16858: -------------------------------------------------------- Commit 68d2c743f30f834572155cd32b06f67440715a4b in solr's branch refs/heads/jira/SOLR-16858 from Chris M. Hostetter [ https://gitbox.apache.org/repos/asf?p=solr.git;h=68d2c743f30 ] SOLR-16858: new localparams for knn to override pre-filtering behavior: fq, includeTags, & excludeTags > Allow KnnQParser to selectively apply filters > --------------------------------------------- > > Key: SOLR-16858 > URL: https://issues.apache.org/jira/browse/SOLR-16858 > Project: Solr > Issue Type: Bug > Reporter: Joel Bernstein > Assignee: Chris M. Hostetter > Priority: Major > Labels: hybrid-search > Attachments: SOLR-16858-1.patch, SOLR-16858.patch > > > The KnnQParser is parsing the filter query which limits the rows considered > by the vector query with the following method: > {code:java} > private Query getFilterQuery() throws SolrException, SyntaxError { > boolean isSubQuery = recurseCount != 0; > if (!isFilter() && !isSubQuery) { > String[] filterQueries = req.getParams().getParams(CommonParams.FQ); > if (filterQueries != null && filterQueries.length != 0) { > try { > List<Query> filters = QueryUtils.parseFilterQueries(req); > SolrIndexSearcher.ProcessedFilter processedFilter = > req.getSearcher().getProcessedFilter(filters); > return processedFilter.filter; > } catch (IOException e) { > throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, e); > } > } > } > return null; > } > {code} > This is pulling all filter queries from the main query parameters and using > them to limit the vector query. This is the automatic behavior of the > KnnQParser. > There are cases where you may want to selectively apply different filters. > One such case is SOLR-16857 which involves reRanking a collapsed query. > Overriding the default filter behavior could be done by adding an "fq" local > parameter to the KnnQParser which would override the default filtering > behavior. > {code:java} > {!knn f=vector topK=10 fq=$kfq}[...]&kfq=myquery > {code} -- 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