Skip to content

Indexing your data into solr

Chris Beer edited this page Feb 2, 2014 · 6 revisions

Blacklight uses Solr as its data index. Blacklight is agnostic as to how that Solr index gets populated. Initial Blacklight development was geared towrrds work in university libraries, and deals with library data in the MARC format. The Blacklight out-of-the-box demo and test suite is geared towards that use case, but Blacklight itself is not limited to only serving MARC-based data.

Common Patterns

  • Sunspot for Indexing

  • If you're not dealing with MARC records, you might do something like the following:

    class MyModel < ActiveRecord::Base after_save :index_record before_destroy :remove_from_index

    attr_accessible :field_i_want_to_index
    
    def to_solr
      # *_texts here is a dynamic field type specified in solrconfig.xml
      {'id' => id,
       'field_i_want_to_index_texts' => field_i_want_to_index}
    end
    
    def index_record
      SolrService.add(self.to_solr)
      SolrService.commit
    end
    
    def remove_from_index
      SolrService.delete_by_id(self.id)
      SolrService.commit
    end
    

    end

What’s the relationship between Blacklight and SolrMarc?

However, one excellent way to index lots of MARC records into Solr quickly is to use SolrMarc. Some of the same people are active in both projects, e.g, Bob Haschart from UVA and Naomi Dushay from Stanford University. SolrMarc is not a Blacklight-specific project, it is also used by VuFind and other projects, and is a separate project that exists in its own right.

Clone this wiki locally