Module: Solr

Extended by:
Cloud::HelperMethods, Commands
Defined in:
lib/solr/query/request/boosting/geodist_function.rb,
lib/solr.rb,
lib/solr/testing.rb,
lib/solr/version.rb,
lib/solr/commands.rb,
lib/solr/document.rb,
lib/solr/response.rb,
lib/solr/connection.rb,
lib/solr/configuration.rb,
lib/solr/query/handler.rb,
lib/solr/query/request.rb,
lib/solr/commit/request.rb,
lib/solr/delete/request.rb,
lib/solr/query/response.rb,
lib/solr/request/runner.rb,
lib/solr/response/header.rb,
lib/solr/response/parser.rb,
lib/solr/indexing/request.rb,
lib/solr/indexing/document.rb,
lib/solr/support/url_helper.rb,
lib/solr/cloud/configuration.rb,
lib/solr/data_import/request.rb,
lib/solr/document_collection.rb,
lib/solr/query/request/facet.rb,
lib/solr/response/solr_error.rb,
lib/solr/cloud/helper_methods.rb,
lib/solr/query/request/filter.rb,
lib/solr/request/http_request.rb,
lib/solr/response/http_status.rb,
lib/solr/query/request/sorting.rb,
lib/solr/query/response/parser.rb,
lib/solr/support/schema_helper.rb,
lib/solr/query/request/boosting.rb,
lib/solr/query/request/grouping.rb,
lib/solr/errors/solr_query_error.rb,
lib/solr/query/request/or_filter.rb,
lib/solr/support/hash_extensions.rb,
lib/solr/core_configuration/field.rb,
lib/solr/query/request/and_filter.rb,
lib/solr/query/request/field_list.rb,
lib/solr/query/request/geo_filter.rb,
lib/solr/query/request/spellcheck.rb,
lib/solr/errors/zookeeper_required.rb,
lib/solr/query/response/spellcheck.rb,
lib/solr/support/connection_helper.rb,
lib/solr/support/string_extensions.rb,
lib/solr/cloud/zookeeper_connection.rb,
lib/solr/query/http_request_builder.rb,
lib/solr/query/response/facet_value.rb,
lib/solr/errors/ambiguous_core_error.rb,
lib/solr/grouped_document_collection.rb,
lib/solr/query/request/sorting/field.rb,
lib/solr/query/response/field_facets.rb,
lib/solr/query/request/boost_magnitude.rb,
lib/solr/query/request/edismax_adapter.rb,
lib/solr/core_configuration/core_config.rb,
lib/solr/query/request/field_with_boost.rb,
lib/solr/query/request/sorting/function.rb,
lib/solr/cloud/collections_state_manager.rb,
lib/solr/request/node_selection_strategy.rb,
lib/solr/core_configuration/dynamic_field.rb,
lib/solr/errors/no_active_solr_nodes_error.rb,
lib/solr/errors/solr_url_not_defined_error.rb,
lib/solr/errors/solr_connection_failed_error.rb,
lib/solr/core_configuration/core_config_builder.rb,
lib/solr/request/leader_node_selection_strategy.rb,
lib/solr/request/default_node_selection_strategy.rb,
lib/solr/query/request/boosting/ln_function_boost.rb,
lib/solr/errors/could_not_infer_implicit_core_name.rb,
lib/solr/query/request/boosting/scale_function_boost.rb,
lib/solr/query/request/boosting/exists_boost_function.rb,
lib/solr/query/request/boosting/phrase_proximity_boost.rb,
lib/solr/query/request/boosting/dictionary_boost_function.rb,
lib/solr/request/first_shard_leader_node_selection_strategy.rb,
lib/solr/query/request/boosting/ranking_field_boost_function.rb,
lib/solr/query/request/boosting/field_value_match_boost_function.rb,
lib/solr/query/request/boosting/recent_field_value_boost_function.rb,
lib/solr/query/request/boosting/field_value_less_than_boost_function.rb,
lib/solr/query/request/boosting/numeric_field_value_match_boost_function.rb,
lib/solr/query/request/boosting/textual_field_value_match_boost_function.rb

Overview

Defined Under Namespace

Modules: Cloud, Commands, Commit, CoreConfiguration, DataImport, Delete, Errors, Indexing, Query, Request, Support, Testing Classes: Configuration, Connection, Document, DocumentCollection, GroupedDocumentCollection, Response

Constant Summary collapse

CURRENT_CORE_CONFIG_VARIABLE_NAME =
:solrb_current_core_config
VERSION =
'0.2.4'.freeze

Class Attribute Summary collapse

Class Method Summary collapse

Methods included from Cloud::HelperMethods

active_nodes_for, cloud_enabled?, enable_solr_cloud!, leader_replica_node_for, shards_for

Methods included from Commands

commit, data_import, delete_by_id, delete_by_query

Class Attribute Details

.configurationObject

Returns the value of attribute configuration.



28
29
30
# File 'lib/solr.rb', line 28

def configuration
  @configuration
end

Class Method Details

.configure {|configuration| ... } ⇒ Object

Yields:



32
33
34
35
36
37
# File 'lib/solr.rb', line 32

def configure
  yield configuration
  configuration.validate!
  enable_solr_cloud! unless configuration.zookeeper_url.nil?
  configuration
end

.current_core_configObject



39
40
41
# File 'lib/solr.rb', line 39

def current_core_config
  Thread.current[CURRENT_CORE_CONFIG_VARIABLE_NAME] || Solr.configuration.default_core_config
end

.instrument(name:, data: {}) ⇒ Object



56
57
58
59
60
61
62
63
64
65
66
# File 'lib/solr.rb', line 56

def instrument(name:, data: {})
  if defined? ActiveSupport::Notifications
    # Create a copy of data to avoid modifications on the original object by rails
    # https://github.com/rails/rails/blob/master/activesupport/lib/active_support/notifications.rb#L66-L70
    ActiveSupport::Notifications.instrument(name, data.dup) do
      yield if block_given?
    end
  else
    yield if block_given?
  end
end

.solr_url(path = '') ⇒ Object



52
53
54
# File 'lib/solr.rb', line 52

def solr_url(path = '')
  Solr::Support::UrlHelper.solr_url(path)
end

.with_core(core) ⇒ Object



43
44
45
46
47
48
49
50
# File 'lib/solr.rb', line 43

def with_core(core)
  core_config = Solr.configuration.core_config_by_name(core)
  old_core_config = Thread.current[CURRENT_CORE_CONFIG_VARIABLE_NAME]
  Thread.current[CURRENT_CORE_CONFIG_VARIABLE_NAME] = core_config
  yield
ensure
  Thread.current[CURRENT_CORE_CONFIG_VARIABLE_NAME] = old_core_config
end