module SpeedyAF::IndexedContent

Constants

MAX_CONTENT_SIZE

Public Instance Methods

to_solr(solr_doc = {}, opts = {}) click to toggle source
# File lib/speedy_af/indexed_content.rb, line 10
def to_solr(solr_doc = {}, opts = {})
  return solr_doc unless opts[:external_index]
  solr_doc.tap do |doc|
    doc[:id] = id
    doc[:has_model_ssim] = self.class.name
    doc[:uri_ss] = uri.to_s
    doc[:mime_type_ss] = mime_type
    doc[:original_name_ss] = original_name
    doc[:size_is] = content.present? ? content.size : 0
    doc[:'empty?_bs'] = content.nil? || content.empty?
    doc[:content_ss] = content if index_content?
  end
end
update_external_index() click to toggle source
# File lib/speedy_af/indexed_content.rb, line 24
def update_external_index
  ActiveFedora::SolrService.add(to_solr({}, external_index: true), softCommit: true)
end

Protected Instance Methods

index_content?() click to toggle source
# File lib/speedy_af/indexed_content.rb, line 30
def index_content?
  has_content? && mime_type =~ /(^text\/)|([\/\+]xml$)/ && size < MAX_CONTENT_SIZE && content !~ /\x00/
end