You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-dev@lucene.apache.org by "Yonik Seeley (JIRA)" <ji...@apache.org> on 2006/12/12 03:48:21 UTC

[jira] Commented: (SOLR-80) negative filter queries

    [ http://issues.apache.org/jira/browse/SOLR-80?page=comments#action_12457565 ] 
            
Yonik Seeley commented on SOLR-80:
----------------------------------

One potential issue to watch out for...
DocSet("*:* -id:foo")  is not the same as not(DocSet(id:foo))
That's normally fine, depending on how the set is used.

> negative filter queries
> -----------------------
>
>                 Key: SOLR-80
>                 URL: http://issues.apache.org/jira/browse/SOLR-80
>             Project: Solr
>          Issue Type: New Feature
>          Components: search
>            Reporter: Yonik Seeley
>
> There is a need for negative filter queries to avoid long filter generation times and large caching requirements.
> Currently, if someone wants to filter out a small number of documents, they must specify the complete set of documents to express those negative conditions against.  
> q=foo&fq=id:[* TO *] -id:101
> In this example, to filter out a single document, the complete set of documents (minus one) is generated, and a large bitset is cached.  You could also add the restriction to the main query, but that doesn't work with the dismax handler which doesn't have a facility for this.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Re: [jira] Commented: (SOLR-80) negative filter queries

Posted by Yonik Seeley <yo...@apache.org>.
On 12/12/06, Yonik Seeley <yo...@apache.org> wrote:
> On 12/12/06, Chris Hostetter <ho...@fucit.org> wrote:
> > : One potential issue to watch out for...
> > : DocSet("*:* -id:foo")  is not the same as not(DocSet(id:foo))
> > : That's normally fine, depending on how the set is used.
> >
> > can you elaborate on that yonik? ... are you refering just to deleted docs
> > or is there something else i'm missing?
>
> No, just deleted docs.
>
> If used only as a filter, that's fine, but if you use it as
> a set of documents to return (as useFilterForSortedQuery does), or as
> the set of documents matching a facet (as the faceted browsing code
> does), then you're in trouble.

Actually, faceting always does an intersection with a real set, so that's OK.


-Yonik

Re: [jira] Commented: (SOLR-80) negative filter queries

Posted by Yonik Seeley <yo...@apache.org>.
On 12/12/06, Chris Hostetter <ho...@fucit.org> wrote:
> : One potential issue to watch out for...
> : DocSet("*:* -id:foo")  is not the same as not(DocSet(id:foo))
> : That's normally fine, depending on how the set is used.
>
> can you elaborate on that yonik? ... are you refering just to deleted docs
> or is there something else i'm missing?

No, just deleted docs.

If used only as a filter, that's fine, but if you use it as
a set of documents to return (as useFilterForSortedQuery does), or as
the set of documents matching a facet (as the faceted browsing code
does), then you're in trouble.

-Yonik

Re: [jira] Commented: (SOLR-80) negative filter queries

Posted by Chris Hostetter <ho...@fucit.org>.
: One potential issue to watch out for...
: DocSet("*:* -id:foo")  is not the same as not(DocSet(id:foo))
: That's normally fine, depending on how the set is used.

can you elaborate on that yonik? ... are you refering just to deleted docs
or is there something else i'm missing?


:
: > negative filter queries
: > -----------------------
: >
: >                 Key: SOLR-80
: >                 URL: http://issues.apache.org/jira/browse/SOLR-80
: >             Project: Solr
: >          Issue Type: New Feature
: >          Components: search
: >            Reporter: Yonik Seeley
: >
: > There is a need for negative filter queries to avoid long filter generation times and large caching requirements.
: > Currently, if someone wants to filter out a small number of documents, they must specify the complete set of documents to express those negative conditions against.
: > q=foo&fq=id:[* TO *] -id:101
: > In this example, to filter out a single document, the complete set of documents (minus one) is generated, and a large bitset is cached.  You could also add the restriction to the main query, but that doesn't work with the dismax handler which doesn't have a facility for this.
:
: --
: This message is automatically generated by JIRA.
: -
: If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
: -
: For more information on JIRA, see: http://www.atlassian.com/software/jira
:
:
:



-Hoss