class AliyunOpenSearch::Scan
Attributes
custom_params[R]
request_id[R]
result[R]
scroll_id[R]
Public Class Methods
new(index_names, options = {})
click to toggle source
Calls superclass method
AliyunOpenSearch::Base::new
# File lib/aliyun_open_search/scan.rb, line 5 def initialize(index_names, options = {}) super() @index_names = index_names.is_a?(Array) ? index_names.join(";") : index_names @scroll = options[:scroll] || "1m" @custom_params = { query: [ options[:query] || "query=''", "config=hit:#{options[:hit] || 500},format:#{options[:format] || "json"}" ] } setup end
Public Instance Methods
execute()
click to toggle source
# File lib/aliyun_open_search/scan.rb, line 35 def execute params = Base.new.basic_params.merge( Base.format_params( custom_params.merge( "index_name" => @index_names, "scroll" => @scroll, "scroll_id" => @scroll_id ) ) ) send_request(params) end
setup()
click to toggle source
# File lib/aliyun_open_search/scan.rb, line 21 def setup params = basic_params.merge( Base.format_params( custom_params.merge( "index_name" => @index_names, "scroll" => @scroll, "search_type" => "scan" ) ) ) send_request(params) end
Private Instance Methods
send_request(params)
click to toggle source
# File lib/aliyun_open_search/scan.rb, line 51 def send_request(params) @result = Net::HTTP.get(uri(params.merge("Signature" => Search.signature(params)))) # 为了保持与其他方法返回值一致 result = JSON.parse(@result) @request_id = result["request_id"] @scroll_id = result["result"]["scroll_id"] self end