> We want to search in an index in such a way that even if a > clause has a long > posting list - Solr should stop collecting documents for > the clause > after receiving X documents that match the clause. > > For example, if for query "India",solr can return 5M > documents, we would > like to restrict the set at only 500K documents. > > The assumption is that since we are posting chronologically > - we would like > the X most recent documents to be matched for the clause > only. > > Is it possible anyway?
Looks like your use-case is suitable for time based sharding. http://wiki.apache.org/solr/DistributedSearch Lets say you divide your shards according to months. You will have a separate core for each month. http://wiki.apache.org/solr/CoreAdmin When a query comes in, you will hit the most recent core. If you don't obtain enough results add a new value (previous month core) to &shards= parameter.