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