Si estás en Solr 1.4 o superior, entonces usted tiene acceso a la función "MS" en las consultas de función, y el enfoque estándar, libro de texto para impulsar por lo reciente es:
recip(ms(NOW,startTime),3.16e-11,1,1)
ms da la cantidad de milisegundos entre sus dos argumentos. La expresión en conjunto aumenta los puntajes en 1 para los documentos fechados ahora, en 1/2 para los documentos fechados hace 1 año, en 1/3 para los documentos fechados hace 2 años, etc. (Consulte http://wiki.apache.org/solr/FunctionQuery#Date_Boosting, como señaló Sean Timm).
en el caso de que tenga documentos fechados en el futuro, y los que se les asigna una puntuación negativa por la función anterior, por lo que probablemente quiere lanzar en un valor absoluto, como esto:
recip(abs(ms(NOW,startTime)),3.16e-11,1,1)
abs (ms (NOW, startTime)) dará el # de milisegundos entre startTime y ahora, garantizado que no será negativo.
Ese sería un buen lugar para comenzar. Si lo desea, puede modificar el 3.16e-11 si es demasiado agresivo o no lo suficientemente agresivo.
Tangentialmente, la función ms solo funcionará en campos basados en la clase TrieDate, no en las clases clásicas Date y LegacyDate. Si su schema.xml se basó en el ejemplo de Solr 1.4, entonces su campo de fecha probablemente ya esté en el formato correcto.
¿Has intentado preguntarle al usuario solr? –