groonga 0.9.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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でサポートされます。