module Plunk
Constants
- VERSION
Attributes
elasticsearch_client[RW]
elasticsearch_options[RW]
logger[RW]
max_number_of_hits[RW]
parse_only[RW]
parser[RW]
timestamp_field[RW]
transformer[RW]
Public Class Methods
configure(&block)
click to toggle source
# File lib/plunk.rb, line 16 def self.configure(&block) class_eval(&block) self.timestamp_field ||= :timestamp initialize_parser initialize_transformer initialize_elasticsearch unless self.parse_only end
initialize_elasticsearch()
click to toggle source
# File lib/plunk.rb, line 24 def self.initialize_elasticsearch self.elasticsearch_client ||= Elasticsearch::Client.new(elasticsearch_options) end
initialize_parser()
click to toggle source
# File lib/plunk.rb, line 28 def self.initialize_parser self.parser ||= Parser.new end
initialize_transformer()
click to toggle source
# File lib/plunk.rb, line 32 def self.initialize_transformer self.transformer ||= Transformer.new end
search(query_string)
click to toggle source
# File lib/plunk.rb, line 36 def self.search(query_string) parsed = parser.parse query_string transformed = transformer.apply parsed if self.logger self.logger.debug "Query String: #{query_string}" self.logger.debug "Parsed Output: #{transformed}" end result_set = ResultSet.new(transformed) if self.parse_only result_set.query else result_set.eval end end