I\'m using Solr for a realtime search index. My dataset is about 60M large documents. Instead of sorting by relevance, I need to sort by time. Currently I\'m using the sort flag
Warning: Wild suggestion, not based on prior experience or known facts. :)
fq=date:[NOW()-xDAY TO *]
where x
is the estimated time period in days during which we will find the required number of matching documents.For starters, you can use the following to estimate x
:
If you are uniformly adding n
documents a day to the index of size N
documents and a specific query matched d
documents in Step #1, then to get the top r
results you can use x = (N*r*1.2)/(d*n)
. If you have to relax your filter too often in Step #3, then slowly increase the value 1.2 in the formula as required.