Class: Solr::DataImport::Request
- Inherits:
-
Object
- Object
- Solr::DataImport::Request
- Defined in:
- lib/solr/data_import/request.rb
Constant Summary collapse
- PATH =
'/dataimport'.freeze
Instance Attribute Summary collapse
-
#params ⇒ Object
readonly
Returns the value of attribute params.
Instance Method Summary collapse
- #build_node_selection_strategy ⇒ Object
-
#initialize(params) ⇒ Request
constructor
A new instance of Request.
-
#run ⇒ Object
We want to make sure we send every dataimport request to the same node because this same class could be used to start a dataimport and to get dataimport progress data afterwards.
Constructor Details
#initialize(params) ⇒ Request
Returns a new instance of Request.
10 11 12 |
# File 'lib/solr/data_import/request.rb', line 10 def initialize(params) @params = params end |
Instance Attribute Details
#params ⇒ Object (readonly)
Returns the value of attribute params.
8 9 10 |
# File 'lib/solr/data_import/request.rb', line 8 def params @params end |
Instance Method Details
#build_node_selection_strategy ⇒ Object
22 23 24 |
# File 'lib/solr/data_import/request.rb', line 22 def build_node_selection_strategy Solr::Request::FirstShardLeaderNodeSelectionStrategy end |
#run ⇒ Object
We want to make sure we send every dataimport request to the same node because this same class could be used to start a dataimport and to get dataimport progress data afterwards. To make it consistent we will send dataimport requests only to the first shard leader replica
17 18 19 20 |
# File 'lib/solr/data_import/request.rb', line 17 def run http_request = Solr::Request::HttpRequest.new(path: PATH, url_params: params, method: :get) Solr::Request::Runner.call(request: http_request, node_selection_strategy: build_node_selection_strategy) end |