Quiero tener resultados de búsqueda de SOLR ordenó así:documentación del pedido Solr con idéntico marcador de fecha añadió descendente
Todos los documentos que tengan la misma puntuación se ordenará por fecha descendente añadió.
Así que cuando consulto solr tendré n documentos. En este conjunto de resultados habrá grupos de documentos con el mismo puntaje. Quiero que cada uno de este grupo de documentos se ordene descender por fecha agregada.
descubrí que puedo lograr esto mediante consultas de función, más exactamente usando rord
función http://wiki.apache.org/solr/FunctionQuery#rord, pero como se indica en la documentación
ADVERTENCIA: a partir de Solr 1.4, ord() y Rord() puede causa exceso de memoria use ya que deben usar una entrada de Caché de campo en el lector de nivel superior, mientras que las consultas de clasificación y función ahora usan entradas en el nivel de segmento. Por lo tanto, ordenar o usar una consulta de función diferente, además de ord()/rord() duplicará el uso de la memoria.
causará exceso de memoria.
¿Qué otras opciones tengo?
Estaba pensando en usar recip(ms(NOW,startTime),1,1,0)
. Es este el mejor enfoque ?
¿Hay algún impacto negativo en el rendimiento si uso recip y ms?
¿Está realmente seguro de que desea ordenar por fecha solo para documentos con el mismo puntaje? En mi experiencia, esto siempre ha sido incorrecto. Mejora de los documentos recientes que influyen en la puntuación de solr con una consulta de función que simplemente ordenar como lo describió. – javanna
Esta es una muy buena pregunta, gracias. Los resultados de búsqueda más importantes para mí son los que coinciden con las palabras clave de la frase de búsqueda. Después de esto, es importante qué tan nuevo es el documento. También, estoy continuamente eliminando documentos obsoletos del índice. – Dorin
Me alegra ayudar, eche un vistazo a mi respuesta. – javanna