Class: LogStash::Filters::SearchEngine
- Inherits:
-
Base
- Object
- Base
- LogStash::Filters::SearchEngine
- Defined in:
- lib/logstash/filters/search_engine.rb
Overview
Filter to extract search engine query from HTTP query
Instance Method Summary collapse
Instance Method Details
#filter(event) ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/logstash/filters/search_engine.rb', line 40 def filter(event) @queryParsers.each do |name, parser| if @engines.include?(name) && parser.match(event.get(@site_name_field)) valid_query_field = Utils.removeInvalidChars(event.get(@query_field)) if (valid_query_field) event.set(@output_field, parser.parse(URI.decode(valid_query_field))) else @logger.warn? && @logger.warn("Search engine failed to parse query field") end end end filter_matched(event) end |
#register ⇒ Object
31 32 33 34 35 36 37 |
# File 'lib/logstash/filters/search_engine.rb', line 31 def register @queryParsers = { "Google" => GoogleQueryParser.new, "Bing" => BingQueryParser.new, "Yahoo" => YahooQueryParser.new } end |