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.
-
#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 |
# 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 end |
Instance Method Details
#aggregations(agg_builder) ⇒ Object
sets aggregation
50 51 52 53 54 55 56 57 |
# File 'lib/search_source_builder.rb', line 50 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
46 47 48 |
# File 'lib/search_source_builder.rb', line 46 def aggregations_expr return @aggregations end |
#body ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/search_source_builder.rb', line 19 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 return body.compact end |
#explain(explain) ⇒ Object
sets explain
96 97 98 99 |
# File 'lib/search_source_builder.rb', line 96 def explain explain @explain = explain return self end |
#explain_expr ⇒ Object
returns explain
92 93 94 |
# File 'lib/search_source_builder.rb', line 92 def explain_expr return @explain end |
#from(from) ⇒ Object
sets from
106 107 108 109 |
# File 'lib/search_source_builder.rb', line 106 def from from @from = from return self end |
#from_expr ⇒ Object
returns from
102 103 104 |
# File 'lib/search_source_builder.rb', line 102 def from_expr return @from end |
#min_score(min_score) ⇒ Object
sets min_score
116 117 118 119 |
# File 'lib/search_source_builder.rb', line 116 def min_score min_score @min_score = min_score return self end |
#min_score_expr ⇒ Object
returns min_score
112 113 114 |
# File 'lib/search_source_builder.rb', line 112 def min_score_expr return @min_score end |
#query(query) ⇒ Object
sets query
40 41 42 43 |
# File 'lib/search_source_builder.rb', line 40 def query query @query = query return self end |
#query_expr ⇒ Object
returns query
36 37 38 |
# File 'lib/search_source_builder.rb', line 36 def query_expr return @query end |
#size(size) ⇒ Object
sets size
86 87 88 89 |
# File 'lib/search_source_builder.rb', line 86 def size size @size = size return self end |
#size_expr ⇒ Object
returns size
82 83 84 |
# File 'lib/search_source_builder.rb', line 82 def size_expr return @size end |
#sort(sort, reset: false) ⇒ Object
appends sort
64 65 66 67 68 |
# File 'lib/search_source_builder.rb', line 64 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
60 61 62 |
# File 'lib/search_source_builder.rb', line 60 def sort_expr return @sort end |
#source(source_field, reset: false) ⇒ Object
sets source_fields
75 76 77 78 79 |
# File 'lib/search_source_builder.rb', line 75 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
71 72 73 |
# File 'lib/search_source_builder.rb', line 71 def source_expr return @source end |
#terminate_after(terminate_after) ⇒ Object
sets terminate_after
126 127 128 129 |
# File 'lib/search_source_builder.rb', line 126 def terminate_after terminate_after @terminate_after = terminate_after return self end |
#terminate_after_expr ⇒ Object
returns terminate_after
122 123 124 |
# File 'lib/search_source_builder.rb', line 122 def terminate_after_expr return @terminate_after end |
#timeout(timeout) ⇒ Object
sets timeout
136 137 138 139 |
# File 'lib/search_source_builder.rb', line 136 def timeout timeout @timeout = timeout return self end |
#timeout_expr ⇒ Object
returns timeout
132 133 134 |
# File 'lib/search_source_builder.rb', line 132 def timeout_expr return @timeout end |
#version(version) ⇒ Object
sets version
146 147 148 149 |
# File 'lib/search_source_builder.rb', line 146 def version version @version = version return self end |
#version_expr ⇒ Object
returns version
142 143 144 |
# File 'lib/search_source_builder.rb', line 142 def version_expr return @version end |