[Groonga-commit] groonga/grnxx at a1764cf [master] Add new options for grnxx::Merger.

Back to archive index

susumu.yata null+****@clear*****
Fri Jun 20 12:54:31 JST 2014


susumu.yata	2014-06-20 12:54:31 +0900 (Fri, 20 Jun 2014)

  New Revision: a1764cf9c1657f46e943f77823a84b8bc3f2c2ed
  https://github.com/groonga/grnxx/commit/a1764cf9c1657f46e943f77823a84b8bc3f2c2ed

  Message:
    Add new options for grnxx::Merger.

  Modified files:
    new-interface/merger.hpp

  Modified: new-interface/merger.hpp (+20 -1)
===================================================================
--- new-interface/merger.hpp    2014-06-20 11:16:29 +0900 (0af0453)
+++ new-interface/merger.hpp    2014-06-20 12:54:31 +0900 (8423cf1)
@@ -5,6 +5,8 @@
 
 namespace grnxx {
 
+// TODO: オプションの名前などは後で調整する.
+
 enum MergeLogicalOperator {
   // 両方に含まれるレコードを残す.
   MERGE_LOGICAL_AND,
@@ -16,7 +18,10 @@ enum MergeLogicalOperator {
   MERGE_LOGICAL_XOR,
 
   // 一つ目の入力には含まれていて,二つ目の入力には含まれていないものを残す.
-  MERGE_LOGICAL_SUB
+  MERGE_LOGICAL_SUB,
+
+  // 一つ目の入力をそのまま残して,スコアの合成のみをおこなう.
+  MERGE_LOGICAL_LHS
 };
 
 enum MergeScoreOperator {
@@ -28,6 +33,17 @@ enum MergeScoreOperator {
 
   // スコアを乗算する.
   MERGE_SCORE_MUL
+
+  // 減算は Adjuster との組み合わせでも実現できるものの,
+  // Merger でサポートした方が便利かつ効率的になる.
+};
+
+enum MergeResultOrder {
+  // 出力の順序は一つ目の入力に準拠する.
+  MERGE_ORDER_AS_IS,
+
+  // 出力の順序は任意とする.
+  MERGE_ORDER_ARBITRARY
 };
 
 struct MergerOptions {
@@ -37,6 +53,9 @@ struct MergerOptions {
   // スコアの合成に用いる演算子.
   MergeLogicalOperator score_operator;
 
+  // 出力の順序.
+  MergeResultOrder result_order;
+
   MergerOptions();
 };
 
-------------- next part --------------
HTML����������������������������...
Télécharger 



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