groonga 0.9.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. metadata +38 -227
  2. data/AUTHORS +0 -5
  3. data/NEWS.ja.rdoc +0 -114
  4. data/NEWS.rdoc +0 -116
  5. data/README.ja.rdoc +0 -63
  6. data/README.rdoc +0 -64
  7. data/Rakefile +0 -216
  8. data/benchmark/common.rb +0 -49
  9. data/benchmark/read-write-many-small-items.rb +0 -144
  10. data/benchmark/write-many-small-items.rb +0 -135
  11. data/example/bookmark.rb +0 -161
  12. data/example/index-html.rb +0 -89
  13. data/example/search/config.ru +0 -211
  14. data/example/search/public/css/groonga.css +0 -122
  15. data/ext/.gitignore +0 -2
  16. data/ext/rb-grn-accessor.c +0 -52
  17. data/ext/rb-grn-array-cursor.c +0 -36
  18. data/ext/rb-grn-array.c +0 -210
  19. data/ext/rb-grn-column.c +0 -570
  20. data/ext/rb-grn-context.c +0 -655
  21. data/ext/rb-grn-database.c +0 -415
  22. data/ext/rb-grn-encoding-support.c +0 -64
  23. data/ext/rb-grn-encoding.c +0 -257
  24. data/ext/rb-grn-exception.c +0 -1110
  25. data/ext/rb-grn-expression-builder.c +0 -75
  26. data/ext/rb-grn-expression.c +0 -732
  27. data/ext/rb-grn-fix-size-column.c +0 -166
  28. data/ext/rb-grn-hash-cursor.c +0 -38
  29. data/ext/rb-grn-hash.c +0 -294
  30. data/ext/rb-grn-index-column.c +0 -488
  31. data/ext/rb-grn-logger.c +0 -325
  32. data/ext/rb-grn-object.c +0 -1335
  33. data/ext/rb-grn-operation.c +0 -198
  34. data/ext/rb-grn-patricia-trie-cursor.c +0 -39
  35. data/ext/rb-grn-patricia-trie.c +0 -488
  36. data/ext/rb-grn-procedure.c +0 -52
  37. data/ext/rb-grn-query.c +0 -260
  38. data/ext/rb-grn-record.c +0 -40
  39. data/ext/rb-grn-snippet.c +0 -328
  40. data/ext/rb-grn-table-cursor-key-support.c +0 -69
  41. data/ext/rb-grn-table-cursor.c +0 -246
  42. data/ext/rb-grn-table-key-support.c +0 -731
  43. data/ext/rb-grn-table.c +0 -2038
  44. data/ext/rb-grn-type.c +0 -181
  45. data/ext/rb-grn-utils.c +0 -769
  46. data/ext/rb-grn-variable-size-column.c +0 -36
  47. data/ext/rb-grn-variable.c +0 -108
  48. data/ext/rb-grn.h +0 -684
  49. data/ext/rb-groonga.c +0 -113
  50. data/extconf.rb +0 -216
  51. data/html/bar.svg +0 -153
  52. data/html/developer.html +0 -121
  53. data/html/developer.svg +0 -469
  54. data/html/download.svg +0 -253
  55. data/html/favicon.ico +0 -0
  56. data/html/favicon.xcf +0 -0
  57. data/html/footer.html.erb +0 -28
  58. data/html/head.html.erb +0 -4
  59. data/html/header.html.erb +0 -17
  60. data/html/index.html +0 -147
  61. data/html/install.svg +0 -636
  62. data/html/logo.xcf +0 -0
  63. data/html/ranguba.css +0 -248
  64. data/html/tutorial.svg +0 -559
  65. data/lib/groonga.rb +0 -83
  66. data/lib/groonga/expression-builder.rb +0 -285
  67. data/lib/groonga/patricia-trie.rb +0 -53
  68. data/lib/groonga/record.rb +0 -276
  69. data/lib/groonga/schema.rb +0 -916
  70. data/license/GPL +0 -340
  71. data/license/LGPL +0 -504
  72. data/license/RUBY +0 -59
  73. data/misc/grnop2ruby.rb +0 -49
  74. data/pkg-config.rb +0 -333
  75. data/src/rb-grn-table-cursor.c +0 -296
  76. data/test-unit/Rakefile +0 -40
  77. data/test-unit/TODO +0 -5
  78. data/test-unit/bin/testrb +0 -5
  79. data/test-unit/html/classic.html +0 -15
  80. data/test-unit/html/index.html +0 -25
  81. data/test-unit/html/index.html.ja +0 -27
  82. data/test-unit/lib/test/unit.rb +0 -323
  83. data/test-unit/lib/test/unit/assertionfailederror.rb +0 -25
  84. data/test-unit/lib/test/unit/assertions.rb +0 -1230
  85. data/test-unit/lib/test/unit/attribute.rb +0 -125
  86. data/test-unit/lib/test/unit/autorunner.rb +0 -353
  87. data/test-unit/lib/test/unit/collector.rb +0 -36
  88. data/test-unit/lib/test/unit/collector/descendant.rb +0 -23
  89. data/test-unit/lib/test/unit/collector/dir.rb +0 -108
  90. data/test-unit/lib/test/unit/collector/load.rb +0 -136
  91. data/test-unit/lib/test/unit/collector/objectspace.rb +0 -34
  92. data/test-unit/lib/test/unit/color-scheme.rb +0 -102
  93. data/test-unit/lib/test/unit/color.rb +0 -96
  94. data/test-unit/lib/test/unit/diff.rb +0 -724
  95. data/test-unit/lib/test/unit/error.rb +0 -130
  96. data/test-unit/lib/test/unit/exceptionhandler.rb +0 -39
  97. data/test-unit/lib/test/unit/failure.rb +0 -136
  98. data/test-unit/lib/test/unit/fixture.rb +0 -176
  99. data/test-unit/lib/test/unit/notification.rb +0 -129
  100. data/test-unit/lib/test/unit/omission.rb +0 -191
  101. data/test-unit/lib/test/unit/pending.rb +0 -150
  102. data/test-unit/lib/test/unit/priority.rb +0 -181
  103. data/test-unit/lib/test/unit/runner/console.rb +0 -52
  104. data/test-unit/lib/test/unit/runner/emacs.rb +0 -8
  105. data/test-unit/lib/test/unit/runner/tap.rb +0 -8
  106. data/test-unit/lib/test/unit/testcase.rb +0 -476
  107. data/test-unit/lib/test/unit/testresult.rb +0 -89
  108. data/test-unit/lib/test/unit/testsuite.rb +0 -110
  109. data/test-unit/lib/test/unit/ui/console/outputlevel.rb +0 -14
  110. data/test-unit/lib/test/unit/ui/console/testrunner.rb +0 -464
  111. data/test-unit/lib/test/unit/ui/emacs/testrunner.rb +0 -63
  112. data/test-unit/lib/test/unit/ui/tap/testrunner.rb +0 -92
  113. data/test-unit/lib/test/unit/ui/testrunner.rb +0 -28
  114. data/test-unit/lib/test/unit/ui/testrunnermediator.rb +0 -77
  115. data/test-unit/lib/test/unit/ui/testrunnerutilities.rb +0 -41
  116. data/test-unit/lib/test/unit/util/backtracefilter.rb +0 -41
  117. data/test-unit/lib/test/unit/util/method-owner-finder.rb +0 -28
  118. data/test-unit/lib/test/unit/util/observable.rb +0 -90
  119. data/test-unit/lib/test/unit/util/procwrapper.rb +0 -48
  120. data/test-unit/lib/test/unit/version.rb +0 -7
  121. data/test-unit/sample/adder.rb +0 -13
  122. data/test-unit/sample/subtracter.rb +0 -12
  123. data/test-unit/sample/test_adder.rb +0 -20
  124. data/test-unit/sample/test_subtracter.rb +0 -20
  125. data/test-unit/sample/test_user.rb +0 -23
  126. data/test-unit/test/collector/test-descendant.rb +0 -133
  127. data/test-unit/test/collector/test-load.rb +0 -329
  128. data/test-unit/test/collector/test_dir.rb +0 -406
  129. data/test-unit/test/collector/test_objectspace.rb +0 -100
  130. data/test-unit/test/run-test.rb +0 -15
  131. data/test-unit/test/test-attribute.rb +0 -86
  132. data/test-unit/test/test-color-scheme.rb +0 -67
  133. data/test-unit/test/test-color.rb +0 -47
  134. data/test-unit/test/test-diff.rb +0 -518
  135. data/test-unit/test/test-emacs-runner.rb +0 -60
  136. data/test-unit/test/test-fixture.rb +0 -287
  137. data/test-unit/test/test-notification.rb +0 -33
  138. data/test-unit/test/test-omission.rb +0 -81
  139. data/test-unit/test/test-pending.rb +0 -70
  140. data/test-unit/test/test-priority.rb +0 -119
  141. data/test-unit/test/test-testcase.rb +0 -554
  142. data/test-unit/test/test_assertions.rb +0 -1151
  143. data/test-unit/test/test_error.rb +0 -26
  144. data/test-unit/test/test_failure.rb +0 -33
  145. data/test-unit/test/test_testresult.rb +0 -113
  146. data/test-unit/test/test_testsuite.rb +0 -129
  147. data/test-unit/test/testunit-test-util.rb +0 -14
  148. data/test-unit/test/ui/test_testrunmediator.rb +0 -20
  149. data/test-unit/test/util/test-method-owner-finder.rb +0 -38
  150. data/test-unit/test/util/test_backtracefilter.rb +0 -41
  151. data/test-unit/test/util/test_observable.rb +0 -102
  152. data/test-unit/test/util/test_procwrapper.rb +0 -36
  153. data/test/.gitignore +0 -1
  154. data/test/groonga-test-utils.rb +0 -106
  155. data/test/run-test.rb +0 -58
  156. data/test/test-array.rb +0 -97
  157. data/test/test-column.rb +0 -298
  158. data/test/test-context.rb +0 -73
  159. data/test/test-database.rb +0 -113
  160. data/test/test-encoding.rb +0 -33
  161. data/test/test-exception.rb +0 -93
  162. data/test/test-expression-builder.rb +0 -156
  163. data/test/test-expression.rb +0 -133
  164. data/test/test-fix-size-column.rb +0 -65
  165. data/test/test-gqtp.rb +0 -70
  166. data/test/test-hash.rb +0 -312
  167. data/test/test-index-column.rb +0 -81
  168. data/test/test-patricia-trie.rb +0 -189
  169. data/test/test-procedure.rb +0 -37
  170. data/test/test-query.rb +0 -22
  171. data/test/test-record.rb +0 -268
  172. data/test/test-remote.rb +0 -53
  173. data/test/test-schema.rb +0 -416
  174. data/test/test-snippet.rb +0 -121
  175. data/test/test-table-cursor.rb +0 -153
  176. data/test/test-table-offset-and-limit.rb +0 -102
  177. data/test/test-table-select-normalize.rb +0 -48
  178. data/test/test-table-select.rb +0 -145
  179. data/test/test-table.rb +0 -642
  180. data/test/test-type.rb +0 -61
  181. data/test/test-variable-size-column.rb +0 -98
  182. data/test/test-variable.rb +0 -28
  183. data/test/test-vector-column.rb +0 -76
  184. data/test/test-version.rb +0 -31
  185. data/text/TUTORIAL.ja.rdoc +0 -392
  186. data/text/expression.rdoc +0 -284
data/text/expression.rdoc DELETED
@@ -1,284 +0,0 @@
1
-
2
- = grn式 (grn_expr)
3
-
4
-
5
- == 名前
6
-
7
- grn式 - 検索条件やデータベースへの操作を表現する文字列の形式。(読み方:"ぐるんしき")
8
-
9
-
10
- == 書式
11
-
12
- grn式はquery形式とscript形式のいずれかによって表現することができます。
13
-
14
- query形式
15
-
16
- [条件式]
17
- 以下の条件式が使用できます。
18
-
19
- [文字列]
20
- 全文検索条件(デフォルト検索対象カラムの値が指定された文字列を含んでいる)
21
-
22
- ["文字列"]
23
- フレーズ検索条件(デフォルト検索対象カラムの値が指定されたフレーズを含んでいる)
24
-
25
- [カラム名:値]
26
- 一致条件(カラム値 == 値)
27
-
28
- [カラム名:!値]
29
- 不一致条件(カラム値 != 値)
30
-
31
- [カラム名:<値]
32
- 比較条件(カラム値 < 値)
33
-
34
- [カラム名:>値]
35
- 比較条件(カラム値 > 値)
36
-
37
- [カラム名:<=値]
38
- 比較条件(カラム値 <= 値)
39
-
40
- [カラム名:>=値]
41
- 比較条件(カラム値 >= 値)
42
-
43
- [カラム名:@文字列]
44
- 全文検索条件(カラム値が指定された文字列を含んでいる)
45
-
46
- [補助演算子 [1]]
47
- 全文検索条件の挙動を制御する以下の演算子が指定できます。
48
-
49
- [~文字列]
50
- 文字列を含んでいた場合は、そのレコードのスコアを下げます。
51
-
52
- [<文字列]
53
- 文字列を含んでいた場合に加算されるスコアの値を小さくします。
54
-
55
- [>文字列]
56
- 文字列を含んでいた場合に加算されるスコアの値を大きくします。
57
-
58
- [文字列*]
59
- 文字列に前方一致する条件を示します。
60
-
61
- [*S[数値]"文字列"]
62
- 文字列と関連する文書を検索します。文字列から抽出する特徴語の数を数値に指定します。
63
-
64
- [*N[数値]"文字列"]
65
- 文字列に含まれる複数の語が、近傍に含まれる文書を検索します。近傍の範囲の上限とな
66
- る語数を数値に指定します。N-gramの場合は、文字数を指定します。
67
-
68
- [結合演算子]
69
- 複数の条件式を結合するために以下の演算子が使用できる。演算子を伴わずに複数の条件式 が空白('
70
- ')区切りで指定された場合は、デフォルトの結合演算子が指定されたものとみな される。
71
-
72
- [a OR b]
73
- 論理和(aとbといずれかの条件がマッチする)
74
-
75
- [a + b]
76
- 論理積(aとbの両方がマッチする)
77
-
78
- [a - b]
79
- aにマッチし、bにはマッチしない
80
-
81
- [( )]
82
- 複数の条件をまとめる
83
-
84
- [プラグマ [2]]
85
- query形式文字列の先頭に、処理方法を指定するプラグマを埋め込むことができます。
86
-
87
- プラグマは必ずクエリ文字列の冒頭に存在しなければなりません。(先頭に空白を入れては いけません)
88
-
89
- 一つのクエリに複数のプラグマを指定することができます。
90
-
91
- 複数のプラグマを指定する場合は、間に空白を入れてはいけません。
92
-
93
- [*E数値1[,数値2]]
94
- 検索結果の数が数値1よりも小さい場合、完全一致→非わかち書き→部分一致の順に自動
95
- 的に検索処理方法を切り替えます。完全一致でヒットした文書と比べて非わかち書き一致、
96
- 部分一致でヒットした文書には数値2分だけ小さいスコアを付与します。数値2を省略した
97
- 場合は既定値(=2)と解釈されます。数値1に負の数を指定した場合は以下のように処理し ます。
98
-
99
- -1
100
-
101
- 完全一致検索のみを行う
102
-
103
- -2
104
-
105
- 非わかち書き検索のみを行う
106
-
107
- -3
108
-
109
- 完全一致検索と非わかち書き検索のみを行う
110
-
111
- -4
112
-
113
- 部分一致検索のみを行う
114
-
115
- -5
116
-
117
- 完全一致検索と部分一致検索のみを行う
118
-
119
- -6
120
-
121
- 非わかち書き検索と部分一致検索のみを行う
122
-
123
- -7
124
-
125
- 完全一致検索,非わかち書き検索,部分一致検索の全てを行う
126
-
127
- 例:
128
-
129
- *E10,3
130
-
131
- 検索結果数が10件以下だった場合に検索処理方法を順次切り替え、スコアを3ずつ小さ くします。
132
-
133
- [*D演算子]
134
- 結合演算子の既定値(演算子を省略した場合にどの演算を行うか)を指定します。指定できる演 算子は、OR, +, - のいずれかです。
135
-
136
- 例1:
137
-
138
- *D+ abc def
139
-
140
- abcとdefを両方含む文書を検索します。
141
-
142
- 例2:
143
-
144
- *DOR abc def
145
-
146
- abcとdefのいずれかを含む文書を検索します。
147
-
148
- [*W[数値[:重み][,数値[:重み]]...]
149
- 数値で指定されたセクション番号のみを対象に検索します。セクションごとに検索スコア
150
- の倍数を指定することができます。重みは、省略された場合1となります。負の重みも指 定することができます。
151
-
152
- script形式 [3]
153
-
154
- ECMAScript風の構文で検索条件やレコードへの操作を記述します。
155
-
156
- 式中のIDENTIFIER(識別子)は、以下のいずれかを指します。
157
-
158
- [引数名]
159
- grn式が受け取る引数の名前
160
-
161
- [カラム名]
162
- 操作対象としているレコードのカラム名
163
-
164
- [型名・関数名・テーブル名]
165
- データベースに定義された型・テーブル・関数の名前
166
-
167
-
168
- == 説明
169
-
170
- grn式は、検索条件やデータベースへの操作を表現するために使用される文字列の形式です。
171
-
172
- selectやloadなどのいくつかの組込コマンドや、API関数grn_table_select()などで使用されます。grn式はquery
173
- 形式とscript形式という2種類の方式で記述することができます。query形式は、多くのweb検索エンジンなどで検索フォームにユーザが指定
174
- 可能なクエリ文字列の書式に合わせた形式です。script形式は、ECMAScriptの構文から式(expression)以下の構文要素を抜粋
175
- した形式になっており、文(statement)や制御構造などは表現できません。
176
-
177
- query形式のgrn式もscript形式のgrn式も、共通の中間形式に翻訳された上で処理されますので、処理速度や効率には差違はありません。
178
- 記述できる処理の範囲はscript形式の方がquery形式より広くなっています。たとえば更新系の操作はscript形式のみで記述できます。
179
-
180
- DB-APIレイヤでは、異なる形式で記述された複数のgrn式を結合することも可能です。
181
-
182
-
183
- == 例
184
-
185
- query形式でcolumn1の値が'hoge'に等しいという条件
186
-
187
- column1:hoge
188
-
189
- script形式でcolumn1の値が'hoge'に等しいという条件
190
-
191
- column1 == "hoge"
192
-
193
-
194
- == 構文
195
-
196
- query形式のgrn式で有効な式の構文を拡張BNF記法で示します。
197
-
198
- query ::= query_element
199
- | ( query query_element )
200
- | ( query "+" query_element )
201
- | ( query "-" query_element )
202
- | ( query "OR" query_element )
203
- query_element ::= STRING
204
- | ( "(" query ")" )
205
- | ( IDENTIFIER relative_operator query_element )
206
- relative_operator ::= ( ":" | ":!" | ":<" | ":>" | ":<=" | ":>=" | ":@" )
207
-
208
- script形式のgrn式で有効な式の構文を拡張BNF記法で示します。
209
-
210
- expression ::= assignment_expression
211
- expression ::= ( expression "," assignment_expression )
212
- assignment_expression ::= conditional_expression
213
- | ( lefthand_side_expression assign_operator assignment_expression )
214
- assign_operator ::= ( "=" | "*=" | "/=" | "%=" | "+=" | "-=" | "<<=" | ">>=" | ">>>=" | "&=" | "^=" | "|=" )
215
- conditional_expression ::= logical_or_expression
216
- | ( logical_or_expression "?" assignment_expression ":" assignment_expression )
217
- logical_or_expression ::= logical_and_expression
218
- | ( logical_or_expression "||" logical_and_expression )
219
- logical_and_expression ::= bitwise_or_expression
220
- | ( logical_and_expression logical_and_operator bitwise_or_expression )
221
- logical_and_operator ::= ( "&&" | "&!" )
222
- bitwise_or_expression ::= bitwise_xor_expression
223
- | ( bitwise_or_expression "|" bitwise_xor_expression )
224
- bitwise_xor_expression ::= bitwise_and_expression
225
- | ( bitwise_xor_expression "^" bitwise_and_expression )
226
- bitwise_and_expression ::= equality_expression
227
- | bitwise_and_expression "&" equality_expression )
228
- equality_expression ::= relational_expression
229
- | ( equality_expression equality_operator relational_expression )
230
- equality_operator ::= ( "==" | "!=" )
231
- relational_expression ::= shift_expression
232
- | ( relational_expression relational_operator shift_expression )
233
- relational_operator ::= ( "<" | ">" | "<=" | ">=" | "in" | "@" )
234
- shift_expression ::= additive_expression
235
- | ( shift_expression shift_operator additive_expression )
236
- shift_operator ::= ( "<<" | ">>" | ">>>" )
237
- additive_expression ::= multiplicative_expression
238
- | ( additive_expression additive_operator multiplicative_expression )
239
- additive_operator ::= ( "+" | "-" )
240
- multiplicative_expression ::= unary_expression
241
- | ( multiplicative_expression multiplicative_operator unary_expression )
242
- multiplicative_operator ::= ( "*" | "/" | "%" )
243
- unary_expression ::= postfix_expression
244
- | ( unary_operator unary_expression )
245
- unary_operator ::= ( "delete" : "++" : "--" : "+" : "-" : "!" : "~" )
246
- postfix_expression ::= lefthand_side_expression
247
- | ( lefthand_side_expression postfix_operator )
248
- postfix_operator ::= ( "++" | "--" )
249
- lefthand_side_expression ::= (call_expression | member_expression)
250
- call_expression ::= member_expression arguments
251
- member_expression ::= primary_expression
252
- member_expression ::= member_expression member_expression_part
253
- primary_expression ::= object_literal
254
- | ( "(" expression ")" )
255
- | IDENTIFIER
256
- | array_literal
257
- | DECIMAL
258
- | HEX_INTEGER
259
- | STRING
260
- | "true"
261
- | "false
262
- | "null"
263
- array_literal ::= ( "[" elision "]" )
264
- | ( "[" `element_list elision` "]" )
265
- | ( "[" element_list "]" )
266
- elision ::= "," | ( elision "," )
267
- element_list ::= assignment_expression
268
- | ( elision assignment_expression )
269
- | ( element_list elision assignment_expression )
270
- object_literal ::= ( "{" property_name_and_value_list "}" )
271
- property_name_and_value_list ::= ( property_name_and_value_list "," property_name_and_value )
272
- property_name_and_value ::= ( property_name ":" assignment_expression )
273
- property_name ::= IDENTIFIER | STRING | DECIMAL
274
- member_expression_part ::= "[" expression "]" | ( "." IDENTIFIER )
275
- arguments ::= ( "(" argument_list ")" )
276
- argument_list ::= assignment_expression | ( argument_list "," assignment_expression )
277
-
278
- -[ 脚注 ]-
279
-
280
- [1] 補助演算子はv1.0でサポートされます。
281
-
282
- [2] プラグマはv1.0でサポートされます。
283
-
284
- [3] script形式のgrn式はv1.0でサポートされます。