Last active
March 9, 2017 16:45
-
-
Save yulgit1/417342e8181767cda3c14169690524a6 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
sysops-MacBook-Pro-3% more search_builder.rb | |
# frozen_string_literal: true | |
class SearchBuilder < Blacklight::SearchBuilder | |
include Blacklight::Solr::SearchBuilderBehavior | |
include BlacklightAdvancedSearch::AdvancedSearchBuilder | |
self.default_processor_chain += [:add_advanced_parse_q_to_solr, :add_advanced_search_to_solr] | |
## | |
# @example Adding a new step to the processor chain | |
# self.default_processor_chain += [:add_custom_data_to_query] | |
# | |
# def add_custom_data_to_query(solr_parameters) | |
# solr_parameters[:custom] = blacklight_params[:user_value] | |
# end | |
def add_advanced_search_to_solr(solr_parameters) | |
Rails.logger.debug "BEFORESP: #{solr_parameters.inspect}" | |
Rails.logger.debug "BEFOREBP: #{blacklight_params.inspect}" | |
#blacklight_params[:all_fields] = "baseball basketball football" | |
Rails.logger.debug "AFTER_BP: #{blacklight_params.inspect}" | |
#Rails.logger.debug "BEFOREBC: #{self.blacklight_config.inspect}" | |
if is_advanced_search? | |
advanced_query = BlacklightAdvancedSearch::QueryParser.new(blacklight_params, self.blacklight_config) | |
BlacklightAdvancedSearch.deep_merge!(solr_parameters, advanced_query.to_solr) | |
unless advanced_query.keyword_queries.empty? | |
Rails.logger.debug "AFTER: #{solr_parameters.inspect}" | |
solr_parameters[:qt] = self.blacklight_config.advanced_search[:qt] | |
solr_parameters[:defType] = "lucene" | |
end | |
end | |
end | |
end | |
BEFORESP: {"facet.field"=>["format", "subject_topic_facet", "language_facet", "lc_1letter_facet", "subject_geo_facet", "subject_era_facet"], "facet.query"=>[], "facet.pivot"=>["format,language_facet"], "fq"=>[], "hl.fl"=>[], "rows"=>10, "facet"=>true, "f.subject_topic_facet.facet.limit"=>21, "f.language_facet.facet.limit"=>11, "sort"=>"author_sort asc, title_sort asc"} | |
BEFOREBP: <ActionController::Parameters {"utf8"=>"✓", "op"=>"OR", "all_fields"=>"baseball basketball", "title"=>"Kareem Abdul Jabbar", "author"=>"", "subject"=>"", "f_inclusive"=>{"format"=>["Books"], "subject_topic_facet"=>["History"]}, "sort"=>"author_sort asc, title_sort asc", "search_field"=>"advanced", "commit"=>"Search", "controller"=>"catalog", "action"=>"index"} permitted: false> | |
AFTER: {"facet.field"=>["format", "subject_topic_facet", "language_facet", "lc_1letter_facet", "subject_geo_facet", "subject_era_facet"], "facet.query"=>[], "facet.pivot"=>["format,language_facet"], "fq"=>["format:(\"Books\")", "subject_topic_facet:(\"History\")"], "hl.fl"=>[], "rows"=>10, "facet"=>true, "f.subject_topic_facet.facet.limit"=>21, "f.language_facet.facet.limit"=>11, "sort"=>"author_sort asc, title_sort asc", "q"=>"_query_:\"{!dismax }baseball basketball\" OR _query_:\"{!dismax spellcheck.dictionary=title qf=$title_qf pf=$title_pf}Kareem Abdul Jabbar\""} | |
Solr query: get select {"qt"=>nil, "facet.field"=>["format", "subject_topic_facet", "language_facet", "lc_1letter_facet", "subject_geo_facet", "subject_era_facet"], "facet.query"=>[], "facet.pivot"=>["format,language_facet"], "fq"=>["format:(\"Books\")", "subject_topic_facet:(\"History\")"], "hl.fl"=>[], "rows"=>10, "facet"=>true, "f.subject_topic_facet.facet.limit"=>21, "f.language_facet.facet.limit"=>11, "sort"=>"author_sort asc, title_sort asc", "q"=>"_query_:\"{!dismax }baseball basketball\" OR _query_:\"{!dismax spellcheck.dictionary=title qf=$title_qf pf=$title_pf}Kareem Abdul Jabbar\"", "defType"=>"lucene"} | |
full vanilla query: | |
BEFORESP: | |
{"facet.field"=>["format", "subject_topic_facet", "language_facet", "lc_1letter_facet", "subject_geo_facet", "subject_era_facet"], | |
"facet.query"=>[], | |
"facet.pivot"=>["format,language_facet"], | |
"fq"=>[], | |
"hl.fl"=>[], | |
"rows"=>10, | |
"facet"=>true, | |
"f.subject_topic_facet.facet.limit"=>21, | |
"f.language_facet.facet.limit"=>11, | |
"sort"=>"author_sort asc, title_sort asc"} | |
BEFOREBP: | |
<ActionController::Parameters | |
{"utf8"=>"✓", | |
"op"=>"OR", | |
"all_fields"=>"baseball basketball", | |
"title"=>"sports", | |
"author"=>"Karee Abdul Jabbar", | |
"subject"=>"biography", | |
"f_inclusive"=>{"format"=>["Books"], "subject_topic_facet"=>["History"]}, | |
"sort"=>"author_sort asc, | |
title_sort asc", | |
"search_field"=>"advanced", | |
"commit"=>"Search", | |
"controller"=>"catalog", | |
"action"=>"index"} permitted: false> | |
AFTER: | |
{"facet.field"=>["format", "subject_topic_facet", "language_facet", "lc_1letter_facet", "subject_geo_facet", "subject_era_facet"], | |
"facet.query"=>[], | |
"facet.pivot"=>["format,language_facet"], | |
"fq"=>["format:(\"Books\")", "subject_topic_facet:(\"History\")"], | |
"hl.fl"=>[], | |
"rows"=>10, | |
"facet"=>true, | |
"f.subject_topic_facet.facet.limit"=>21, | |
"f.language_facet.facet.limit"=>11, | |
"sort"=>"author_sort asc, title_sort asc", | |
"q"=>"_query_:\"{!dismax }baseball basketball\" OR _query_:\"{!dismax spellcheck.dictionary=title qf=$title_qf pf=$title_pf}sports\" OR _query_:\"{!dismax spellcheck.dictionary=author qf=$author_qf pf=$author_pf}Karee Abdul Jabbar\" OR _query_:\"{!dismax spellcheck.dictionary=subject qf=$subject_qf pf=$subject_pf}biography\""} | |
Solr query: | |
get select | |
{"qt"=>nil, | |
"facet.field"=>["format", "subject_topic_facet", "language_facet", "lc_1letter_facet", "subject_geo_facet", "subject_era_facet"], | |
"facet.query"=>[], | |
"facet.pivot"=>["format,language_facet"], | |
"fq"=>["format:(\"Books\")", "subject_topic_facet:(\"History\")"], | |
"hl.fl"=>[], | |
"rows"=>10, | |
"facet"=>true, | |
"f.subject_topic_facet.facet.limit"=>21, | |
"f.language_facet.facet.limit"=>11, | |
"sort"=>"author_sort asc, title_sort asc", | |
"q"=>"_query_:\"{!dismax }baseball basketball\" OR _query_:\"{!dismax spellcheck.dictionary=title qf=$title_qf pf=$title_pf}sports\" OR _query_:\"{!dismax spellcheck.dictionary=author qf=$author_qf pf=$author_pf}Karee Abdul Jabbar\" OR _query_:\"{!dismax spellcheck.dictionary=subject qf=$subject_qf pf=$subject_pf}biography\"", | |
"defType"=>"lucene"} | |
facets: | |
Previous | 1 - 10 of 74,961 | |
wo facets: | |
Previous | 1 - 10 of 326,702 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment