Daijiro MORI
null+****@clear*****
Mon Jun 17 00:44:35 JST 2013
Daijiro MORI 2013-06-17 00:44:35 +0900 (Mon, 17 Jun 2013) New Revision: e1e8fd174feb1a94d02df5f4bc44120a91325828 https://github.com/groonga/fluent-plugin-droonga/commit/e1e8fd174feb1a94d02df5f4bc44120a91325828 Message: Divide the search method. Modified files: lib/droonga/plugin/handler_search.rb Modified: lib/droonga/plugin/handler_search.rb (+21 -17) =================================================================== --- lib/droonga/plugin/handler_search.rb 2013-06-12 18:58:34 +0900 (320947c) +++ lib/droonga/plugin/handler_search.rb 2013-06-17 00:44:35 +0900 (112d674) @@ -38,26 +38,30 @@ module Droonga command :search def search(request) queries = request["queries"] + outputs = process_queries(queries) + post(outputs) + end + + def process_queries(queries) + return {} unless queries + query_sorter = QuerySorter.new + queries.each do |name, query| + query_sorter.add(name, [query["source"]]) + end outputs = {} - if queries - query_sorter = QuerySorter.new - queries.each do |name, query| - query_sorter.add(name, [query["source"]]) - end - results = {} - query_sorter.tsort.each do |name| - if queries[name] - searcher = QuerySearcher.new(@context, queries[name]) - results[name] = searcher.search(results) - outputs[name] = searcher.format if searcher.need_output? - elsif @context[name] - results[name] = @context[name] - else - raise UndefinedSourceError.new(name) - end + results = {} + query_sorter.tsort.each do |name| + if queries[name] + searcher = QuerySearcher.new(@context, queries[name]) + results[name] = searcher.search(results) + outputs[name] = searcher.format if searcher.need_output? + elsif @context[name] + results[name] = @context[name] + else + raise UndefinedSourceError.new(name) end end - post(outputs) + return outputs end class QuerySorter -------------- next part -------------- HTML����������������������������...Download