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 13 |
# File 'lib/elastic_record/index/percolator.rb', line 4 def create_percolator(name, elastic_query) p "creating #{elastic_query.inspect}" 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
15 16 17 |
# File 'lib/elastic_record/index/percolator.rb', line 15 def delete_percolator(name) connection.json_delete "/_percolator/#{percolator_index_name}/#{name}" end |
#percolate(document) ⇒ Object
23 24 25 26 |
# File 'lib/elastic_record/index/percolator.rb', line 23 def percolate(document) # p "document = #{document}" connection.json_get("/#{percolator_index_name}/#{type}/_percolate", 'doc' => document)['matches'] end |
#percolator_exists?(name) ⇒ Boolean
19 20 21 |
# File 'lib/elastic_record/index/percolator.rb', line 19 def percolator_exists?(name) connection.json_get("/_percolator/#{percolator_index_name}/#{name}")['exists'] end |
#percolator_index_name ⇒ Object
32 33 34 |
# File 'lib/elastic_record/index/percolator.rb', line 32 def percolator_index_name @percolator_index_name ||= "percolate_#{alias_name}" end |
#reset_percolator ⇒ Object
28 29 30 |
# File 'lib/elastic_record/index/percolator.rb', line 28 def reset_percolator delete(percolator_index_name) if exists?(percolator_index_name) end |