Class: Couchbase::Management::SearchIndexManager
- Inherits:
-
Object
- Object
- Couchbase::Management::SearchIndexManager
- Defined in:
- lib/couchbase/management/search_index_manager.rb
Defined Under Namespace
Classes: AllowQueryingOptions, AnalyzeDocumentOptions, DisallowQueryingOptions, DropIndexOptions, FreezePlanOptions, GetAllIndexesOptions, GetIndexOptions, GetIndexStatsOptions, GetIndexedDocumentsCountOptions, PauseIngestOptions, ResumeIngestOptions, UnfreezePlanOptions, UpsertIndexOptions
Class Method Summary collapse
Instance Method Summary collapse
-
#allow_querying(index_name, options = AllowQueryingOptions.new) ⇒ Object
Allows querying against the index.
-
#analyze_document(index_name, document, options = AnalyzeDocumentOptions.new) ⇒ Array<Hash>
Allows to see how a document is analyzed against a specific index.
-
#disallow_querying(index_name, options = DisallowQueryingOptions.new) ⇒ Object
Disallows querying against the index.
-
#drop_index(index_name, options = DropIndexOptions.new) ⇒ Object
Drops the index.
-
#freeze_plan(index_name, options = FreezePlanOptions.new) ⇒ Object
Freeze the assignment of index partitions to nodes.
-
#get_all_indexes(options = GetAllIndexesOptions.new) ⇒ Array<SearchIndex>
Fetches all indexes from the server.
-
#get_index(index_name, options = GetIndexOptions.new) ⇒ SearchIndex
Fetches an index from the server if it exists.
-
#get_index_stats(index_name, options = GetIndexStatsOptions.new) ⇒ Integer
Retrieves metrics, timings and counters for a given index.
-
#get_indexed_documents_count(index_name, options = GetIndexedDocumentsCountOptions.new) ⇒ Integer
Retrieves the number of documents that have been indexed for an index.
-
#get_stats(options = GetIndexStatsOptions.new) ⇒ Integer
Retrieves statistics on search service.
-
#initialize(backend) ⇒ SearchIndexManager
constructor
A new instance of SearchIndexManager.
-
#pause_ingest(index_name, options = PauseIngestOptions.new) ⇒ Object
Pauses updates and maintenance for the index.
-
#resume_ingest(index_name, options = ResumeIngestOptions.new) ⇒ Object
Resumes updates and maintenance for an index.
-
#unfreeze_plan(index_name, options = UnfreezePlanOptions.new) ⇒ Object
Unfreeze the assignment of index partitions to nodes.
-
#upsert_index(index_definition, options = UpsertIndexOptions.new) ⇒ Object
Creates or updates the index.
Constructor Details
#initialize(backend) ⇒ SearchIndexManager
Returns a new instance of SearchIndexManager.
23 24 25 |
# File 'lib/couchbase/management/search_index_manager.rb', line 23 def initialize(backend) @backend = backend end |
Class Method Details
.extract_search_index(resp) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
358 359 360 361 362 363 364 365 366 367 368 369 370 |
# File 'lib/couchbase/management/search_index_manager.rb', line 358 def self.extract_search_index(resp) SearchIndex.new do |index| index.name = resp[:name] index.type = resp[:type] index.uuid = resp[:uuid] index.params = resp[:params] ? JSON.parse(resp[:params]) : {} index.source_name = resp[:source_name] index.source_type = resp[:source_type] index.source_uuid = resp[:source_uuid] index.source_params = resp[:source_params] ? JSON.parse(resp[:source_params]) : {} index.plan_params = resp[:plan_params] ? JSON.parse(resp[:plan_params]) : {} end end |
Instance Method Details
#allow_querying(index_name, options = AllowQueryingOptions.new) ⇒ Object
Allows querying against the index
170 171 172 |
# File 'lib/couchbase/management/search_index_manager.rb', line 170 def (index_name, = AllowQueryingOptions.new) @backend.(nil, nil, index_name, .timeout) end |
#analyze_document(index_name, document, options = AnalyzeDocumentOptions.new) ⇒ Array<Hash>
Allows to see how a document is analyzed against a specific index
222 223 224 225 |
# File 'lib/couchbase/management/search_index_manager.rb', line 222 def analyze_document(index_name, document, = AnalyzeDocumentOptions.new) res = @backend.search_index_analyze_document(nil, nil, index_name, JSON.generate(document), .timeout) JSON.parse(res[:analysis]) end |
#disallow_querying(index_name, options = DisallowQueryingOptions.new) ⇒ Object
Disallows querying against the index
183 184 185 |
# File 'lib/couchbase/management/search_index_manager.rb', line 183 def (index_name, = DisallowQueryingOptions.new) @backend.(nil, nil, index_name, .timeout) end |
#drop_index(index_name, options = DropIndexOptions.new) ⇒ Object
Drops the index
86 87 88 |
# File 'lib/couchbase/management/search_index_manager.rb', line 86 def drop_index(index_name, = DropIndexOptions.new) @backend.search_index_drop(nil, nil, index_name, .timeout) end |
#freeze_plan(index_name, options = FreezePlanOptions.new) ⇒ Object
Freeze the assignment of index partitions to nodes
196 197 198 |
# File 'lib/couchbase/management/search_index_manager.rb', line 196 def freeze_plan(index_name, = FreezePlanOptions.new) @backend.search_index_freeze_plan(nil, nil, index_name, .timeout) end |
#get_all_indexes(options = GetAllIndexesOptions.new) ⇒ Array<SearchIndex>
Fetches all indexes from the server
46 47 48 49 |
# File 'lib/couchbase/management/search_index_manager.rb', line 46 def get_all_indexes( = GetAllIndexesOptions.new) res = @backend.search_index_get_all(nil, nil, .timeout) res[:indexes].map { |idx| self.class.extract_search_index(idx) } end |
#get_index(index_name, options = GetIndexOptions.new) ⇒ SearchIndex
Fetches an index from the server if it exists
36 37 38 39 |
# File 'lib/couchbase/management/search_index_manager.rb', line 36 def get_index(index_name, = GetIndexOptions.new) res = @backend.search_index_get(nil, nil, index_name, .timeout) self.class.extract_search_index(res) end |
#get_index_stats(index_name, options = GetIndexStatsOptions.new) ⇒ Integer
Retrieves metrics, timings and counters for a given index
115 116 117 118 |
# File 'lib/couchbase/management/search_index_manager.rb', line 115 def get_index_stats(index_name, = GetIndexStatsOptions.new) res = @backend.search_index_get_stats(index_name, .timeout) JSON.parse(res) end |
#get_indexed_documents_count(index_name, options = GetIndexedDocumentsCountOptions.new) ⇒ Integer
Retrieves the number of documents that have been indexed for an index
99 100 101 102 |
# File 'lib/couchbase/management/search_index_manager.rb', line 99 def get_indexed_documents_count(index_name, = GetIndexedDocumentsCountOptions.new) res = @backend.search_index_get_documents_count(nil, nil, index_name, .timeout) res[:count] end |
#get_stats(options = GetIndexStatsOptions.new) ⇒ Integer
Retrieves statistics on search service. Information is provided on documents, partition indexes, mutations, compactions, queries, and more.
130 131 132 133 |
# File 'lib/couchbase/management/search_index_manager.rb', line 130 def get_stats( = GetIndexStatsOptions.new) res = @backend.search_get_stats(.timeout) JSON.parse(res) end |
#pause_ingest(index_name, options = PauseIngestOptions.new) ⇒ Object
Pauses updates and maintenance for the index
144 145 146 |
# File 'lib/couchbase/management/search_index_manager.rb', line 144 def pause_ingest(index_name, = PauseIngestOptions.new) @backend.search_index_pause_ingest(nil, nil, index_name, .timeout) end |
#resume_ingest(index_name, options = ResumeIngestOptions.new) ⇒ Object
Resumes updates and maintenance for an index
157 158 159 |
# File 'lib/couchbase/management/search_index_manager.rb', line 157 def resume_ingest(index_name, = ResumeIngestOptions.new) @backend.search_index_resume_ingest(nil, nil, index_name, .timeout) end |
#unfreeze_plan(index_name, options = UnfreezePlanOptions.new) ⇒ Object
Unfreeze the assignment of index partitions to nodes
209 210 211 |
# File 'lib/couchbase/management/search_index_manager.rb', line 209 def unfreeze_plan(index_name, = UnfreezePlanOptions.new) @backend.search_index_unfreeze_plan(nil, nil, index_name, .timeout) end |
#upsert_index(index_definition, options = UpsertIndexOptions.new) ⇒ Object
Creates or updates the index
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/couchbase/management/search_index_manager.rb', line 59 def upsert_index(index_definition, = UpsertIndexOptions.new) @backend.search_index_upsert( nil, nil, { name: index_definition.name, type: index_definition.type, uuid: index_definition.uuid, params: (JSON.generate(index_definition.params) if index_definition.params), source_name: index_definition.source_name, source_type: index_definition.source_type, source_uuid: index_definition.source_uuid, source_params: (JSON.generate(index_definition.source_params) if index_definition.source_params), plan_params: (JSON.generate(index_definition.plan_params) if index_definition.plan_params), }, .timeout ) end |