class Groonga::Command::Format::Elasticsearch
Public Class Methods
new(command)
click to toggle source
# File lib/groonga/command/format/elasticsearch.rb, line 21 def initialize(command) @command = command end
Public Instance Methods
json(options={})
click to toggle source
# File lib/groonga/command/format/elasticsearch.rb, line 25 def json(options={}) return nil unless @command.is_a?(Load) components = [] action = build_action(options) each_source do |source| components << JSON.generate(action) components << JSON.generate(source) end components.join("\n") end
Private Instance Methods
build_action(options)
click to toggle source
# File lib/groonga/command/format/elasticsearch.rb, line 42 def build_action(options) index_name = @command.table.downcase case elasticsearch_version(options) when 5, 6 { "index" => { "_index" => index_name, "_type" => "groonga", } } when 7 { "index" => { "_index" => index_name, "_type"=>"_doc", } } else { "index" => { "_index" => index_name, } } end end
each_source() { |Hash| ... }
click to toggle source
# File lib/groonga/command/format/elasticsearch.rb, line 68 def each_source columns = @command.columns values = @command.values || [] values.each do |value| if value.is_a?(::Array) if columns.nil? columns = value else yield(Hash[columns.zip(value)]) end else yield(value) end end end
elasticsearch_version(options)
click to toggle source
# File lib/groonga/command/format/elasticsearch.rb, line 38 def elasticsearch_version(options) options[:version] || 5 end