lib/ddr/models/indexing.rb in ddr-models-2.0.1 vs lib/ddr/models/indexing.rb in ddr-models-2.1.0.rc1

- old
+ new

@@ -1,55 +1,63 @@ module Ddr module Models module Indexing - include Ddr::IndexFields + include Ddr::Index::Fields def to_solr(solr_doc=Hash.new, opts={}) solr_doc = super(solr_doc, opts) solr_doc.merge index_fields end def index_fields fields = { - TITLE => title_display, - INTERNAL_URI => internal_uri, - IDENTIFIER_ALL => all_identifiers, - WORKFLOW_STATE => workflow_state, - LOCAL_ID => local_id, + ACCESS_ROLE => roles.to_json, ADMIN_SET => admin_set, + BOX_NUMBER_FACET => desc_metadata_values('box_number'), + CREATOR_FACET => creator, + DATE_FACET => date, + DATE_SORT => date_sort, + DEPOSITOR => depositor, DISPLAY_FORMAT => display_format, + DOI => adminMetadata.doi, + IDENTIFIER_ALL => all_identifiers, + INTERNAL_URI => internal_uri, + LICENSE => license, + LICENSE_DESCRIPTION => rightsMetadata.license.description.first, + LICENSE_TITLE => rightsMetadata.license.title.first, + LICENSE_URL => rightsMetadata.license.url.first, + LOCAL_ID => local_id, PERMANENT_ID => permanent_id, PERMANENT_URL => permanent_url, - ACCESS_ROLE => roles.to_json, - RESOURCE_ROLE => roles.in_resource_scope.agents, POLICY_ROLE => roles.in_policy_scope.agents, - CREATOR_FACET => creator, - DATE_FACET => date, - DATE_SORT => date_sort, - RESEARCH_HELP_CONTACT => research_help_contact + PUBLISHER_FACET => publisher, + RESEARCH_HELP_CONTACT => research_help_contact, + RESOURCE_ROLE => roles.in_resource_scope.agents, + SERIES_FACET => desc_metadata_values('series'), + SPATIAL_FACET => desc_metadata_values('spatial'), + TITLE => title_display, + TYPE_FACET => type, + WORKFLOW_STATE => workflow_state, + YEAR_FACET => year_facet, } if respond_to? :fixity_checks last_fixity_check = fixity_checks.last fields.merge!(last_fixity_check.to_solr) if last_fixity_check end if respond_to? :virus_checks last_virus_check = virus_checks.last fields.merge!(last_virus_check.to_solr) if last_virus_check end - if respond_to? :license - fields[LICENSE_DESCRIPTION] = license_description - fields[LICENSE_TITLE] = license_title - fields[LICENSE_URL] = license_url - end if has_content? fields[CONTENT_CONTROL_GROUP] = content.controlGroup fields[CONTENT_SIZE] = content_size fields[CONTENT_SIZE_HUMAN] = content_human_size fields[MEDIA_TYPE] = content_type fields[MEDIA_MAJOR_TYPE] = content_major_type fields[MEDIA_SUB_TYPE] = content_sub_type + fields.merge! techmd.index_fields end if has_multires_image? fields[MULTIRES_IMAGE_FILE_PATH] = multires_image_file_path end if has_struct_metadata? @@ -60,13 +68,13 @@ end if is_a? Component fields[COLLECTION_URI] = collection_uri end if is_a? Collection - fields[DEFAULT_LICENSE_DESCRIPTION] = default_license_description - fields[DEFAULT_LICENSE_TITLE] = default_license_title - fields[DEFAULT_LICENSE_URL] = default_license_url + fields[DEFAULT_LICENSE_DESCRIPTION] = defaultRights.license.description.first + fields[DEFAULT_LICENSE_TITLE] = defaultRights.license.title.first + fields[DEFAULT_LICENSE_URL] = defaultRights.license.url.first fields[ADMIN_SET_FACET] = admin_set_facet fields[COLLECTION_FACET] = collection_facet end if is_a? Item fields[ADMIN_SET_FACET] = admin_set_facet @@ -102,9 +110,13 @@ associated_collection.internal_uri if associated_collection.present? end def date_sort date.first + end + + def year_facet + YearFacet.call(self) end end end end