: I'm having the date boosting function as well. I'm using this function: : F = recip(rord(creationDate),1,1000,1000)^10. However, since I have around : 10,000 of documents added in one day, rord(createDate) returns very : different values for the same createDate. For example, the last document
you may want to consider rounding dates down to the nearest day when indexing, that way everything published on the same day would have the same value and thus the same ordinal value. the hypothetical DateField-ish class i described before (let's call it "CustomizableFormatsDateField" for the sake of vocabulary) could make this trivial. : approaching 0. Therefore, the boost query doesn't make any difference : between the the last document added today and the document added 10 days : ago. Now if I replace 1000 in F with a large number, say 100000, the boost : function suddenly gives the last few documents enormous boost and make the : other query scores irrelevant. you might be able to mitigate your problem by maxing out the contribution from the date boost -- there is no "min" ValueSource out of the box, but there is a MaxFloatFunction and with some creative uses of LinearFloatFunction i think you get your date function queries to cap out at a fixed number of your choice. -Hoss