Class: Elasticsearch::DSL::Search::Filters::Indices
- Inherits:
-
Object
- Object
- Elasticsearch::DSL::Search::Filters::Indices
- Includes:
- BaseComponent
- Defined in:
- lib/elasticsearch/dsl/search/filters/indices.rb
Overview
A filter which executes a custom filter only for documents in specified indices, and optionally another filter for documents in other indices
Instance Method Summary collapse
-
#filter(*args, &block) ⇒ self
DSL method for building the ‘filter` part of the query definition.
-
#no_match_filter(*args, &block) ⇒ self
DSL method for building the ‘no_match_filter` part of the query definition.
-
#to_hash ⇒ Hash
Converts the query definition to a Hash.
Methods included from BaseComponent
Instance Method Details
#filter(*args, &block) ⇒ self
DSL method for building the ‘filter` part of the query definition
59 60 61 62 |
# File 'lib/elasticsearch/dsl/search/filters/indices.rb', line 59 def filter(*args, &block) @filter = block ? Filter.new(*args, &block) : args.first self end |
#no_match_filter(*args, &block) ⇒ self
DSL method for building the ‘no_match_filter` part of the query definition
68 69 70 71 |
# File 'lib/elasticsearch/dsl/search/filters/indices.rb', line 68 def no_match_filter(*args, &block) @no_match_filter = block ? Filter.new(*args, &block) : args.first self end |
#to_hash ⇒ Hash
Converts the query definition to a Hash
77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/elasticsearch/dsl/search/filters/indices.rb', line 77 def to_hash hash = super if @filter _filter = @filter.respond_to?(:to_hash) ? @filter.to_hash : @filter hash[self.name].update(filter: _filter) end if @no_match_filter _no_match_filter = @no_match_filter.respond_to?(:to_hash) ? @no_match_filter.to_hash : @no_match_filter hash[self.name].update(no_match_filter: _no_match_filter) end hash end |