Joel Bernstein created SOLR-16858:
-------------------------------------

             Summary: KnnQParser is parsing filter queries incorrectly
                 Key: SOLR-16858
                 URL: https://issues.apache.org/jira/browse/SOLR-16858
             Project: Solr
          Issue Type: Bug
      Security Level: Public (Default Security Level. Issues are Public)
            Reporter: Joel Bernstein


The KnnQParser is parsing the filter query which limits the rows considered by 
vector is doing this:

{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;
{code:java}
// Some comments here
public String getFoo()
{
    return foo;
}
{code}

        } catch (IOException e) {
          throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, e);
        }
      }
    }
    return null;
  }
{code}

I don't believe this is the behavior we actually want. What we want is to add 
an "fq" to the local params of the Knn vector search. Here is the example 
syntax:


{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

Reply via email to