Module: GDor::Indexer::ModsFields
- Included in:
- SolrDocBuilder
- Defined in:
- lib/gdor/indexer/mods_fields.rb
Overview
A mixin to the GDor::Indexer::SolrDocBuilder class. Methods for Solr field values determined from MODS
Instance Method Summary collapse
-
#doc_hash_from_mods ⇒ Hash
Create a Hash representing a Solr doc, with all MODS related fields populated.
Instance Method Details
#doc_hash_from_mods ⇒ Hash
Create a Hash representing a Solr doc, with all MODS related fields populated.
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/gdor/indexer/mods_fields.rb', line 6 def doc_hash_from_mods pub_year_w_approx_dates = smods_rec.pub_year_int(false) doc_hash = { # title fields title_245a_search: smods_rec.sw_short_title, title_245_search: smods_rec.sw_full_title, title_variant_search: smods_rec.sw_addl_titles, title_sort: smods_rec.sw_sort_title, title_245a_display: smods_rec.sw_short_title, title_display: smods_rec.sw_title_display, title_full_display: smods_rec.sw_full_title, # author fields author_1xx_search: smods_rec., author_7xx_search: smods_rec., author_person_facet: smods_rec., author_other_facet: smods_rec., author_sort: smods_rec., author_corp_display: smods_rec., author_meeting_display: smods_rec., author_person_display: smods_rec., author_person_full_display: smods_rec., # subject search fields topic_search: smods_rec.topic_search, geographic_search: smods_rec.geographic_search, subject_other_search: smods_rec.subject_other_search, subject_other_subvy_search: smods_rec.subject_other_subvy_search, subject_all_search: smods_rec.subject_all_search, topic_facet: smods_rec.topic_facet, geographic_facet: smods_rec.geographic_facet, era_facet: smods_rec.era_facet, format_main_ssim: format_main_ssim, language: smods_rec.sw_language_facet, physical: smods_rec.term_values([:physical_description, :extent]), summary_search: smods_rec.term_values(:abstract), toc_search: smods_rec.term_values(:tableOfContents), url_suppl: smods_rec.term_values([:related_item, :location, :url]), # publication fields pub_search: smods_rec.place, pub_year_isi: pub_year_w_approx_dates, # for sorting # TODO: remove pub_date_sort after reindexing existing colls; deprecated in favor of pub_year_isi ... pub_date_sort: smods_rec.pub_year_sort_str(false), # these are for single value facet display (in leiu of date slider (pub_year_tisim) ) pub_year_no_approx_isi: smods_rec.pub_year_int(true), pub_year_w_approx_isi: pub_year_w_approx_dates, # display fields TODO: pub_date_display is deprecated; need better implementation of imprint_display imprint_display: smods_rec.pub_date_display, # pub_date_best_sort_str_value is protected ... creation_year_isi: smods_rec.year_int(smods_rec.date_created_elements(false)), publication_year_isi: smods_rec.year_int(smods_rec.date_issued_elements(false)), all_search: smods_rec.text.gsub(/\s+/, ' ') } add_pub_year_tisim(doc_hash) end |