The point isn't really how the exact sort works - it's the performance issues, coupled with an unpredictable distribution along the entire possible sort space.

the sort works
the range queries work
the performance sucks

and I haven't thought of a clever work around.

- Naomi

On Nov 27, 2008, at 9:41 AM, Alexander Ramos Jardim wrote:

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

Naomi Dushay
[EMAIL PROTECTED]



Reply via email to