Can't this use case be done with a function query? On Sat, Jul 31, 2010 at 1:59 AM, Uwe Schindler <u...@thetaphi.de> wrote: > Here some example code, the method is getFieldQuery() (Lucene 2.9 or 3.0 or > following, don't use that approach before, because QueryWrapperFilter is not > effective before 2.9 for that): > > @Override > protected Query getFieldQuery(String field, String queryText) throws > ParseException { > Query q = super.getFieldQuery(field,queryText); > if (!"TITLE".equals(field)) > q = new ConstantScoreQuery(new QueryWrapperFilter(q)); > return q; > } > > I hope that explains itself. You may look at other Query type factories in > QP that produce scoring queries and wrap them similar. But e.g. WildCard and > RangeQueries are constant score. Phrases are also handled by this method. > Only the slop setting may not work correctly after this (look at the > instanceof checks in getFieldQuery(..., slop)). > > Uwe > > ----- > Uwe Schindler > H.-H.-Meier-Allee 63, D-28213 Bremen > http://www.thetaphi.de > eMail: u...@thetaphi.de > > >> -----Original Message----- >> From: Uwe Schindler [mailto:u...@thetaphi.de] >> Sent: Saturday, July 31, 2010 10:19 AM >> To: java-user@lucene.apache.org >> Subject: RE: Rank results only on some fields >> >> You can construct the query using a customized query parser that wraps all >> queries not with the suggested field name using a "new >> ConstantScoreQuery(new QueryWrapperFilter(originalCreatedQuery))". >> Override >> newFieldQuery() to do that and pass the super call to this ctor chain. >> >> Uwe >> >> ----- >> Uwe Schindler >> H.-H.-Meier-Allee 63, D-28213 Bremen >> http://www.thetaphi.de >> eMail: u...@thetaphi.de >> >> >> > -----Original Message----- >> > From: Philippe [mailto:mailer.tho...@gmail.com] >> > Sent: Saturday, July 31, 2010 10:04 AM >> > To: java-user@lucene.apache.org >> > Subject: Rank results only on some fields >> > >> > Hi, >> > >> > I want to rank my results only on parts of my query. E.g my query is >> > "TITLE:Lucene AND AUTHOR:Manning". After this query standard lucene >> > ranking for both fields take place. >> > >> > However, is it possible to query the index using the full query and >> > rank results only according to the "TITLE"-Field? >> > >> > Regards, >> > Philippe >> > >> > --------------------------------------------------------------------- >> > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org >> > For additional commands, e-mail: java-user-h...@lucene.apache.org >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org >> For additional commands, e-mail: java-user-h...@lucene.apache.org > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org > For additional commands, e-mail: java-user-h...@lucene.apache.org > >
-- Lance Norskog goks...@gmail.com --------------------------------------------------------------------- To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org For additional commands, e-mail: java-user-h...@lucene.apache.org