Class: ElasticGraph::GraphQL::Aggregation::FieldTermGrouping

Inherits:
Object
  • Object
show all
Includes:
TermGrouping
Defined in:
lib/elastic_graph/graphql/aggregation/field_term_grouping.rb

Constant Summary

Constants included from TermGrouping

TermGrouping::INNER_META

Instance Method Summary collapse

Methods included from TermGrouping

#composite_clause, #encoded_index_field_path, #key

Instance Method Details

#handles_missing_values?Boolean

Returns true if this grouping handles missing values using a placeholder value instead of a separate missing aggregation.

Returns:

  • (Boolean)

    true if missing values are handled via placeholder



22
23
24
# File 'lib/elastic_graph/graphql/aggregation/field_term_grouping.rb', line 22

def handles_missing_values?
  !missing_value_placeholder.nil?
end

#inner_metaObject



32
33
34
35
36
# File 'lib/elastic_graph/graphql/aggregation/field_term_grouping.rb', line 32

def inner_meta
  return super unless handles_missing_values?

  super.merge({"missing_values" => [missing_value_placeholder]})
end

#non_composite_clause_for(query) ⇒ Object



26
27
28
29
30
# File 'lib/elastic_graph/graphql/aggregation/field_term_grouping.rb', line 26

def non_composite_clause_for(query)
  return super unless handles_missing_values?

  Support::HashUtil.deep_merge(super, {"terms" => {"missing" => missing_value_placeholder}})
end