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

Reply via email to