lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Charles" <char...@radworkz.com>
Subject Re: how to join 2 queries togther
Date Thu, 23 Jan 2003 01:53:17 GMT
Thanks for the advice Otis. I used the BooleanQuery to nest all my sub
queries and it works fine.

However I still have one question, regarding the RangeQuery. Where can I
find an updated list of the syntax for RangeQuery (or any other Queries if
exists)? I was fortunate enough to stumble across a reply in the mailing
list addressing the syntax query for version 1.3.1 (which is what I'm
using). The "Query Syntax" of the Lucene page do not cover this area.



----- Original Message -----
From: "Otis Gospodnetic" <otis_gospodnetic@yahoo.com>
To: "Lucene Users List" <lucene-user@jakarta.apache.org>
Sent: Tuesday, January 21, 2003 10:27 PM
Subject: Re: how to join 2 queries togther


> It should all be pretty clear from the API javadocs.  Take a look at
> BooleanQuery, which is that single query that you can add other
> queries.
> Good luck.
>
> Otis
>
>
>
> --- Charles <charles@radworkz.com> wrote:
> > Hi everyone,
> >
> > First of all I'd like to thank you guys for developing a great search
> > engine
> > framework. I've tested it out and it works flawlessly (and really
> > fast too).
> >
> > Right now I plan to create a more advance search capability. I
> > understand
> > how to construct the Query object using the QueryParser, but I would
> > like to
> > know how I can add in different types of queries (like range, terms,
> > boolean) all into one. I'm not sure if I can do this with the
> > QueryParser
> > and am looking for information on how to manually construct a Query
> > object
> > so i can combine all these requirements.
> >
> > Here's what I want to do: I would like to have the user select values
> > from a
> > combo box (e.g. Price range, Area, Country, Number of rooms, land
> > area, is
> > Freehold or Leasehold etc). From what I gather this involves several
> > type of
> > queries including RangeQuery (for the price range), a TermQuery,
> > BooleanQuery etc. So the question is how do i combine all these types
> > of
> > queries into one so I can obtain a single Hits result that matches
> > all these
> > requirements?
> >
> > Any advice or urls is very much appreciated.
> > Charles
> >
> >
> > ----- Original Message -----
> > From: "alex" <a@wong45.freeserve.co.uk>
> > To: "Lucene Users List" <lucene-user@jakarta.apache.org>
> > Sent: Tuesday, January 21, 2003 3:23 PM
> > Subject: Re: how to join 2 queries togther
> >
> >
> > > Thank you everyone for your help
> > >
> > >
> > > ----- Original Message -----
> > > From: "Lichtner, Guglielmo" <Guglielmo.Lichtner@gs.com>
> > > To: "'Lucene Users List'" <lucene-user@jakarta.apache.org>
> > > Sent: Monday, January 20, 2003 9:52 PM
> > > Subject: RE: how to join 2 queries togther
> > >
> > >
> > > >
> > > > From this code I think I see a possible problem.
> > > >
> > > > I think one way to fix it is to parse the word in readLine() and
> > add a
> > > term
> > > > query for each:
> > > >
> > > > BooleanQuery query = new BooleanQuery();
> > > > System.out.print("will all of the words ");
> > > > StringTokenizer tok1 = new StringTokenizer(in.readLine());
> > > > while (tok.hasMoreTokens()) {
> > > >     query.add(new TermQuery(new Term("content",
> > tok1.nextToken()), true,
> > > > false);
> > > > }
> > > > System.out.print("without the words");
> > > > StringTokenizer tok2 = new StringTokenizer(in.readLine());
> > > > while (tok.hasMoreTokens()) {
> > > >     query.add(new TermQuery(new Term("content",
> > tok2.nextToken()),
> > false,
> > > > true);
> > > > }
> > > > System.out.println("Searching for: " + query);
> > > > Hits hits = searcher.search(query);
> > > > System.out.println(hits.length() + " total matching documents
> > ");
> > > >
> > > >
> > > > -----Original Message-----
> > > > From: alex [mailto:a@wong45.freeserve.co.uk]
> > > > Sent: Monday, January 20, 2003 2:57 PM
> > > > To: Lucene Users List
> > > > Subject: Re: how to join 2 queries togther
> > > >
> > > >
> > > > thxs for your suggestion this is what i have written but it does
> > not
> > work
> > > > any suggestion on how to get it to work ?
> > > >
> > > >  System.out.print("will all of the words ");
> > > >         String q1 = in.readLine();
> > > >  System.out.print("without the words");
> > > >         String q2 = in.readLine();
> > > >
> > > >         BooleanQuery query = new BooleanQuery();
> > > >               Query matchall = QueryParser.parse(q1, "content",
> > analyzer);
> > > >         query.add(matchall, true, false);
> > > >               Query exclude = QueryParser.parse( q2, "content" ,
> > > analyzer);
> > > >         query.add(exclude, false, true);
> > > >
> > > >         System.out.println("Searching for: " +
> > query.toString("content"));
> > > >         Hits hits = searcher.search(query);
> > > >         System.out.println(hits.length() + " total matching
> > documents
> > ");
> > > >
> > > >
> > > > ----- Original Message -----
> > > > From: "Lichtner, Guglielmo" <Guglielmo.Lichtner@gs.com>
> > > > To: "'Lucene Users List'" <lucene-user@jakarta.apache.org>
> > > > Sent: Monday, January 20, 2003 4:04 PM
> > > > Subject: RE: how to join 2 queries togther
> > > >
> > > >
> > > > >
> > > > > I'm a newbie, but I could suggest this:
> > > > >
> > > > > BooleanQuery bq = new BooleanQuery();
> > > > > bq.add(firstQuery, true, false);
> > > > > bq.add(secondQuery, false, true);
> > > > >
> > > > > That should make the first query required, and the second
> > > > > one prohibited, which is like saying "+firstQuery -secondQuery"
> > > > >
> > > > > I haven't tried this myself but I did try this for an either/or
> > > > combination,
> > > > > and it does work for me.
> > > > >
> > > > > -----Original Message-----
> > > > > From: alex [mailto:a@wong45.freeserve.co.uk]
> > > > > Sent: Monday, January 20, 2003 10:54 AM
> > > > > To: Lucene User
> > > > > Subject: how to join 2 queries togther
> > > > >
> > > > >
> > > > > hi all
> > > > >
> > > > > I have a method which takes in a normal query breaks into token
> > and
> > > places
> > > > +
> > > > > in front it
> > > > > I have a second method which does the same instead puts a -
> > sign front
> > > the
> > > > > token
> > > > >
> > > > > the reason i have done this is so that the user do not need to
> > add +
> > > and -
> > > > > signs by themselfs and also I cound
> > > > >  not get the booleanQuery to work
> > > > >
> > > > > this makes it so that i have 2 queries
> > > > >
> > > > > 1) a file must contain all these words
> > > > > 2) a file must exclude this words
> > > > >
> > > > > my question is how do join these 2 queries togther so it
> > filters out
> > > words
> > > > > that i want and do not want ?
> > > > >
> > > > > Alex
> > > > >
> > > > > --
> > > > > To unsubscribe, e-mail:
> > > > <mailto:lucene-user-unsubscribe@jakarta.apache.org>
> > > > > For additional commands, e-mail:
> > > > <mailto:lucene-user-help@jakarta.apache.org>
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > To unsubscribe, e-mail:
> > > > <mailto:lucene-user-unsubscribe@jakarta.apache.org>
> > > > For additional commands, e-mail:
> > > > <mailto:lucene-user-help@jakarta.apache.org>
> > > >
> > > > --
> > > > To unsubscribe, e-mail:
> > > <mailto:lucene-user-unsubscribe@jakarta.apache.org>
> > > > For additional commands, e-mail:
> > > <mailto:lucene-user-help@jakarta.apache.org>
> > > >
> > > >
> > >
> > >
> > > --
> > > To unsubscribe, e-mail:
> > <mailto:lucene-user-unsubscribe@jakarta.apache.org>
> > > For additional commands, e-mail:
> > <mailto:lucene-user-help@jakarta.apache.org>
> > >
> > >
> > >
> >
> >
> >
> > --
> > To unsubscribe, e-mail:
> > <mailto:lucene-user-unsubscribe@jakarta.apache.org>
> > For additional commands, e-mail:
> > <mailto:lucene-user-help@jakarta.apache.org>
> >
>
>
> __________________________________________________
> Do you Yahoo!?
> Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
> http://mailplus.yahoo.com
>
> --
> To unsubscribe, e-mail:
<mailto:lucene-user-unsubscribe@jakarta.apache.org>
> For additional commands, e-mail:
<mailto:lucene-user-help@jakarta.apache.org>
>
>



--
To unsubscribe, e-mail:   <mailto:lucene-user-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:lucene-user-help@jakarta.apache.org>


Mime
View raw message