YUKI Hiroshi
null+****@clear*****
Fri Nov 15 17:43:06 JST 2013
YUKI Hiroshi 2013-11-15 17:43:06 +0900 (Fri, 15 Nov 2013) New Revision: 41958f636e76b1f058122cdca87a671a605e1765 https://github.com/droonga/droonga.org/commit/41958f636e76b1f058122cdca87a671a605e1765 Message: Add description about "groupBy" parameter Modified files: ja/reference/commands/search/index.md Modified: ja/reference/commands/search/index.md (+46 -16) =================================================================== --- ja/reference/commands/search/index.md 2013-11-15 17:24:52 +0900 (ec75e82) +++ ja/reference/commands/search/index.md 2013-11-15 17:43:06 +0900 (a62d5b8) @@ -228,7 +228,8 @@ layout: documents ##### 基本的なソート条件の指定 {#query-sortBy-array} ソート条件はカラム名の文字列の配列として指定します。 -まず最初に指定したカラムの値でレコードをソートし、カラムの値が同じレコードが複数あった場合は2番目に指定したカラムの値でさらにソートする、という形で、すべての指定カラムの値に基づいてソートを行います。 + +Droongaはまず最初に指定したカラムの値でレコードをソートし、カラムの値が同じレコードが複数あった場合は2番目に指定したカラムの値でさらにソートする、という形で、すべての指定カラムの値に基づいてソートを行います。 ソート対象のカラムを1つだけ指定する場合であっても、必ず配列として指定する必要があります。 @@ -278,12 +279,12 @@ layout: documents #### `groupBy` 概要 -: 処理対象のレコードを集約する条件を指定します。 +: 処理対象のレコード群を集約する条件を指定します。 値 : 以下のパターンのいずれかをとります。 - 1. 単純な集約条件(カラム名または式)の文字列。 + 1. 基本的な集約条件(カラム名または式)の文字列。 2. 複雑な集約条件を指定するハッシュ。 指定の省略 @@ -296,22 +297,51 @@ layout: documents ##### 基本的な集約条件の指定 {#query-groupBy-string} -(未稿) +基本的な集約条件では、処理対象のレコード群が持つカラムの名前を文字列として指定します。 + +Droongaはそのカラムの値が同じであるレコードを集約し、カラムの値をキーとした新しいレコード群を結果として出力します。 +集約結果のレコードは以下のカラムを持ちます。 + +`_key` +: 集約前のレコード群における、集約対象のカラムの値です。 + +`_nsubrecs` +: 集約前のレコード群における、集約対象のカラムの値が一致するレコードの総数を示す数値です。 + +例えば以下は、`job` カラムの値でレコードを集約し、`job` カラムの値としてどれだけの種類が存在しているのか、および、各 `job` の値を持つレコードが何件存在しているのかを集約結果として取り出すという意味になります。 + + "job" ##### 複雑な集約条件の指定 {#query-groupBy-hash} -(未稿) - -<!-- - "groupBy": {"key": "name", "maxNSubRecords": 2}, - // a String or an Object. - // - // A String: column name or expression used a the group key. - // - // An Object: "key" value is the group key. "maxNSubRecords" - // value is an integer number to control the maximum number - // of sub-records to be stored in each grouped record. ---> +集約の指定において、集約結果の一部として出力する集約前のレコードの数を、以下の形式で指定する事ができます。 + + { + "key" : "基本的な集約条件", + "maxNSubRecords" : 集約結果の一部として出力する集約前のレコードの数 + } + +`key` +: [基本的な集約条件の指定](#query-groupBy-string)の形式による、集約条件を指定する文字列。 + このパラメータは省略できません。 + +`maxNSubRecords` +: 集約結果の一部として出力する集約前のレコードの最大数を示す `0` または正の整数。 + `-1` は指定できません。 + + このパラメータは省略可能で、省略時の既定値は `0` です。 + +例えば以下は、`job` カラムの値でレコードを集約した結果について、各 `job` カラムの値を含んでいるレコードを代表として1件ずつ取り出すという意味になります。 + + { + "key" : "job", + "maxNSubRecords" : 1 + } + +集約結果のレコードは、[基本的な集約条件の指定](#query-groupBy-string)の集約結果のレコード群が持つすべてのカラムに加えて、以下のカラムを持ちます。 + +`_subrecs` +: 集約前のレコード群における、集約対象のカラムの値が一致するレコードの配列。 #### `output` {#query-output} -------------- next part -------------- HTML����������������������������...Download