[pylucene-dev] Prohibited field query

Georges Racinet gracinet at nuxeo.com
Mon Dec 11 08:29:52 PST 2006


On Dec 11, 2006, at 4:15 PM, Peter Fein wrote:

> On Monday 11 December 2006 07:20, Georges Racinet wrote:
>> First post to the list, I'd like to congratulate first PyLucene devs
>
> -1 Karma.  Go back to Slashdot. ;)

How the hell did you guess I can't pretend to be nice ?

>
>> I'm trying to fire a prohibited request on a field
>> I've tried many things, including going through QueryParser, nothing
>> worked so far (I always get 0 matches, which is wrong).
>> This is on PyLucene 1.9.1 (upgrading isn't a option, sadly).
>
> If I'm reading correctly, you're trying to retrieve all docs where
> status!=hidden.  In lucene, a search consisting only of negative  
> terms always
> returns no results.  If you AND some positive terms into your  
> query, things
> will work as you want.

Gasp, I saw this mentionned in the QueryParser syntax doc. Got  
confused because
it's inside the "NOT" operator section, so I thought '-' was the way  
to go. How stupid.

> If you do really want only those docs with -status:hidden, you may  
> be able to
> AND it with
> http://lucene.apache.org/java/docs/api/org/apache/lucene/search/ 
> MatchAllDocsQuery.html,
> though I've never tried it & I don't know if it's even available  
> under 1.9.

It is, it's exposed in PyLucene, and it works. Thanks !

> If you're still stuck, the LIA book describes other approaches for  
> solving
> this problem (ANDing w/ a term you know to be in all for your docs,  
> IIRC).

Actually, I started with a simple case to see how it works...
I'm going to add this missing feature to NXLucene
(http://www.cps-project.org/sections/projects/nxlucene/readme).
Most of our queries have lots of clauses, so that won't be an issue.
I'll probably throw a MatchAllDocs in (if useful only of course)

> You could also enumerate all of the other values of the status  
> field w/ OR
> (assuming you know all of them ahead of time).

FTR, that's precisely what I couldn't do. The first concrete use-case  
will be to hide documents
from a few users among a lot...

Thanks again,
---------
Georges Racinet,   Nuxeo SAS
Open Source Enterprise Content Management (ECM)
Web: http://www.nuxeo.com/ and http://www.nuxeo.org/ - Tel: +33 1 40  
33 79 87





More information about the pylucene-dev mailing list