class Solr4R::Client
Constants
- DEFAULT_ANALYZE_DOCUMENT_PATH
- DEFAULT_ANALYZE_FIELD_PATH
- DEFAULT_BATCH_SIZE
- DEFAULT_CORE
- DEFAULT_CORES_PATH
- DEFAULT_FIELDS_PATH
- DEFAULT_HOST
- DEFAULT_MLT_PATH
- DEFAULT_PARAMS
- DEFAULT_PATH
- DEFAULT_PING_PATH
- DEFAULT_PORT
- DEFAULT_SELECT_PATH
- DEFAULT_SPELL_PATH
- DEFAULT_SYSTEM_PATH
- DEFAULT_UPDATE_PATH
- DEFAULT_UPDATE_TYPE
- DEFAULT_URI
- MATCH_ALL_QUERY
- MLT_DEFAULT_FL
- MLT_DEFAULT_ROWS
- MLT_LOCAL_PARAMS
Attributes
builder[RW]
default_params[RW]
endpoints[RW]
ep[RW]
options[RW]
request[RW]
Public Class Methods
default_uri(options = {})
click to toggle source
# File lib/solr4r/client.rb 51 def default_uri(options = {}) 52 DEFAULT_URI % [ 53 options.fetch(:host, DEFAULT_HOST), 54 options.fetch(:port, DEFAULT_PORT), 55 options.fetch(:path, DEFAULT_PATH), 56 options.fetch(:collection) { 57 options.fetch(:core, DEFAULT_CORE) } 58 ] 59 end
new(options = {})
click to toggle source
# File lib/solr4r/client.rb 63 def initialize(options = {}) 64 uri, options = options, {} unless options.is_a?(Hash) 65 66 self.options, self.default_params = 67 options, options.fetch(:default_params, DEFAULT_PARAMS) 68 69 self.logger = options.fetch(:logger) { default_logger } 70 71 self.builder = options.fetch(:builder) { forward_logger( 72 Builder.new(self)) } 73 74 self.request = options.fetch(:request) { forward_logger( 75 Request.new(self, uri || options.fetch(:uri) { default_uri })) } 76 77 self.endpoints = forward_logger( 78 Endpoints.new(self)) 79 end
Public Instance Methods
get(path, params = {}, options = {}, &block)
click to toggle source
# File lib/solr4r/client.rb 95 def get(path, 96 params = {}, options = {}, &block) 97 98 send_request(path, options.merge( 99 method: :get, params: params), &block) 100 end
head(path, params = {}, options = {}, &block)
click to toggle source
# File lib/solr4r/client.rb 109 def head(path, 110 params = {}, options = {}, &block) 111 112 send_request(path, options.merge( 113 method: :head, params: params), &block) 114 end
inspect()
click to toggle source
# File lib/solr4r/client.rb 116 def inspect 117 '#<%s:0x%x @default_params=%p %s>' % [ 118 self.class, object_id, default_params, request_line 119 ] 120 end
json(path, params = {}, options = {}, &block)
click to toggle source
# File lib/solr4r/client.rb 89 def json(path, 90 params = {}, options = {}, &block) 91 92 get(path, params.merge(wt: :json), options, &block).result 93 end
post(path, data = nil, params = {}, options = {}, &block)
click to toggle source
# File lib/solr4r/client.rb 102 def post(path, data = nil, 103 params = {}, options = {}, &block) 104 105 send_request(path, options.merge( 106 method: :post, params: params, data: data), &block) 107 end
Private Instance Methods
amend_options_hash(options, key, value)
click to toggle source
# File lib/solr4r/client.rb 133 def amend_options_hash(options, key, value) 134 options.merge(key => value.merge(options.fetch(key, {}))) 135 end
default_uri()
click to toggle source
# File lib/solr4r/client.rb 124 def default_uri 125 self.class.default_uri(options) 126 end
send_request(path, options, &block)
click to toggle source
# File lib/solr4r/client.rb 128 def send_request(path, options, &block) 129 execute(path, amend_options_hash( 130 options, :params, default_params), &block) 131 end