Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Solr Wiki" for change 
notification.

The "FunctionQuery" page has been changed by YonikSeeley.
The comment on this change is: proposed new date boost function based on ms and 
recip.
http://wiki.apache.org/solr/FunctionQuery?action=diff&rev1=23&rev2=24

--------------------------------------------------

  
    Example: '''ms(datefield1,datefield2)'''
  
+ 
+ Boosting more recent content is a common use case.  One way is to use a 
{{{recip}}} function in conjunction with {{{ms}}}.
+ 
+ There are approximately 3.16e10 milliseconds in a year, so one can scale 
dates to fractions of a year with the inverse, or 3.16e-11.  Thus the function 
'''recip(ms(NOW,mydatefield),3.16e-11,1,1)''' will yield values near 1 for very 
recent documents, 1/2 for documents a year old, 1/3 for documents two years 
old, etc.  Be careful to not use this function for dates more than one year in 
the future or the values will be negative.
+ 
+ The most effective way to use such a boost is to multiply it with the 
relevancy score, rather than add it in.  One way to do this is with the 
[[http://lucene.apache.org/solr/api/org/apache/solr/search/BoostQParserPlugin.html|boost]]
 query parser.
+ 
  == top ==
  <!> [[Solr1.4]]
  Causes it's function query argument to derive it's values from the top-level 
IndexReader containing all parts of an index.  For example, the ordinal of a 
value in a single segment will be different from the ordinal of that same value 
in the complete index.  The ord() and rord() functions implicitly use top() and 
hence ord(foo) is equivalent to top(ord(foo)).

Reply via email to