I did not even understand what you are considering to be the order on your call numbers.
2008/11/26 Naomi Dushay <[EMAIL PROTECTED]> > I have a performance problem and I haven't thought of a clever way around > it. > > I work at the Stanford University Libraries. We have a collection of over > 8 million items. Each item has a call number. I have been asked to provide > a way to browse forward and backward from an arbitrary call number. > > I have managed to create a fields that present the call numbers in > appropriate sorts, both forward and reverse. (This is necessary because raw > call numbers don't sort properly: A123 AZ27 B99 B999 BBB111111). > > We can ignore the reverse sorted range query problem; it's the same as the > forward sorted range query. > > So I use a query like this: > > sortCallNum["A123 B34 1970" TO *]&rows=10. > > > 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: > > A123 B34 1980 or > A123 B34 V.8 or > A123 B44 or > A123 B67 or > A123 C27 or > A124* or > A22* or > AA* or > > You get the idea. > > I have not figured out a way to efficiently query for "the next 10 call > 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"> > <arr name="queries"> > <!-- populate query result cache for sorted queries --> > <lst> > <str name="q">shelfkey:[0 TO *]</str> > <str name="sort">shelfkey asc</str> > </lst> > </arr> > > Can anyone help me with this? > > - Naomi > > -- Alexander Ramos Jardim