class RSolr::JSON::Generator
Constants
- CONTENT_TYPE
Public Instance Methods
add(data, add_attrs = {}) { |doc| ... }
click to toggle source
# File lib/rsolr/json.rb, line 11 def add data, add_attrs = {} add_attrs ||= {} data = RSolr::Array.wrap(data) if add_attrs.empty? && data.none? { |doc| doc.is_a?(RSolr::Document) && !doc.attrs.empty? } data.map do |doc| doc = RSolr::Document.new(doc) if doc.respond_to?(:each_pair) yield doc if block_given? doc.as_json end.to_json else i = 0 data.each_with_object({}) do |doc, hash| doc = RSolr::Document.new(doc) if doc.respond_to?(:each_pair) yield doc if block_given? hash["add__UNIQUE_RSOLR_SUFFIX_#{i += 1}"] = add_attrs.merge(doc.attrs).merge(doc: doc.as_json) end.to_json.gsub(/__UNIQUE_RSOLR_SUFFIX_\d+/, '') end end
commit(opts = {})
click to toggle source
generates a commit message
# File lib/rsolr/json.rb, line 32 def commit(opts = {}) opts ||= {} { commit: opts }.to_json end
content_type()
click to toggle source
# File lib/rsolr/json.rb, line 7 def content_type CONTENT_TYPE end
delete_by_id(ids)
click to toggle source
generates a delete message “ids” can be a single value or array of values
# File lib/rsolr/json.rb, line 50 def delete_by_id(ids) { delete: ids }.to_json end
delete_by_query(queries)
click to toggle source
generates a delete message “queries” can be a single value or an array of values
# File lib/rsolr/json.rb, line 56 def delete_by_query(queries) { delete: { query: queries } }.to_json end
optimize(opts = {})
click to toggle source
generates a optimize message
# File lib/rsolr/json.rb, line 38 def optimize(opts = {}) opts ||= {} { optimize: opts }.to_json end
rollback()
click to toggle source
generates a rollback message
# File lib/rsolr/json.rb, line 44 def rollback { rollback: {} }.to_json end