20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
# File 'lib/blacklight/solr/facet_search_builder_behavior.rb', line 20
def add_facet_paging_to_solr(solr_params)
return if facet.blank?
facet_config = blacklight_config.facet_fields[facet]
solr_params[:rows] = 0
limit = if solr_params["facet.limit"]
solr_params["facet.limit"].to_i
else
facet_config.fetch(:more_limit, blacklight_config.default_more_limit)
end
page = search_state.facet_page
sort = search_state.facet_sort
prefix = search_state.facet_prefix
offset = (page - 1) * limit
if facet_config.json
add_solr_facet_json_params(solr_parameters, facet, facet_config, limit: limit + 1, offset: offset, sort: sort, prefix: prefix)
return
end
facet_ex = facet_config.respond_to?(:ex) ? facet_config.ex : nil
solr_params[:'facet.field'] = with_ex_local_param(facet_ex, facet_config.field)
solr_params[:"f.#{facet_config.field}.facet.limit"] = limit + 1
solr_params[:"f.#{facet_config.field}.facet.offset"] = offset
solr_params[:"f.#{facet_config.field}.facet.sort"] = sort if sort
solr_params[:"f.#{facet_config.field}.facet.prefix"] = prefix if prefix
end
|