Module: CommonwealthVlrEngine::CommonwealthSearchBuilderBehavior
- Included in:
- CommonwealthCollectionsSearchBuilder, CommonwealthFlaggedSearchBuilder, CommonwealthInstitutionsSearchBuilder, CommonwealthMltSearchBuilder, CommonwealthOcrSearchBuilder, CommonwealthSearchBuilder
- Defined in:
- lib/commonwealth-vlr-engine/search_builder/commonwealth_search_builder_behavior.rb
Instance Method Summary collapse
-
#collections_filter(solr_parameters = {}) ⇒ Object
used by CollectionsController#index.
-
#exclude_institutions(solr_parameters = {}) ⇒ Object
keep Institution objects out of the search results.
-
#exclude_unpublished_items(solr_parameters = {}) ⇒ Object
keep draft/review and in-process items from appearing in search results.
-
#exclude_unwanted_models(solr_parameters = {}) ⇒ Object
keep file assets from appearing in search results.
-
#exclude_volumes(solr_parameters = {}) ⇒ Object
keep Volume objects out of the search results.
-
#flagged_filter(solr_parameters = {}) ⇒ Object
don’t return flagged items (for series images on collections#show).
-
#institution_limit(solr_parameters = {}) ⇒ Object
limit results to a single institution.
-
#institutions_filter(solr_parameters = {}) ⇒ Object
used by InstitutionsController#index.
-
#mlt_params(solr_parameters = {}) ⇒ Object
for ‘more like this’ search – set solr id param to params.
-
#ocr_search_params(solr_parameters = {}) ⇒ Object
set params for ocr field searching.
-
#site_filter(solr_parameters = {}) ⇒ Object
only return items corresponding to the correct site.
Instance Method Details
#collections_filter(solr_parameters = {}) ⇒ Object
used by CollectionsController#index
64 65 66 67 |
# File 'lib/commonwealth-vlr-engine/search_builder/commonwealth_search_builder_behavior.rb', line 64 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
29 30 31 32 |
# File 'lib/commonwealth-vlr-engine/search_builder/commonwealth_search_builder_behavior.rb', line 29 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
18 19 20 21 22 23 24 25 26 |
# File 'lib/commonwealth-vlr-engine/search_builder/commonwealth_search_builder_behavior.rb', line 18 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
11 12 13 14 15 |
# File 'lib/commonwealth-vlr-engine/search_builder/commonwealth_search_builder_behavior.rb', line 11 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
70 71 72 73 |
# File 'lib/commonwealth-vlr-engine/search_builder/commonwealth_search_builder_behavior.rb', line 70 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)
35 36 37 38 |
# File 'lib/commonwealth-vlr-engine/search_builder/commonwealth_search_builder_behavior.rb', line 35 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
41 42 43 44 |
# File 'lib/commonwealth-vlr-engine/search_builder/commonwealth_search_builder_behavior.rb', line 41 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
47 48 49 50 |
# File 'lib/commonwealth-vlr-engine/search_builder/commonwealth_search_builder_behavior.rb', line 47 def institutions_filter(solr_parameters = {}) solr_parameters[:fq] ||= [] solr_parameters[:fq] << "+active_fedora_model_suffix_ssi:\"Institution\"" end |
#mlt_params(solr_parameters = {}) ⇒ Object
for ‘more like this’ search – set solr id param to params
53 54 55 56 57 58 59 60 61 |
# File 'lib/commonwealth-vlr-engine/search_builder/commonwealth_search_builder_behavior.rb', line 53 def mlt_params(solr_parameters = {}) solr_parameters[:id] = blacklight_params[:mlt_id] solr_parameters[:qt] = 'mlt' solr_parameters[:mlt] = true solr_parameters[:'mlt.fl'] = 'subject_facet_ssim,subject_geo_city_ssim,related_item_host_ssim' solr_parameters[:'mlt.match.include'] = false solr_parameters[:'mlt.mintf'] = 1 solr_parameters[:'mlt.qf'] = 'subject_facet_ssim^10 subject_geo_city_ssim^5 related_item_host_ssim' end |
#ocr_search_params(solr_parameters = {}) ⇒ Object
set params for ocr field searching
76 77 78 79 80 81 82 |
# File 'lib/commonwealth-vlr-engine/search_builder/commonwealth_search_builder_behavior.rb', line 76 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 |
#site_filter(solr_parameters = {}) ⇒ Object
only return items corresponding to the correct site
5 6 7 8 |
# File 'lib/commonwealth-vlr-engine/search_builder/commonwealth_search_builder_behavior.rb', line 5 def site_filter(solr_parameters = {}) solr_parameters[:fq] ||= [] solr_parameters[:fq] << '+destination_site_ssim:"' + CommonwealthVlrEngine.config[:site] + '"' end |