[Groonga-commit] groonga/fluent-plugin-droonga at e1e8fd1 [master] Divide the search method.

Back to archive index

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 



More information about the Groonga-commit mailing list
Back to archive index