Class: SearchSourceBuilder
- Inherits:
-
Object
- Object
- SearchSourceBuilder
- Includes:
- AttributesReader
- Defined in:
- lib/search_source_builder.rb
Overview
A search source builder allowing to easily build search source.
Instance Method Summary collapse
-
#aggregations(agg_builder) ⇒ Object
sets aggregation.
-
#aggregations_expr ⇒ Object
returns aggregation.
- #body ⇒ Object
-
#explain(explain) ⇒ Object
sets explain.
-
#explain_expr ⇒ Object
returns explain.
-
#from(from) ⇒ Object
sets from.
-
#from_expr ⇒ Object
returns from.
-
#initialize ⇒ SearchSourceBuilder
constructor
A new instance of SearchSourceBuilder.
-
#min_score(min_score) ⇒ Object
sets min_score.
-
#min_score_expr ⇒ Object
returns min_score.
-
#query(query) ⇒ Object
sets query.
-
#query_expr ⇒ Object
returns query.
-
#script(script) ⇒ Object
sets script.
-
#script_expr ⇒ Object
returns script.
-
#size(size) ⇒ Object
sets size.
-
#size_expr ⇒ Object
returns size.
-
#sort(sort, reset: false) ⇒ Object
appends sort.
-
#sort_expr ⇒ Object
returns sort.
-
#source(source_field, reset: false) ⇒ Object
sets source_fields.
-
#source_expr ⇒ Object
returns source_fields.
-
#terminate_after(terminate_after) ⇒ Object
sets terminate_after.
-
#terminate_after_expr ⇒ Object
returns terminate_after.
-
#timeout(timeout) ⇒ Object
sets timeout.
-
#timeout_expr ⇒ Object
returns timeout.
-
#version(version) ⇒ Object
sets version.
-
#version_expr ⇒ Object
returns version.
Methods included from AttributesReader
Constructor Details
#initialize ⇒ SearchSourceBuilder
Returns a new instance of SearchSourceBuilder.
5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/search_source_builder.rb', line 5 def initialize @query = nil @aggregations = [] @sort = [] @source = [] @size = nil @explain = nil @from = nil @min_score = nil @terminate_after = nil @timeout = nil @version = nil @script = nil end |
Instance Method Details
#aggregations(agg_builder) ⇒ Object
sets aggregation
52 53 54 55 56 57 58 59 |
# File 'lib/search_source_builder.rb', line 52 def aggregations agg_builder if agg_builder.is_a?(Array) @aggregations += agg_builder else @aggregations.append(agg_builder) end return self end |
#aggregations_expr ⇒ Object
returns aggregation
48 49 50 |
# File 'lib/search_source_builder.rb', line 48 def aggregations_expr return @aggregations end |
#body ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/search_source_builder.rb', line 20 def body body = {} body[:query] = @query.query body[:aggregations] = @aggregations.map{|agg| agg.query}.reduce({}, :merge) if @aggregations.present? body[:sort] = @sort.map{|sort_object| sort_object.query} if @sort.present? body[:_source] = @source body[:size] = @size body[:explain] = @explain body[:from] = @from body[:min_score] = @min_score body[:terminate_after] = @terminate_after body[:timeout] = @timeout body[:version] = @version body[:script] = @script.settings if @script.present? return body.compact end |
#explain(explain) ⇒ Object
sets explain
98 99 100 101 |
# File 'lib/search_source_builder.rb', line 98 def explain explain @explain = explain return self end |
#explain_expr ⇒ Object
returns explain
94 95 96 |
# File 'lib/search_source_builder.rb', line 94 def explain_expr return @explain end |
#from(from) ⇒ Object
sets from
108 109 110 111 |
# File 'lib/search_source_builder.rb', line 108 def from from @from = from return self end |
#from_expr ⇒ Object
returns from
104 105 106 |
# File 'lib/search_source_builder.rb', line 104 def from_expr return @from end |
#min_score(min_score) ⇒ Object
sets min_score
118 119 120 121 |
# File 'lib/search_source_builder.rb', line 118 def min_score min_score @min_score = min_score return self end |
#min_score_expr ⇒ Object
returns min_score
114 115 116 |
# File 'lib/search_source_builder.rb', line 114 def min_score_expr return @min_score end |
#query(query) ⇒ Object
sets query
42 43 44 45 |
# File 'lib/search_source_builder.rb', line 42 def query query @query = query return self end |
#query_expr ⇒ Object
returns query
38 39 40 |
# File 'lib/search_source_builder.rb', line 38 def query_expr return @query end |
#script(script) ⇒ Object
sets script
154 155 156 157 |
# File 'lib/search_source_builder.rb', line 154 def script script @script = script return self end |
#script_expr ⇒ Object
returns script
160 161 162 |
# File 'lib/search_source_builder.rb', line 160 def script_expr return @script end |
#size(size) ⇒ Object
sets size
88 89 90 91 |
# File 'lib/search_source_builder.rb', line 88 def size size @size = size return self end |
#size_expr ⇒ Object
returns size
84 85 86 |
# File 'lib/search_source_builder.rb', line 84 def size_expr return @size end |
#sort(sort, reset: false) ⇒ Object
appends sort
66 67 68 69 70 |
# File 'lib/search_source_builder.rb', line 66 def sort sort, reset: false @sort = [] if reset sort.is_a?(Array) ? @sort+= sort : @sort.append(sort) return self end |
#sort_expr ⇒ Object
returns sort
62 63 64 |
# File 'lib/search_source_builder.rb', line 62 def sort_expr return @sort end |
#source(source_field, reset: false) ⇒ Object
sets source_fields
77 78 79 80 81 |
# File 'lib/search_source_builder.rb', line 77 def source source_field, reset: false @source = [] if reset source_field.is_a?(Array) ? @source+= source_field : @source.append(source_field) return self end |
#source_expr ⇒ Object
returns source_fields
73 74 75 |
# File 'lib/search_source_builder.rb', line 73 def source_expr return @source end |
#terminate_after(terminate_after) ⇒ Object
sets terminate_after
128 129 130 131 |
# File 'lib/search_source_builder.rb', line 128 def terminate_after terminate_after @terminate_after = terminate_after return self end |
#terminate_after_expr ⇒ Object
returns terminate_after
124 125 126 |
# File 'lib/search_source_builder.rb', line 124 def terminate_after_expr return @terminate_after end |
#timeout(timeout) ⇒ Object
sets timeout
138 139 140 141 |
# File 'lib/search_source_builder.rb', line 138 def timeout timeout @timeout = timeout return self end |
#timeout_expr ⇒ Object
returns timeout
134 135 136 |
# File 'lib/search_source_builder.rb', line 134 def timeout_expr return @timeout end |
#version(version) ⇒ Object
sets version
148 149 150 151 |
# File 'lib/search_source_builder.rb', line 148 def version version @version = version return self end |
#version_expr ⇒ Object
returns version
144 145 146 |
# File 'lib/search_source_builder.rb', line 144 def version_expr return @version end |