class Solr::Query::Request
Attributes
boosting[RW]
debug_mode[RW]
facets[RW]
field_list[RW]
filters[RW]
grouping[W]
limit_docs_by_field[RW]
phrase_slop[RW]
query_fields[RW]
query_operator[RW]
search_term[R]
sorting[W]
spellcheck[RW]
Public Class Methods
new(search_term:, query_fields: [], field_list: Solr::Query::Request::FieldList.new, filters: [])
click to toggle source
# File lib/solr/query/request.rb, line 26 def initialize(search_term:, query_fields: [], field_list: Solr::Query::Request::FieldList.new, filters: []) @search_term = search_term @query_fields = query_fields @field_list = field_list @filters = filters end
Public Instance Methods
grouping()
click to toggle source
# File lib/solr/query/request.rb, line 40 def grouping @grouping ||= Solr::Query::Request::Grouping.none end
run(page: nil, start: nil, rows: nil, page_size: nil, runner_options: {})
click to toggle source
# File lib/solr/query/request.rb, line 33 def run(page: nil, start: nil, rows: nil, page_size: nil, runner_options: {}) rows ||= page_size return run_paged(page: page, page_size: rows, runner_options: runner_options) if page && rows return run_start(start: start, rows: rows, runner_options: runner_options) if start && rows raise ArgumentError, 'You must specify either page/rows or start/rows arguments' end
sorting()
click to toggle source
# File lib/solr/query/request.rb, line 44 def sorting @sorting ||= Solr::Query::Request::Sorting.none end
to_h()
click to toggle source
# File lib/solr/query/request.rb, line 48 def to_h Solr::Query::Request::EdismaxAdapter.new(self).to_h end
Private Instance Methods
run_paged(page: 1, page_size: 10, runner_options:)
click to toggle source
# File lib/solr/query/request.rb, line 54 def run_paged(page: 1, page_size: 10, runner_options:) start_page = page.to_i - 1 start_page = start_page < 1 ? 0 : start_page start = start_page * page_size Solr::Query::Handler.call(query: self, start: start, rows: page_size, runner_options: runner_options) end
run_start(rows: 10, start: 0, runner_options:)
click to toggle source
# File lib/solr/query/request.rb, line 62 def run_start(rows: 10, start: 0, runner_options:) Solr::Query::Handler.call(query: self, start: start, rows: rows, runner_options: runner_options) end