Class: Elasticsearch::Persistence::QueryBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/elasticsearch/persistence/relation/query_builder.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(values) ⇒ QueryBuilder

Returns a new instance of QueryBuilder.



7
8
9
# File 'lib/elasticsearch/persistence/relation/query_builder.rb', line 7

def initialize(values)
  @values = values
end

Instance Attribute Details

#structureObject (readonly)

Returns the value of attribute structure.



5
6
7
# File 'lib/elasticsearch/persistence/relation/query_builder.rb', line 5

def structure
  @structure
end

#valuesObject (readonly)

Returns the value of attribute values.



5
6
7
# File 'lib/elasticsearch/persistence/relation/query_builder.rb', line 5

def values
  @values
end

Instance Method Details

#aggregationsObject



11
12
13
# File 'lib/elasticsearch/persistence/relation/query_builder.rb', line 11

def aggregations
  values[:aggregation]
end

#count?Boolean

Returns:

  • (Boolean)


71
72
73
# File 'lib/elasticsearch/persistence/relation/query_builder.rb', line 71

def count?
  values[:count]
end

#fieldsObject



39
40
41
# File 'lib/elasticsearch/persistence/relation/query_builder.rb', line 39

def fields
  values[:field]
end

#filtersObject



15
16
17
# File 'lib/elasticsearch/persistence/relation/query_builder.rb', line 15

def filters
  values[:filter]
end

#highlightsObject



47
48
49
# File 'lib/elasticsearch/persistence/relation/query_builder.rb', line 47

def highlights
  values[:highlight]
end

#must_notsObject



31
32
33
# File 'lib/elasticsearch/persistence/relation/query_builder.rb', line 31

def must_nots
  @must_nots ||= compact_where(values[:must_not])
end

#or_filtersObject



19
20
21
# File 'lib/elasticsearch/persistence/relation/query_builder.rb', line 19

def or_filters
  values[:or_filter]
end

#queryObject



23
24
25
# File 'lib/elasticsearch/persistence/relation/query_builder.rb', line 23

def query
  @query ||= compact_where(values[:where])
end

#query_filtersObject



59
60
61
# File 'lib/elasticsearch/persistence/relation/query_builder.rb', line 59

def query_filters
  values[:filter]
end

#query_string_optionsObject



67
68
69
# File 'lib/elasticsearch/persistence/relation/query_builder.rb', line 67

def query_string_options
  @query_string_options || {}
end

#query_stringsObject



27
28
29
# File 'lib/elasticsearch/persistence/relation/query_builder.rb', line 27

def query_strings
  @query_string ||= compact_where(values[:query_string], bool: false)
end

#search_optionsObject



63
64
65
# File 'lib/elasticsearch/persistence/relation/query_builder.rb', line 63

def search_options
  build_search_options
end

#shouldsObject



35
36
37
# File 'lib/elasticsearch/persistence/relation/query_builder.rb', line 35

def shoulds
  @shoulds ||= compact_where(values[:should])
end

#sizeObject



51
52
53
# File 'lib/elasticsearch/persistence/relation/query_builder.rb', line 51

def size
  values[:size]
end

#sortObject



55
56
57
# File 'lib/elasticsearch/persistence/relation/query_builder.rb', line 55

def sort
  values[:order]
end

#sourceObject



43
44
45
# File 'lib/elasticsearch/persistence/relation/query_builder.rb', line 43

def source
  values[:source]
end

#to_elasticObject



75
76
77
78
79
80
81
82
83
84
# File 'lib/elasticsearch/persistence/relation/query_builder.rb', line 75

def to_elastic
  @structure = Jbuilder.new ignore_nil: true
  build_query
  build_sort unless sort.blank?
  build_highlights unless highlights.blank?
  build_fields unless fields.blank?
  build_source unless source.blank?
  build_aggregations unless aggregations.blank?
  structure.attributes!
end