lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Simon Willnauer <simon.willna...@googlemail.com>
Subject Re: Boost more recent document
Date Wed, 30 Nov 2011 19:39:44 GMT
On Wed, Nov 30, 2011 at 6:59 PM, Zhang, Lisheng
<Lisheng.Zhang@broadvision.com> wrote:
> Hi,
>
> We need to boost document which is more recent (each doc has time stamp attribute). It
seems that
> we cannot use doc boost at index time because it will be condensed into one byte (cannot
differentiate
> 365 days), so we may use payload (save time stamp as payload) to boost at search time.
>
> In our app we let user enter query at browser and use QueryParser to generate query,
the query can
> be different types (TermQuery, BooleanQuery, WildcardQuery, ...), then it seems we need
to create
> each customized query class similar to PayloadTermQuery, is there another simpler way?

you can simply index your timestamp (untokenzied) and wrap your query
in a CustomScoreQuery. This query accepts your user query and a
ValueSource. During search CustomScoreQuery calls your valuesource for
each document that the user query scores and multiplies the result of
the ValueSource into the score. Inside your valuesource you can simply
get the timestamps from the FieldCache and calculate your custom
boost...

hope that helps

simon
>
> Thanks very much for helps, Lisheng

---------------------------------------------------------------------
To unsubscribe, e-mail: java-user-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-user-help@lucene.apache.org


Mime
View raw message