class LogStash::Filters::SearchEngine
Filter to extract search engine query from HTTP query
Public Instance Methods
filter(event)
click to toggle source
# 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()
click to toggle source
# File lib/logstash/filters/search_engine.rb, line 31 def register @queryParsers = { "Google" => GoogleQueryParser.new, "Bing" => BingQueryParser.new, "Yahoo" => YahooQueryParser.new } end