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
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 |
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 |