Class: Elastic::Query
Overview
Add activerecord related query helpers
Instance Attribute Summary collapse
Instance Method Summary
collapse
#includes
#average, #closing, #maximum, #minimum, #opening, #stats, #sum
#boost, #coord_similarity, #must, #must_not, #should, #with
Constructor Details
permalink
#initialize(_index, _query_config = nil) ⇒ Query
Returns a new instance of Query.
[View source]
12
13
14
15
|
# File 'lib/elastic/query.rb', line 12
def initialize(_index, _query_config = nil)
@index = _index
@config = _query_config || build_base_config
end
|
Instance Attribute Details
Returns the value of attribute index.
10
11
12
|
# File 'lib/elastic/query.rb', line 10
def index
@index
end
|
Instance Method Details
permalink
#aggregate(_node) ⇒ Object
[View source]
69
70
71
|
# File 'lib/elastic/query.rb', line 69
def aggregate(_node)
execute assembler.assemble_metric _node
end
|
permalink
#as_es_query ⇒ Object
[View source]
59
60
61
|
# File 'lib/elastic/query.rb', line 59
def as_es_query
assembler.assemble.render
end
|
permalink
#as_query_node ⇒ Object
[View source]
55
56
57
|
# File 'lib/elastic/query.rb', line 55
def as_query_node
@config.query.clone
end
|
permalink
#compose(&_block) ⇒ Object
[View source]
63
64
65
66
67
|
# File 'lib/elastic/query.rb', line 63
def compose(&_block)
agg_nodes = []
Dsl::ResultComposer.new(agg_nodes).tap(&_block)
execute assembler.assemble_metrics agg_nodes
end
|
[View source]
38
39
40
|
# File 'lib/elastic/query.rb', line 38
def ids
execute assembler.assemble_ids
end
|
permalink
#limit(_size) ⇒ Object
Also known as:
size
[View source]
17
18
19
|
# File 'lib/elastic/query.rb', line 17
def limit(_size)
with_clone { |config| config.limit = _size }
end
|
permalink
#offset(_offset) ⇒ Object
[View source]
22
23
24
|
# File 'lib/elastic/query.rb', line 22
def offset(_offset)
with_clone { |config| config.offset = _offset }
end
|
permalink
#pick(_field) ⇒ Object
[View source]
42
43
44
|
# File 'lib/elastic/query.rb', line 42
def pick(_field)
execute assembler.assemble_pick(_field)
end
|
permalink
#result(_reset = false) ⇒ Object
[View source]
50
51
52
53
|
# File 'lib/elastic/query.rb', line 50
def result(_reset = false)
@result = nil if _reset
@result ||= execute(assembler.assemble)
end
|
permalink
#segment(*_params) ⇒ Object
[View source]
32
33
34
35
36
|
# File 'lib/elastic/query.rb', line 32
def segment(*_params)
with_clone do |config|
config.groups << Commands::BuildAggFromParams.for(index: index, params: _params)
end
end
|
[View source]
46
47
48
|
# File 'lib/elastic/query.rb', line 46
def total
execute assembler.assemble_total
end
|