I did this yesterday. Manually appended an extra field to the query. It works fine.
On 7/26/07, Erik Hatcher <[EMAIL PROTECTED]> wrote: > > > On Jul 25, 2007, at 5:05 PM, Joe Attardi wrote: > > As far as I can tell, I basically have two options: > > (1) Manually prepend the field identifier to the query text, for > > example: > > String fullQuery = field + ":" + queryText; > > then parse this query normally with QueryParser, OR > > (2) Since I know it is only going to be searching one term, > > manually create > > a TermQuery with a Term object representing what the user typed in, > > for > > example: > > Query query = new TermQuery(new Term(field, queryText)); > > > > Is there any advantage or disadvantage to any of these, or is one > > preferable > > over the other? My gut tells me that directly creating the > > TermQuery is more > > efficient since it doesn't have to perform parsing, but I'm not sure. > > I recommend constructing the Query manually whenever possible to > avoid the possibility of QueryParser escaping or other syntax getting > in the way. The only note to that is to be sure that the terms you > pass to things like TermQuery are in the same state as they got > indexed (lowercased, stemmed, whatever). You can manually run > through an Analyzer if you need to get the terms normalized in some > fashion. > > Erik > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >