[ 
https://issues.apache.org/jira/browse/SOLR-18020?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris M. Hostetter updated SOLR-18020:
--------------------------------------
    Attachment: SOLR-18020.test.patch
        Status: Open  (was: Open)

Attaching a {{QueryEqualityTest}} patch that demonstrates failures when queries 
that should be equals (and have equal hashCode) exclusively use negative fq 
params.

I haven't fully wrapped my head around *why* this happens – but i suspect it 
has to do with some of the hairy code in 
{{SolrIndexSearcher.getProcessedFilter()}} and if/how the method behaves 
differently when all of the filters are negative .. but i got a headache trying 
to follow the logic in that method.

> KnnFloatVectorQuery cache misses when prefiltering (fq) params are negative
> ---------------------------------------------------------------------------
>
>                 Key: SOLR-18020
>                 URL: https://issues.apache.org/jira/browse/SOLR-18020
>             Project: Solr
>          Issue Type: New Feature
>            Reporter: Chris M. Hostetter
>            Priority: Major
>         Attachments: SOLR-18020.test.patch
>
>
> From the mailing list....
> [https://lists.apache.org/thread/3zl69n9vyjlhrlx7h3133cnb644rgno6]
> {quote}I have encountered an issue that the KnnFloatVectorQuery could not get 
> the superset from queryResultCache when I have negative filters in the 
> request.
> For example, {{{}fq=-some_field:value{}}}. But with positive fq it works fine:
> {{fq=some_field:value}}
> {quote}
> The working theory is that these cache failures (and inconsistent behavior 
> between positive vs negative {{fq}} params) relates to the lack of hashCode 
> (and equals) implementations in {{DocSet}} impls – even though 
> {{DocSetQuery}} explicitly calls {{DocSet.hashCode}} (and {{DocSet.equals}} 
> in it's own impls



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to