Class: Hyrax::FindObjectsViaSolrService
- Inherits:
-
Object
- Object
- Hyrax::FindObjectsViaSolrService
- Defined in:
- app/services/hyrax/find_objects_via_solr_service.rb
Overview
Methods in this class search solr to get the ids and then use the query service to find the objects.
Class Method Summary collapse
-
.find_for_model_by_field_pairs(model:, field_pairs:, join_with: ' OR ', type: 'field', use_valkyrie: Hyrax.config.use_valkyrie?) ⇒ Array<ActiveFedora|Valkyrie::Resource>
Find objects matching search criteria.
Class Method Details
.find_for_model_by_field_pairs(model:, field_pairs:, join_with: ' OR ', type: 'field', use_valkyrie: Hyrax.config.use_valkyrie?) ⇒ Array<ActiveFedora|Valkyrie::Resource>
Find objects matching search criteria.
18 19 20 21 22 23 24 |
# File 'app/services/hyrax/find_objects_via_solr_service.rb', line 18 def find_for_model_by_field_pairs(model:, field_pairs:, join_with: ' OR ', type: 'field', use_valkyrie: Hyrax.config.use_valkyrie?) return model.where(field_pairs).to_a unless use_valkyrie query = solr_query_builder.construct_query_for_model(model, field_pairs, join_with, type) results = solr_service.query(query) ids = results.map(&:id) query_service.find_many_by_ids(ids: ids).to_a end |