Module: Sufia::SearchBuilder

Includes:
BlacklightAdvancedSearch::AdvancedSearchBuilder, Hydra::Collections::SearchBehaviors
Included in:
MySearchBuilderBehavior
Defined in:
app/search_builders/sufia/search_builder.rb

Instance Method Summary collapse

Instance Method Details

#only_generic_files_and_collections(solr_parameters) ⇒ Object

Limits search results just to GenericFiles and collections

Parameters:

  • solr_parameters

    the current solr parameters

  • user_parameters

    the current user-subitted parameters



45
46
47
48
# File 'app/search_builders/sufia/search_builder.rb', line 45

def only_generic_files_and_collections(solr_parameters)
  solr_parameters[:fq] ||= []
  solr_parameters[:fq] << "#{Solrizer.solr_name("has_model", :symbol)}:(\"GenericFile\" \"Collection\")"
end

#show_only_collections(solr_parameters) ⇒ Object



6
7
8
9
10
11
# File 'app/search_builders/sufia/search_builder.rb', line 6

def show_only_collections(solr_parameters)
  solr_parameters[:fq] ||= []
  solr_parameters[:fq] += [
    ActiveFedora::SolrQueryBuilder.construct_query_for_rel(has_model: Collection.to_class_uri)
  ]
end

#show_only_generic_files(solr_parameters) ⇒ Object



20
21
22
23
24
25
# File 'app/search_builders/sufia/search_builder.rb', line 20

def show_only_generic_files(solr_parameters)
  solr_parameters[:fq] ||= []
  solr_parameters[:fq] += [
    ActiveFedora::SolrQueryBuilder.construct_query_for_rel(has_model: ::GenericFile.to_class_uri)
  ]
end

#show_only_highlighted_files(solr_parameters) ⇒ Object



34
35
36
37
38
39
40
# File 'app/search_builders/sufia/search_builder.rb', line 34

def show_only_highlighted_files(solr_parameters)
  ids = scope.current_user.trophies.pluck(:generic_file_id)
  solr_parameters[:fq] ||= []
  solr_parameters[:fq] += [
    ActiveFedora::SolrQueryBuilder.construct_query_for_ids(ids)
  ]
end

#show_only_resources_deposited_by_current_user(solr_parameters) ⇒ Object



13
14
15
16
17
18
# File 'app/search_builders/sufia/search_builder.rb', line 13

def show_only_resources_deposited_by_current_user(solr_parameters)
  solr_parameters[:fq] ||= []
  solr_parameters[:fq] += [
    ActiveFedora::SolrQueryBuilder.construct_query_for_rel(depositor: scope.current_user.user_key)
  ]
end

#show_only_shared_files(solr_parameters) ⇒ Object



27
28
29
30
31
32
# File 'app/search_builders/sufia/search_builder.rb', line 27

def show_only_shared_files(solr_parameters)
  solr_parameters[:fq] ||= []
  solr_parameters[:fq] += [
    "-" + ActiveFedora::SolrQueryBuilder.construct_query_for_rel(depositor: scope.current_user.user_key)
  ]
end