Class: Hyrax::WorkIndexer
- Inherits:
-
ActiveFedora::IndexingService
- Object
- ActiveFedora::IndexingService
- Hyrax::WorkIndexer
- Includes:
- IndexesThumbnails, IndexesWorkflow
- Defined in:
- app/indexers/hyrax/work_indexer.rb
Constant Summary
Constants included from IndexesWorkflow
Instance Method Summary collapse
Methods included from IndexesWorkflow
#index_suppressed, #index_workflow_fields, #workflow_role_field, #workflow_roles, #workflow_state_name_field
Methods included from IndexesThumbnails
#index_thumbnails, #thumbnail_path
Instance Method Details
#generate_solr_document ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'app/indexers/hyrax/work_indexer.rb', line 7 def generate_solr_document super.tap do |solr_doc| solr_doc[Solrizer.solr_name('member_ids', :symbol)] = object.member_ids solr_doc[Solrizer.solr_name('member_of_collections', :symbol)] = object.member_of_collections.map(&:first_title) solr_doc[Solrizer.solr_name('member_of_collection_ids', :symbol)] = object.member_of_collections.map(&:id) Solrizer.set_field(solr_doc, 'generic_type', 'Work', :facetable) # This enables us to return a Work when we have a FileSet that matches # the search query. While at the same time allowing us not to return Collections # when a work in the collection matches the query. solr_doc[Solrizer.solr_name('file_set_ids', :symbol)] = solr_doc[Solrizer.solr_name('member_ids', :symbol)] admin_set_label = object.admin_set.to_s solr_doc[Solrizer.solr_name('admin_set', :facetable)] = admin_set_label solr_doc[Solrizer.solr_name('admin_set', :stored_searchable)] = admin_set_label end end |