module AnnotationSearch def annotation_search(search_params) fulltext_fields = %i[phil_rep].freeze search = ::Annotation.search do fulltext search_params[:q], fields: fulltext_fields if search_params[:q].present? %i[doctrine_id document_id].each do |field| with field, search_params[field] if search_params[field].present? end order_by :library_rank, :asc order_by :search_year, :desc order_by :search_doc_date, :desc paginate page: search_params[:page] || 1, per_page: search_params[:per_page] || 20 end search end end