Sha256: 303ec7e5cec27031a8c79fe047d092b0902769ad75b5f41de75200be201136d7

Contents?: true

Size: 582 Bytes

Versions: 3

Compression:

Stored size: 582 Bytes

Contents

module Spotlight::SolrDocument::AtomicUpdates

  def reindex
    data = hash_for_solr_update(to_solr)

    blacklight_solr.update params: { commitWithin: 500 }, data: data.to_json, headers: { 'Content-Type' => 'application/json'} unless data.empty?
  end

  private
  def hash_for_solr_update data
    data = [data] unless data.is_a? Array

    data.map do |doc|
      Hash[doc.map do |k,v|
        val = if k.to_sym == self.class.unique_key.to_sym
          v
        else
          { set: v }
        end

        [k,val]
      end]
    end.reject { |x| x.length <= 1 }
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
blacklight-spotlight-0.4.1 app/models/concerns/spotlight/solr_document/atomic_updates.rb
blacklight-spotlight-0.3.1 app/models/concerns/spotlight/solr_document/atomic_updates.rb
blacklight-spotlight-0.3.0 app/models/concerns/spotlight/solr_document/atomic_updates.rb