Class: Elasticated::Repository
- Inherits:
-
Object
- Object
- Elasticated::Repository
show all
- Includes:
- Mixins::Configurable
- Defined in:
- lib/elasticated/repository.rb,
lib/elasticated/repository/search.rb,
lib/elasticated/repository/normal_search.rb,
lib/elasticated/repository/scroll_search.rb,
lib/elasticated/repository/resumable_search.rb,
lib/elasticated/repository/intelligent_search.rb,
lib/elasticated/repository/scan_scroll_search.rb,
lib/elasticated/repository/single_page_search.rb
Defined Under Namespace
Classes: IntelligentSearch, NormalSearch, ResumableSearch, ScanScrollSearch, ScrollSearch, Search, SinglePageSearch
Instance Attribute Summary collapse
-
#client ⇒ Object
PRE-ACTION METHODS ———————————————————- child can implement params_for_document(document, original_params={}) => Hash child can implement params_for_query(query, original_params={}) => Hash child can implement params_for_source(source, original_params={}) => Hash child can implement params_for_ids(ids, original_params={}) => Hash child can implement params_for_percolator(original_params={}) => Hash POST-ACTION METHODS ——————————————————— child can implement prepare_source(source) => Hash child can implement restore_source(source) => Hash —————————————————————————–.
Instance Method Summary
collapse
-
#create_percolator(query, opts = {}) ⇒ Object
-
#delete_by_query(query, opts = {}) ⇒ Object
(also: #delete_by)
-
#delete_document(document_id, opts = {}) ⇒ Object
-
#execute_aggregated_search(query, opts = {}) ⇒ Object
-
#execute_aggregations(query, opts = {}) ⇒ Object
-
#execute_bulk(bulk_request) ⇒ Object
-
#execute_count(query, opts = {}) ⇒ Object
-
#execute_search(query, opts = {}) ⇒ Object
-
#exists?(query, opts = {}) ⇒ Boolean
-
#get_document(document_id_or_ids, opts = {}) ⇒ Object
(also: #get_documents)
-
#index_document(document, opts = {}) ⇒ Object
-
#initialize(opts = {}) ⇒ Repository
constructor
A new instance of Repository.
-
#params_for_document(document, original_params = {}) ⇒ Object
-
#params_for_ids(ids, original_params = {}) ⇒ Object
-
#params_for_percolator(original_params = {}) ⇒ Object
-
#params_for_query(query, original_params = {}) ⇒ Object
-
#params_for_source(source, original_params = {}) ⇒ Object
-
#percolate_document(document, opts = {}) ⇒ Object
-
#prepare_bulk(&block) ⇒ Object
-
#prepare_document(document) ⇒ Object
-
#prepare_search(query, opts = {}) ⇒ Object
-
#prepare_source(source) ⇒ Object
-
#restore_search(scroll_id) ⇒ Object
-
#restore_source(source) ⇒ Object
-
#update_document(document_id, opts = {}) ⇒ Object
delegated
Constructor Details
#initialize(opts = {}) ⇒ Repository
Returns a new instance of Repository.
18
19
20
|
# File 'lib/elasticated/repository.rb', line 18
def initialize(opts={})
self.client = Client.new opts
end
|
Instance Attribute Details
#client ⇒ Object
PRE-ACTION METHODS ———————————————————- child can implement params_for_document(document, original_params={}) => Hash child can implement params_for_query(query, original_params={}) => Hash child can implement params_for_source(source, original_params={}) => Hash child can implement params_for_ids(ids, original_params={}) => Hash child can implement params_for_percolator(original_params={}) => Hash POST-ACTION METHODS ——————————————————— child can implement prepare_source(source) => Hash child can implement restore_source(source) => Hash
16
17
18
|
# File 'lib/elasticated/repository.rb', line 16
def client
@client
end
|
Instance Method Details
#create_percolator(query, opts = {}) ⇒ Object
56
57
58
|
# File 'lib/elasticated/repository.rb', line 56
def create_percolator(query, opts={})
prepare_query_action :prepare_percolator_action, query, opts
end
|
#delete_by_query(query, opts = {}) ⇒ Object
Also known as:
delete_by
38
39
40
|
# File 'lib/elasticated/repository.rb', line 38
def delete_by_query(query, opts={})
prepare_query_action :delete_by_query, query, opts
end
|
#delete_document(document_id, opts = {}) ⇒ Object
69
70
71
|
# File 'lib/elasticated/repository.rb', line 69
def delete_document(document_id, opts={})
prepare_ids_action :delete_document, Array(document_id), opts
end
|
#execute_aggregated_search(query, opts = {}) ⇒ Object
34
35
36
|
# File 'lib/elasticated/repository.rb', line 34
def execute_aggregated_search(query, opts={})
prepare_query_action :aggregated_search, query, opts
end
|
#execute_aggregations(query, opts = {}) ⇒ Object
26
27
28
|
# File 'lib/elasticated/repository.rb', line 26
def execute_aggregations(query, opts={})
prepare_query_action :aggregations, query, opts
end
|
#execute_bulk(bulk_request) ⇒ Object
85
86
87
88
|
# File 'lib/elasticated/repository.rb', line 85
def execute_bulk(bulk_request)
result = client.bulk bulk_request.build
bulk_request.parse result
end
|
#execute_count(query, opts = {}) ⇒ Object
30
31
32
|
# File 'lib/elasticated/repository.rb', line 30
def execute_count(query, opts={})
prepare_query_action :count, query, opts
end
|
#execute_search(query, opts = {}) ⇒ Object
22
23
24
|
# File 'lib/elasticated/repository.rb', line 22
def execute_search(query, opts={})
prepare_query_action :search, query, opts
end
|
#exists?(query, opts = {}) ⇒ Boolean
43
44
45
|
# File 'lib/elasticated/repository.rb', line 43
def exists?(query, opts={})
execute_count(query, opts) > 0
end
|
#get_document(document_id_or_ids, opts = {}) ⇒ Object
Also known as:
get_documents
64
65
66
|
# File 'lib/elasticated/repository.rb', line 64
def get_document(document_id_or_ids, opts={})
prepare_ids_action :variable_get, Array(document_id_or_ids), opts
end
|
#index_document(document, opts = {}) ⇒ Object
47
48
49
|
# File 'lib/elasticated/repository.rb', line 47
def index_document(document, opts={})
prepare_document_action :index_document, document, opts
end
|
#params_for_document(document, original_params = {}) ⇒ Object
92
93
94
|
# File 'lib/elasticated/repository.rb', line 92
def params_for_document(document, original_params={})
original_params
end
|
#params_for_ids(ids, original_params = {}) ⇒ Object
104
105
106
|
# File 'lib/elasticated/repository.rb', line 104
def params_for_ids(ids, original_params={})
original_params
end
|
#params_for_percolator(original_params = {}) ⇒ Object
108
109
110
|
# File 'lib/elasticated/repository.rb', line 108
def params_for_percolator(original_params={})
original_params
end
|
#params_for_query(query, original_params = {}) ⇒ Object
96
97
98
|
# File 'lib/elasticated/repository.rb', line 96
def params_for_query(query, original_params={})
original_params
end
|
#params_for_source(source, original_params = {}) ⇒ Object
100
101
102
|
# File 'lib/elasticated/repository.rb', line 100
def params_for_source(source, original_params={})
original_params
end
|
#percolate_document(document, opts = {}) ⇒ Object
60
61
62
|
# File 'lib/elasticated/repository.rb', line 60
def percolate_document(document, opts={})
prepare_document_action :prepare_percolator_action, document, opts
end
|
#prepare_bulk(&block) ⇒ Object
81
82
83
|
# File 'lib/elasticated/repository.rb', line 81
def prepare_bulk(&block)
BulkRequest.build_over(self, &block)
end
|
#prepare_document(document) ⇒ Object
122
123
124
125
126
127
128
129
|
# File 'lib/elasticated/repository.rb', line 122
def prepare_document(document)
params = params_for_document document
translated_document = document.clone
translated_document.source = prepare_source Helpers.hash_deep_dup document.source
translated_document.index = params[:index] if params[:index]
translated_document.type = params[:type] if params[:type]
translated_document
end
|
#prepare_search(query, opts = {}) ⇒ Object
73
74
75
|
# File 'lib/elasticated/repository.rb', line 73
def prepare_search(query, opts={})
prepare_query_action :prepare_search, query, opts
end
|
#prepare_source(source) ⇒ Object
114
115
116
|
# File 'lib/elasticated/repository.rb', line 114
def prepare_source(source)
source
end
|
#restore_search(scroll_id) ⇒ Object
#restore_source(source) ⇒ Object
118
119
120
|
# File 'lib/elasticated/repository.rb', line 118
def restore_source(source)
source
end
|
#update_document(document_id, opts = {}) ⇒ Object
51
52
53
54
|
# File 'lib/elasticated/repository.rb', line 51
def update_document(document_id, opts={})
source = opts.delete(:source) || raise("No body specified for partial update")
prepare_source_action :update_document, source, opts.merge(id: document_id)
end
|