Class: Blacklight::SearchState::PivotFilterField::QueryBuilder

Inherits:
Blacklight::Solr::AbstractFilterQueryBuilder show all
Defined in:
lib/blacklight/search_state/pivot_filter_field.rb

Instance Attribute Summary

Attributes inherited from Blacklight::Solr::AbstractFilterQueryBuilder

#blacklight_config

Instance Method Summary collapse

Methods inherited from Blacklight::Solr::AbstractFilterQueryBuilder

#initialize

Constructor Details

This class inherits a constructor from Blacklight::Solr::AbstractFilterQueryBuilder

Instance Method Details

#call(filter, solr_parameters) ⇒ Array

Returns filter_query, subqueries.

Returns:

  • (Array)

    filter_query, subqueries



94
95
96
97
98
99
100
101
102
103
104
105
106
# File 'lib/blacklight/search_state/pivot_filter_field.rb', line 94

def call(filter, solr_parameters)
  existing = solr_parameters['fq']&.dup || []
  queries = []
  filter.values.compact_blank.each do |value|
    queries << facet_value_to_fq_string(filter.pivot.first, value.value)
    value.fq.each do |entry|
      k, v = entry
      queries << facet_value_to_fq_string(k, v) if v
    end
    queries.uniq!
  end
  [queries - existing]
end