How to Implement A Virtual Bookshelf With Solr
- Naomi Dushay, Stanford University, firstname.lastname@example.org
- Jessie Keck, Stanford University, email@example.com
Code4Lib 2010 - Wednesday, February 24 - 14:00-14:20
Browsing bookshelves has long been a useful research technique as well as an activity many users enjoy. As larger and larger portions of our physical library materials migrate to offsite storage, having a browse-able virtual shelf organized by call number is a much-desired feature. I will talk about how we implemented nearby-on-shelf in Blacklight at Stanford, using Solr and SolrMarc:
- the code to get shelfkeys out of call numbers
- the code to lop volume data off the end of call numbers to avoid clutter in the browse
- what I indexed in Solr given we have
- multiple call numbers for a single bib record
- multiple bib records for a single call number
- Solr configuration, requests and responses to get call numbers before and after a given starting point as well as the desired information for display.
- Other code needed to implement this feature in Blacklight (concepts easily ported to other UIs).
This virtual shelf is not only browsable across locations, but includes any item with a call number in our collection (digital or physical materials).
Naomi says: “Some of this code is available in SolrMarc trunk as of 2010-02-28, but with the upgrade to SolrMarc version 2.1, the stanfordBlacklight example will probably not be up to date for a few weeks. The Blacklight part of the code will also be forthcoming.”
Stanford’s SearchWorks Solr configuration files:
- conf/schema.xml http://www.stanford.edu/people/~ndushay/code4lib2010/stanford/schema.xml
- conf/solrconfig.xml http://www.stanford.edu/people/~ndushay/code4lib2010/stanford/solrconfig.xml
- solrmarc sw_index.properties (note there is custom code used not yet checked into StanfordBlacklight example in SolrMarc project) http://www.stanford.edu/people/~ndushay/code4lib2010/stanford/sw_index.properties
- if you want more information about our Solr index or our Marc -> Solr code, please send me an email.