Created
March 7, 2017 20:49
-
-
Save yulgit1/87887e813eeacc025c86b39afe03b074 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Gemfile | |
+gem 'blacklight_advanced_search' | |
app/assets/javascripts/application.js | |
+//= require 'blacklight_advanced_search' | |
app/controllers/catalog_controller.rb | |
+ include BlacklightAdvancedSearch::Controller | |
+ | |
+=begin | |
+ configure_blacklight do |config| | |
+ config.advanced_search ||= Blacklight::OpenStructWithHashAccess.new | |
+ config.advanced_search[:qt] ||= 'advanced' | |
+ config.advanced_search[:url_key] ||= 'advanced' | |
+ config.advanced_search[:query_parser] ||= 'dismax' | |
+ config.advanced_search[:form_solr_parameters] ||= {} | |
+ config.advanced_search[:form_solr_parameters]['facet.field'] ||= %w(format language_facet advanced_location_s) | |
+ config.advanced_search[:form_solr_parameters]['facet.query'] ||= '' | |
+ config.advanced_search[:form_solr_parameters]['facet.limit'] ||= -1 | |
+ config.advanced_search[:form_solr_parameters]['facet.pivot'] ||= '' | |
+ config.advanced_search[:form_solr_parameters]['f.language_facet.facet.limit'] ||= -1 | |
+ config.advanced_search[:form_solr_parameters]['f.language_facet.facet.sort'] ||= 'index' | |
+ end | |
+=end | |
app/controllers/search_history_controller.rb | |
+ helper BlacklightAdvancedSearch::RenderConstraintsOverride | |
app/models/search_builder.rb | |
+ include BlacklightAdvancedSearch::AdvancedSearchBuilder | |
... | |
+ self.default_processor_chain += [:add_advanced_parse_q_to_solr, :add_advanced_search_to_solr] | |
... | |
+ # A Solr param filter that is NOT included by default in the chain, | |
+ # but is appended by AdvancedController#index, to do a search | |
+ # for facets _ignoring_ the current query, we want the facets | |
+ # as if the current query weren't there. | |
+ # | |
+ # Also adds any solr params set in blacklight_config.advanced_search[:form_solr_parameters] | |
+ def facets_for_advanced_search_form(solr_p) | |
+ # ensure empty query is all records, to fetch available facets on entire corpus | |
+ solr_p["q"] = '{!lucene}*:*' | |
+ | |
+ # We only care about facets, we don't need any rows. | |
+ solr_p["rows"] = "0" | |
+ | |
+ # Anything set in config as a literal | |
+ if blacklight_config.advanced_search[:form_solr_parameters] | |
+ solr_p.merge!(blacklight_config.advanced_search[:form_solr_parameters]) | |
+ end | |
+ end | |
+ | |
+ #def blacklight_config(source = @active_source) | |
+ # @blacklight_configs ||= {} | |
+ # @blacklight_configs[source] || (@blacklight_configs[source] = Spectrum::SearchEngines::Solr.generate_config(source)) | |
+ #end | |
+ | |
+ def blacklight_config(source = @active_source) | |
+ Spectrum::SearchEngines::Solr.generate_config(source) | |
+ end | |
app/models/spectrum/search_engines/solr.rb | |
+ def self.advanced_catalog_config(config) | |
+ # default advanced config values | |
+ config.advanced_search ||= Blacklight::OpenStructWithHashAccess.new | |
+ config.advanced_search[:qt] ||= 'advanced' | |
+ config.advanced_search[:url_key] ||= 'advanced' | |
+ config.advanced_search[:query_parser] ||= 'dismax' | |
+ config.advanced_search[:form_solr_parameters] ||= {} | |
+ #config.advanced_search[:form_solr_parameters]['facet.field'] ||= %w(format language_facet advanced_location_s) | |
+ #config.advanced_search[:form_solr_parameters]['facet.query'] ||= '' | |
+ #config.advanced_search[:form_solr_parameters]['facet.limit'] ||= -1 | |
+ #config.advanced_search[:form_solr_parameters]['facet.pivot'] ||= '' | |
+ #config.advanced_search[:form_solr_parameters]['f.language_facet.facet.limit'] ||= -1 | |
+ #config.advanced_search[:form_solr_parameters]['f.language_facet.facet.sort'] ||= 'index' | |
+ | |
+ end | |
+ | |
... | |
+ advanced_catalog_config(config) | |
config/routes.rb | |
+ #get 'catalog/advanced', to: 'catalog#index', as: :catalog_advanced, defaults: { q: '', show_advanced: 'true' } | |
+ | |
+ mount BlacklightAdvancedSearch::Engine => '/' | |
app/controllers/blacklight_advanced_search/advanced_controller.rb | |
<override> | |
app/controllers/saved_searches_controller.rb | |
<added> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment