Module: CommonwealthVlrEngine::CommonwealthSearchBuilderBehavior

Instance Method Summary collapse

Instance Method Details

#collections_filter(solr_parameters = {}) ⇒ Object

used by CollectionsController#index



52
53
54
55
# File 'lib/commonwealth-vlr-engine/search_builder/commonwealth_search_builder_behavior.rb', line 52

def collections_filter(solr_parameters = {})
  solr_parameters[:fq] ||= []
  solr_parameters[:fq] << "+active_fedora_model_suffix_ssi:\"Collection\""
end

#exclude_institutions(solr_parameters = {}) ⇒ Object

keep Institution objects out of the search results



23
24
25
26
# File 'lib/commonwealth-vlr-engine/search_builder/commonwealth_search_builder_behavior.rb', line 23

def exclude_institutions(solr_parameters = {})
  solr_parameters[:fq] ||= []
  solr_parameters[:fq] << '-active_fedora_model_suffix_ssi:"Institution"'
end

#exclude_unpublished_items(solr_parameters = {}) ⇒ Object

keep draft/review and in-process items from appearing in search results



12
13
14
15
16
17
18
19
20
# File 'lib/commonwealth-vlr-engine/search_builder/commonwealth_search_builder_behavior.rb', line 12

def exclude_unpublished_items(solr_parameters = {})
  solr_parameters[:fq] ||= []
  solr_parameters[:fq] << '-workflow_state_ssi:"draft"'
  solr_parameters[:fq] << '-workflow_state_ssi:"needs_review"'
  solr_parameters[:fq] << '-processing_state_ssi:"derivatives"'
  # can't implement below until all records have this field
  # solr_parameters[:fq] << '+workflow_state_ssi:"published"'
  # solr_parameters[:fq] << '+processing_state_ssi:"complete"'
end

#exclude_unwanted_models(solr_parameters = {}) ⇒ Object

keep file assets from appearing in search results



5
6
7
8
9
# File 'lib/commonwealth-vlr-engine/search_builder/commonwealth_search_builder_behavior.rb', line 5

def exclude_unwanted_models(solr_parameters = {})
  solr_parameters[:fq] ||= []
  solr_parameters[:fq] << '-has_model_ssim:"info:fedora/afmodel:Bplmodels_File"'
  solr_parameters[:fq] << '-has_model_ssim:"info:fedora/fedora-system:ContentModel-3.0"'
end

#exclude_volumes(solr_parameters = {}) ⇒ Object

keep Volume objects out of the search results



58
59
60
61
# File 'lib/commonwealth-vlr-engine/search_builder/commonwealth_search_builder_behavior.rb', line 58

def exclude_volumes(solr_parameters = {})
  solr_parameters[:fq] ||= []
  solr_parameters[:fq] << '-active_fedora_model_suffix_ssi:"Volume"'
end

#flagged_filter(solr_parameters = {}) ⇒ Object

don’t return flagged items (for series images on collections#show)



29
30
31
32
# File 'lib/commonwealth-vlr-engine/search_builder/commonwealth_search_builder_behavior.rb', line 29

def flagged_filter(solr_parameters = {})
  solr_parameters[:fq] ||= []
  solr_parameters[:fq] << "-#{blacklight_config.flagged_field}:[* TO *]"
end

#institution_limit(solr_parameters = {}) ⇒ Object

limit results to a single institution



35
36
37
38
# File 'lib/commonwealth-vlr-engine/search_builder/commonwealth_search_builder_behavior.rb', line 35

def institution_limit(solr_parameters = {})
  solr_parameters[:fq] ||= []
  solr_parameters[:fq] << '+institution_pid_ssi:"' + CommonwealthVlrEngine.config[:institution][:pid] + '"'
end

#institutions_filter(solr_parameters = {}) ⇒ Object

used by InstitutionsController#index



41
42
43
44
# File 'lib/commonwealth-vlr-engine/search_builder/commonwealth_search_builder_behavior.rb', line 41

def institutions_filter(solr_parameters = {})
  solr_parameters[:fq] ||= []
  solr_parameters[:fq] << "+active_fedora_model_suffix_ssi:\"Institution\""
end

#ocr_search_params(solr_parameters = {}) ⇒ Object

set params for ocr field searching



64
65
66
67
68
69
70
# File 'lib/commonwealth-vlr-engine/search_builder/commonwealth_search_builder_behavior.rb', line 64

def ocr_search_params(solr_parameters = {})
  solr_parameters[:facet] = false
  solr_parameters[:hl] = true
  solr_parameters[:'hl.fl'] = blacklight_config.ocr_search_field
  solr_parameters[:'hl.fragsize'] = 135
  solr_parameters[:'hl.snippets'] = 10
end

#set_solr_id_for_mlt(solr_parameters = {}) ⇒ Object

for ‘more like this’ search – set solr id param to params



47
48
49
# File 'lib/commonwealth-vlr-engine/search_builder/commonwealth_search_builder_behavior.rb', line 47

def set_solr_id_for_mlt(solr_parameters = {})
  solr_parameters[:id] = blacklight_params[:mlt_id]
end