Module: ElasticRecord::Index::Percolator
- Included in:
- ElasticRecord::Index
- Defined in:
- lib/elastic_record/index/percolator.rb
Instance Method Summary collapse
- #create_percolator(name, elastic_query) ⇒ Object
- #delete_percolator(name) ⇒ Object
- #percolate(document) ⇒ Object
- #percolator_exists?(name) ⇒ Boolean
- #percolator_index_name ⇒ Object
- #reset_percolator ⇒ Object
Instance Method Details
#create_percolator(name, elastic_query) ⇒ Object
4 5 6 7 8 9 10 11 12 |
# File 'lib/elastic_record/index/percolator.rb', line 4 def create_percolator(name, elastic_query) unless exists? percolator_index_name create percolator_index_name else update_mapping percolator_index_name end connection.json_put "/_percolator/#{percolator_index_name}/#{name}", elastic_query end |
#delete_percolator(name) ⇒ Object
14 15 16 |
# File 'lib/elastic_record/index/percolator.rb', line 14 def delete_percolator(name) connection.json_delete "/_percolator/#{percolator_index_name}/#{name}" end |
#percolate(document) ⇒ Object
22 23 24 |
# File 'lib/elastic_record/index/percolator.rb', line 22 def percolate(document) connection.json_get("/#{percolator_index_name}/#{type}/_percolate", 'doc' => document)['matches'] end |
#percolator_exists?(name) ⇒ Boolean
18 19 20 |
# File 'lib/elastic_record/index/percolator.rb', line 18 def percolator_exists?(name) connection.json_get("/_percolator/#{percolator_index_name}/#{name}")['exists'] end |
#percolator_index_name ⇒ Object
30 31 32 |
# File 'lib/elastic_record/index/percolator.rb', line 30 def percolator_index_name @percolator_index_name ||= "percolate_#{alias_name}" end |
#reset_percolator ⇒ Object
26 27 28 |
# File 'lib/elastic_record/index/percolator.rb', line 26 def reset_percolator delete(percolator_index_name) if exists?(percolator_index_name) end |