Class: BlacklightAdvancedSearch::QueryParser
- Inherits:
-
Object
- Object
- BlacklightAdvancedSearch::QueryParser
- Defined in:
- lib/generators/newspaper_works/templates/config/initializers/patch_blacklight_advanced_search.rb
Instance Method Summary collapse
-
#add_date_range_to_queries(params) ⇒ Object
format date input for Solr.
-
#process_query(params, config) ⇒ Object
override to add date range to query.
Instance Method Details
#add_date_range_to_queries(params) ⇒ Object
format date input for Solr
24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/generators/newspaper_works/templates/config/initializers/patch_blacklight_advanced_search.rb', line 24 def add_date_range_to_queries(params) range_start = if params[:date_start].blank? || params[:date_start].match(/[\D]+/) '*' else params[:date_start] + '-01-01T00:00:00.000Z' end range_end = if params[:date_end].blank? || params[:date_end].match(/[\D]+/) '*' else params[:date_end] + '-12-31T23:59:59.999Z' end '(publication_date_dtsi:[' + range_start + ' TO ' + range_end + '])' end |
#process_query(params, config) ⇒ Object
override to add date range to query
8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/generators/newspaper_works/templates/config/initializers/patch_blacklight_advanced_search.rb', line 8 def process_query(params, config) queries = keyword_queries.map do |field, query| ParsingNesting::Tree.parse(query, config.advanced_search[:query_parser]).to_query(local_param_hash(field, config)) end queries.join(" #{keyword_op} ") return queries if params[:date_start].blank? && params[:date_end].blank? if queries.blank? add_date_range_to_queries(params) else [queries, add_date_range_to_queries(params)].join(' AND ') end end |