Having read through this thread, i'm not sure i understand what exactly 
the problem is.  my naive understanding is...

1) you want to sort by a field
2) you want to be able to "paginate" through all docs in order of this 
field.
3) you want to be able to start your pagination at any arbitrary value for 
this field.

so (assuming the field is a simple number for now) you could us something 
like

   q=yourField:[42 TO *&sort=yourField+asc&rows=10&start-0

where "42" is the arbitrary ID someone wants to start at.

This sentence below seems to imply that you have a solution which produces 
correct results, but doesn't produce results quickly...

: I have a performance problem and I haven't thought of a clever way around it.

...however this lines seems to suggest that you're having trouble 
getting at least 10 results from any query (?)

: Call numbers are squirrelly, so we can't predict the string that will
: appropriately grab at least 10 subsequent documents.  They are certainly not
: consecutive!
: 
: so from
: A123 B34 1970
: 
: we're unable to predict if any of these will return at least 10 results:

...but i'm not sure what exactly that means.  for any given field, there 
is always going to be some values X such that myField:[X TO *] won't 
return at least 10 docs ... the are the last values in the index in order 
-- surely it's okay for your app to have an "end" state when you run out 
of data? :)

But like i said, i'm not relaly clear on whether i'm clear on what your 
problem is.


Oh, and BTW...

: numbers in sort order".  I have also mucked about with the cache
: initialization, but that's not working either:
: 
:     <listener event="firstSearcher" class="solr.QuerySenderListener">

...make sure you also do a newSearcher listener that does the same thing, 
otherwise your FieldCache (used for sorting) may not be warmed when 
commits happen)



-Hoss

Reply via email to