Skip to content

Commit

Permalink
Removed support for multi_query in searches.
Browse files Browse the repository at this point in the history
  • Loading branch information
pschijven committed Sep 22, 2023
1 parent 3e294f4 commit 77b2fad
Show file tree
Hide file tree
Showing 3 changed files with 1 addition and 40 deletions.
20 changes: 1 addition & 19 deletions app/controllers/search_results_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -108,25 +108,7 @@ def index
end
klass = klass.constantize

query_size = params[:query].split(/\r\n/).size

if klass.forces_multi_query? || (klass.supports_multi_query? && query_size > 1)
@multi_query = true
@results = klass.multi_query(params.merge({ languages: languages.flatten }))
# TODO: Add a worst case limit here; e.g. when on page 2 (per_page == 50)
# each sub-query has to return 100 objects at most.
@klass = klass
else
@multi_query = false
@results = klass.single_query(params.merge({ languages: languages.flatten }))
end

if @multi_query
@results = Kaminari.paginate_array(@results)
logger.debug('Using multi query mode')
else
logger.debug('Using single query mode')
end
@results = klass.single_query(params.merge({ languages: languages.flatten }))

if params[:limit] && Iqvoc.unlimited_search_results
@results = @results.per(params[:limit].to_i)
Expand Down
17 changes: 0 additions & 17 deletions app/models/concerns/search_extension.rb
Original file line number Diff line number Diff line change
Expand Up @@ -22,27 +22,10 @@ def build_search_result_rdf(document, result)
end

module ClassMethods
def multi_query(params = {})
query_terms = params[:query].split(/\r\n/)
results = []
query_terms.each do |term|
results << { query: term, result: single_query(params.merge({ query: term })) }
end
results
end

def single_query(params = {})
raise NotImplementedError.new("Implement self.single_query in your specific class (#{self.name}) that should be searchable!")
end

def supports_multi_query?
false
end

def forces_multi_query?
false
end

def build_query_string(params = {})
query_str = params[:query].strip
query_str = "%#{query_str}" if ['contains', 'ends_with'].include?(params[:query_type].to_s)
Expand Down
4 changes: 0 additions & 4 deletions app/views/search_results/sections/_terms.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,7 @@
<%= label_tag 'q', t('txt.views.search_results.search_term'), :class => 'col-sm-2 col-form-label' %>
<div class="col-sm-6">
<div class="input-group">
<% if Iqvoc.searchable_class_names.key(params[:t]).constantize.supports_multi_query? %>
<%= text_area_tag :q, params[:query], :class => 'form-control', autofocus: true %>
<% else %>
<%= text_field_tag :q, params[:query], :class => 'form-control', autofocus: true, autocomplete: 'off' %>
<% end %>
</div>
</div>
</div>

0 comments on commit 77b2fad

Please sign in to comment.