class Solr::Indexing::Request

Constants

PATH

Attributes

documents[R]

Public Class Methods

new(documents = []) click to toggle source
# File lib/solr/indexing/request.rb, line 8
def initialize(documents = [])
  @documents = documents
end

Public Instance Methods

run(commit: false, runner_options: nil) click to toggle source
# File lib/solr/indexing/request.rb, line 12
def run(commit: false, runner_options: nil)
  http_request = build_http_request(commit)
  options = default_runner_options.merge(runner_options || {})
  Solr::Request::Runner.call(request: http_request, **options)
end

Private Instance Methods

build_http_request(commit) click to toggle source
# File lib/solr/indexing/request.rb, line 30
def build_http_request(commit)
  Solr::Request::HttpRequest.new(path: PATH, body: documents, url_params: { commit: commit }, method: :post)
end
default_runner_options() click to toggle source
# File lib/solr/indexing/request.rb, line 20
def default_runner_options
  if Solr.cloud_enabled?
    { node_selection_strategy: Solr::Request::Cloud::LeaderNodeSelectionStrategy }
  elsif Solr.master_slave_enabled?
    { node_selection_strategy: Solr::Request::MasterSlave::MasterNodeSelectionStrategy }
  else
    {}
  end
end