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