advanced search

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

advanced search

tony yin
I wanta search several fields use NOT condition, but how?
for example:
I store "test" in {"id", "name", "value", ...} fields.
now I search "test" NOT in "id". That's it.

Can anyone help me?


--
Kindly Regards

Tony
===============================
Reply | Threaded
Open this post in threaded view
|

Re: advanced search

Karl Wettin

13 okt 2006 kl. 09.59 skrev tony yin:

> I wanta search several fields use NOT condition, but how?
> for example:
> I store "test" in {"id", "name", "value", ...} fields.
> now I search "test" NOT in "id". That's it.
>
> Can anyone help me?

You will not get any matchs looking for just a boolean NOT-clause. It  
has to be combined with something that matches. Perhaps a  
MatchAllDocumentsQuery will do it for you.

But to answer your question: a not-query is a Clause of a BooleanQuery.


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

Reply | Threaded
Open this post in threaded view
|

Re: advanced search

Terry Steichen
You can just add a field to your indexed docs that always evaluates to a
fixed value.  Then you can do queries like: +doc:1 -id:test

karl wettin wrote:

>
> 13 okt 2006 kl. 09.59 skrev tony yin:
>
>> I wanta search several fields use NOT condition, but how?
>> for example:
>> I store "test" in {"id", "name", "value", ...} fields.
>> now I search "test" NOT in "id". That's it.
>>
>> Can anyone help me?
>
> You will not get any matchs looking for just a boolean NOT-clause. It
> has to be combined with something that matches. Perhaps a
> MatchAllDocumentsQuery will do it for you.
>
> But to answer your question: a not-query is a Clause of a BooleanQuery.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>

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

Reply | Threaded
Open this post in threaded view
|

Re: advanced search

Doron Cohen
Terry Steichen <[hidden email]> wrote on 13/10/2006 08:01:11:
> You can just add a field to your indexed docs that always evaluates to a
> fixed value.  Then you can do queries like: +doc:1 -id:test

Alternatively you can use MatchAllDocsQuery, e.g.

    BooleanQuery bq = new BooleanQuery();
    bq.add(new MatchAllDocsQuery(),Occur.SHOULD);
    bq.add(new TermQuery(new Term("id","test")),Occur.MUST_NOT);

>
> karl wettin wrote:
> >
> > 13 okt 2006 kl. 09.59 skrev tony yin:
> >
> >> I wanta search several fields use NOT condition, but how?
> >> for example:
> >> I store "test" in {"id", "name", "value", ...} fields.
> >> now I search "test" NOT in "id". That's it.
> >>
> >> Can anyone help me?
> >
> > You will not get any matchs looking for just a boolean NOT-clause. It
> > has to be combined with something that matches. Perhaps a
> > MatchAllDocumentsQuery will do it for you.
> >
> > But to answer your question: a not-query is a Clause of a BooleanQuery.
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>


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