On 1/17/07, Luis Neves <[EMAIL PROTECTED]> wrote:

...I see that is possible to use
"Boost Functions" to influence the score. How would that work in order to
improve the score of recent documents? (I have a timestamp field in the
schema)...

I've been using expressions like these in boolean queries, based on  a
"broadcast_date" field:

_val_:"linear(recip(rord(broadcast_date),1,1000,1000),11,0)"

Where recip computes an age-based score, and linear is used to boost it.

See http://incubator.apache.org/solr/docs/api/org/apache/solr/search/QueryParsing.html,
and also the list archives, these functions have been discussed
before.

I'm not sure off the top of my head how to use this with dismax queries though.

There's another trick, described by Andrzej here:

http://www.gossamer-threads.com/lists/lucene/java-user/43457

You have another field such as days: where you write the same token (e.g. "1") the number of times that matches the age of your document (starting from some reasonable base date). Then add +days:1 to your query and Lucene winds up boosting the results by how recent they are.

-- Ken
--
Ken Krugler
Krugle, Inc.
+1 530-210-6378
"Find Code, Find Answers"

Reply via email to