rroonga 0.9.5-x86-mingw32 → 1.0.1-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (421) hide show
  1. data/NEWS.ja.rdoc +24 -0
  2. data/NEWS.rdoc +24 -0
  3. data/README.ja.rdoc +3 -2
  4. data/README.rdoc +3 -2
  5. data/Rakefile +15 -6
  6. data/ext/groonga/extconf.rb +25 -25
  7. data/ext/groonga/groonga.def +2 -0
  8. data/ext/groonga/rb-grn-array.c +1 -1
  9. data/ext/groonga/rb-grn-exception.c +14 -0
  10. data/ext/groonga/rb-grn-hash.c +1 -1
  11. data/ext/groonga/rb-grn-index-column.c +13 -1
  12. data/ext/groonga/rb-grn-object.c +2 -2
  13. data/ext/groonga/rb-grn-patricia-trie.c +394 -1
  14. data/ext/groonga/rb-grn-table.c +33 -2
  15. data/ext/groonga/rb-grn.h +3 -3
  16. data/html/index.html +1 -1
  17. data/lib/1.8/groonga.so +0 -0
  18. data/lib/1.9/groonga.so +0 -0
  19. data/lib/groonga/record.rb +32 -2
  20. data/lib/groonga/schema.rb +1 -1
  21. data/rroonga-build.rb +3 -3
  22. data/test/test-patricia-trie.rb +172 -1
  23. data/test/test-record.rb +7 -0
  24. data/test/test-remote.rb +2 -1
  25. data/test/test-table-cursor.rb +35 -1
  26. data/test/test-table-select-normalize.rb +7 -3
  27. data/vendor/local/bin/grntest.exe +0 -0
  28. data/vendor/local/bin/groonga.exe +0 -0
  29. data/vendor/local/bin/libgroonga-0.dll +0 -0
  30. data/vendor/local/etc/groonga/groonga.conf +11 -0
  31. data/vendor/local/etc/groonga/init.d/redhat/groonga +168 -0
  32. data/vendor/local/etc/groonga/init.d/redhat/sysconfig/groonga +8 -0
  33. data/vendor/local/include/groonga/groonga.h +38 -12
  34. data/vendor/local/lib/groonga/modules/suggest/suggest.a +0 -0
  35. data/vendor/local/lib/groonga/modules/suggest/suggest.dll +0 -0
  36. data/vendor/local/lib/groonga/modules/suggest/suggest.dll.a +0 -0
  37. data/vendor/local/lib/groonga/modules/{functions/cast.la → suggest/suggest.la} +6 -6
  38. data/vendor/local/lib/libgroonga.a +0 -0
  39. data/vendor/local/lib/libgroonga.dll.a +0 -0
  40. data/vendor/local/lib/pkgconfig/groonga.pc +1 -1
  41. data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  42. data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  43. data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png +0 -0
  44. data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  45. data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  46. data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  47. data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  48. data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  49. data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  50. data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-icons_222222_256x240.png +0 -0
  51. data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-icons_228ef1_256x240.png +0 -0
  52. data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-icons_ef8c08_256x240.png +0 -0
  53. data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-icons_ffd27a_256x240.png +0 -0
  54. data/vendor/local/share/groonga/admin_html/css/ui-lightness/images/ui-icons_ffffff_256x240.png +0 -0
  55. data/vendor/local/share/groonga/admin_html/images/groonga.png +0 -0
  56. data/vendor/local/share/groonga/admin_html/images/loading.gif +0 -0
  57. data/vendor/local/share/groonga/admin_html/js/jquery.json-2.2.min.js +31 -0
  58. data/vendor/local/share/groonga/doc/ja/html/.buildinfo +4 -0
  59. data/vendor/local/share/groonga/doc/ja/html/_sources/characteristic.txt +56 -0
  60. data/vendor/local/share/groonga/doc/ja/html/_sources/commands.txt +10 -0
  61. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/cache_limit.txt +52 -0
  62. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/check.txt +164 -0
  63. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/clearlock.txt +61 -0
  64. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/column_create.txt +93 -0
  65. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/column_list.txt +97 -0
  66. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/column_remove.txt +58 -0
  67. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/define_selector.txt +114 -0
  68. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/defrag.txt +57 -0
  69. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/delete.txt +68 -0
  70. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/dump.txt +62 -0
  71. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/load.txt +98 -0
  72. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/log_level.txt +65 -0
  73. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/log_put.txt +69 -0
  74. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/log_reopen.txt +66 -0
  75. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/quit.txt +38 -0
  76. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/select.txt +247 -0
  77. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/shutdown.txt +38 -0
  78. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/status.txt +59 -0
  79. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/suggest.txt +79 -0
  80. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/table_create.txt +111 -0
  81. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/table_list.txt +87 -0
  82. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/table_remove.txt +50 -0
  83. data/vendor/local/share/groonga/doc/ja/html/_sources/commands/view_add.txt +53 -0
  84. data/vendor/local/share/groonga/doc/ja/html/_sources/commands_not_implemented/add.txt +102 -0
  85. data/vendor/local/share/groonga/doc/ja/html/_sources/commands_not_implemented/get.txt +78 -0
  86. data/vendor/local/share/groonga/doc/ja/html/_sources/commands_not_implemented/set.txt +103 -0
  87. data/vendor/local/share/groonga/doc/ja/html/_sources/developer.txt +10 -0
  88. data/vendor/local/share/groonga/doc/ja/html/_sources/developer/com.txt +18 -0
  89. data/vendor/local/share/groonga/doc/ja/html/_sources/developer/document.txt +38 -0
  90. data/vendor/local/share/groonga/doc/ja/html/_sources/developer/query.txt +212 -0
  91. data/vendor/local/share/groonga/doc/ja/html/_sources/developer/test.txt +114 -0
  92. data/vendor/local/share/groonga/doc/ja/html/_sources/execfile.txt +226 -0
  93. data/vendor/local/share/groonga/doc/ja/html/_sources/expr.txt +43 -0
  94. data/vendor/local/share/groonga/doc/ja/html/_sources/functions.txt +10 -0
  95. data/vendor/local/share/groonga/doc/ja/html/_sources/functions/edit_distance.txt +48 -0
  96. data/vendor/local/share/groonga/doc/ja/html/_sources/functions/geo_distance.txt +51 -0
  97. data/vendor/local/share/groonga/doc/ja/html/_sources/functions/geo_in_circle.txt +54 -0
  98. data/vendor/local/share/groonga/doc/ja/html/_sources/functions/geo_in_rectangle.txt +55 -0
  99. data/vendor/local/share/groonga/doc/ja/html/_sources/functions/now.txt +34 -0
  100. data/vendor/local/share/groonga/doc/ja/html/_sources/functions/rand.txt +41 -0
  101. data/vendor/local/share/groonga/doc/ja/html/_sources/grnslap.txt +64 -0
  102. data/vendor/local/share/groonga/doc/ja/html/_sources/grntest.txt +259 -0
  103. data/vendor/local/share/groonga/doc/ja/html/_sources/http.txt +52 -0
  104. data/vendor/local/share/groonga/doc/ja/html/_sources/index.txt +21 -0
  105. data/vendor/local/share/groonga/doc/ja/html/_sources/install.txt +114 -0
  106. data/vendor/local/share/groonga/doc/ja/html/_sources/news.txt +199 -0
  107. data/vendor/local/share/groonga/doc/ja/html/_sources/process.txt +12 -0
  108. data/vendor/local/share/groonga/doc/ja/html/_sources/pseudo_column.txt +38 -0
  109. data/vendor/local/share/groonga/doc/ja/html/_sources/reference.txt +14 -0
  110. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial.txt +10 -0
  111. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial/tutorial01.txt +293 -0
  112. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial/tutorial02.txt +100 -0
  113. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial/tutorial03.txt +72 -0
  114. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial/tutorial04.txt +111 -0
  115. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial/tutorial05.txt +65 -0
  116. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial/tutorial06.txt +91 -0
  117. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial/tutorial07.txt +92 -0
  118. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial/tutorial08.txt +53 -0
  119. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial/tutorial09.txt +9 -0
  120. data/vendor/local/share/groonga/doc/ja/html/_sources/tutorial/tutorial10.txt +486 -0
  121. data/vendor/local/share/groonga/doc/ja/html/_sources/type.txt +118 -0
  122. data/vendor/local/share/groonga/doc/ja/html/_static/basic.css +509 -0
  123. data/vendor/local/share/groonga/doc/ja/html/_static/default.css +277 -0
  124. data/vendor/local/share/groonga/doc/ja/html/_static/doctools.js +247 -0
  125. data/vendor/local/share/groonga/doc/ja/html/_static/file.png +0 -0
  126. data/vendor/local/share/groonga/doc/ja/html/_static/jquery.js +6240 -0
  127. data/vendor/local/share/groonga/doc/ja/html/_static/minus.png +0 -0
  128. data/vendor/local/share/groonga/doc/ja/html/_static/plus.png +0 -0
  129. data/vendor/local/share/groonga/doc/ja/html/_static/pygments.css +61 -0
  130. data/vendor/local/share/groonga/doc/ja/html/_static/searchtools.js +518 -0
  131. data/vendor/local/share/groonga/doc/ja/html/_static/sidebar.js +147 -0
  132. data/vendor/local/share/groonga/doc/ja/html/_static/underscore.js +16 -0
  133. data/vendor/local/share/groonga/doc/ja/html/characteristic.html +162 -0
  134. data/vendor/local/share/groonga/doc/ja/html/commands.html +139 -0
  135. data/vendor/local/share/groonga/doc/ja/html/commands/cache_limit.html +173 -0
  136. data/vendor/local/share/groonga/doc/ja/html/commands/check.html +285 -0
  137. data/vendor/local/share/groonga/doc/ja/html/commands/clearlock.html +180 -0
  138. data/vendor/local/share/groonga/doc/ja/html/commands/column_create.html +210 -0
  139. data/vendor/local/share/groonga/doc/ja/html/commands/column_list.html +220 -0
  140. data/vendor/local/share/groonga/doc/ja/html/commands/column_remove.html +183 -0
  141. data/vendor/local/share/groonga/doc/ja/html/commands/define_selector.html +221 -0
  142. data/vendor/local/share/groonga/doc/ja/html/commands/defrag.html +177 -0
  143. data/vendor/local/share/groonga/doc/ja/html/commands/delete.html +182 -0
  144. data/vendor/local/share/groonga/doc/ja/html/commands/dump.html +177 -0
  145. data/vendor/local/share/groonga/doc/ja/html/commands/load.html +208 -0
  146. data/vendor/local/share/groonga/doc/ja/html/commands/log_level.html +187 -0
  147. data/vendor/local/share/groonga/doc/ja/html/commands/log_put.html +190 -0
  148. data/vendor/local/share/groonga/doc/ja/html/commands/log_reopen.html +188 -0
  149. data/vendor/local/share/groonga/doc/ja/html/commands/quit.html +156 -0
  150. data/vendor/local/share/groonga/doc/ja/html/commands/select.html +331 -0
  151. data/vendor/local/share/groonga/doc/ja/html/commands/shutdown.html +156 -0
  152. data/vendor/local/share/groonga/doc/ja/html/commands/status.html +179 -0
  153. data/vendor/local/share/groonga/doc/ja/html/commands/suggest.html +191 -0
  154. data/vendor/local/share/groonga/doc/ja/html/commands/table_create.html +222 -0
  155. data/vendor/local/share/groonga/doc/ja/html/commands/table_list.html +202 -0
  156. data/vendor/local/share/groonga/doc/ja/html/commands/table_remove.html +173 -0
  157. data/vendor/local/share/groonga/doc/ja/html/commands/view_add.html +175 -0
  158. data/vendor/local/share/groonga/doc/ja/html/commands_not_implemented/add.html +180 -0
  159. data/vendor/local/share/groonga/doc/ja/html/commands_not_implemented/get.html +161 -0
  160. data/vendor/local/share/groonga/doc/ja/html/commands_not_implemented/set.html +182 -0
  161. data/vendor/local/share/groonga/doc/ja/html/developer.html +118 -0
  162. data/vendor/local/share/groonga/doc/ja/html/developer/com.html +136 -0
  163. data/vendor/local/share/groonga/doc/ja/html/developer/document.html +159 -0
  164. data/vendor/local/share/groonga/doc/ja/html/developer/query.html +336 -0
  165. data/vendor/local/share/groonga/doc/ja/html/developer/test.html +220 -0
  166. data/vendor/local/share/groonga/doc/ja/html/execfile.html +370 -0
  167. data/vendor/local/share/groonga/doc/ja/html/expr.html +157 -0
  168. data/vendor/local/share/groonga/doc/ja/html/functions.html +122 -0
  169. data/vendor/local/share/groonga/doc/ja/html/functions/edit_distance.html +162 -0
  170. data/vendor/local/share/groonga/doc/ja/html/functions/geo_distance.html +170 -0
  171. data/vendor/local/share/groonga/doc/ja/html/functions/geo_in_circle.html +173 -0
  172. data/vendor/local/share/groonga/doc/ja/html/functions/geo_in_rectangle.html +172 -0
  173. data/vendor/local/share/groonga/doc/ja/html/functions/now.html +152 -0
  174. data/vendor/local/share/groonga/doc/ja/html/functions/rand.html +159 -0
  175. data/vendor/local/share/groonga/doc/ja/html/genindex.html +227 -0
  176. data/vendor/local/share/groonga/doc/ja/html/grnslap.html +183 -0
  177. data/vendor/local/share/groonga/doc/ja/html/grntest.html +368 -0
  178. data/vendor/local/share/groonga/doc/ja/html/http.html +163 -0
  179. data/vendor/local/share/groonga/doc/ja/html/index.html +291 -0
  180. data/vendor/local/share/groonga/doc/ja/html/install.html +228 -0
  181. data/vendor/local/share/groonga/doc/ja/html/news.html +310 -0
  182. data/vendor/local/share/groonga/doc/ja/html/objects.inv +0 -0
  183. data/vendor/local/share/groonga/doc/ja/html/process.html +120 -0
  184. data/vendor/local/share/groonga/doc/ja/html/pseudo_column.html +147 -0
  185. data/vendor/local/share/groonga/doc/ja/html/reference.html +174 -0
  186. data/vendor/local/share/groonga/doc/ja/html/search.html +96 -0
  187. data/vendor/local/share/groonga/doc/ja/html/searchindex.js +1 -0
  188. data/vendor/local/share/groonga/doc/ja/html/tutorial.html +172 -0
  189. data/vendor/local/share/groonga/doc/ja/html/tutorial/tutorial01.html +388 -0
  190. data/vendor/local/share/groonga/doc/ja/html/tutorial/tutorial02.html +214 -0
  191. data/vendor/local/share/groonga/doc/ja/html/tutorial/tutorial03.html +183 -0
  192. data/vendor/local/share/groonga/doc/ja/html/tutorial/tutorial04.html +212 -0
  193. data/vendor/local/share/groonga/doc/ja/html/tutorial/tutorial05.html +169 -0
  194. data/vendor/local/share/groonga/doc/ja/html/tutorial/tutorial06.html +209 -0
  195. data/vendor/local/share/groonga/doc/ja/html/tutorial/tutorial07.html +212 -0
  196. data/vendor/local/share/groonga/doc/ja/html/tutorial/tutorial08.html +139 -0
  197. data/vendor/local/share/groonga/doc/ja/html/tutorial/tutorial09.html +114 -0
  198. data/vendor/local/share/groonga/doc/ja/html/tutorial/tutorial10.html +458 -0
  199. data/vendor/local/share/groonga/doc/ja/html/type.html +217 -0
  200. data/vendor/local/share/groonga/doc/ja/source/__init__.py +0 -0
  201. data/vendor/local/share/groonga/doc/ja/source/characteristic.txt +56 -0
  202. data/vendor/local/share/groonga/doc/ja/source/commands.txt +10 -0
  203. data/vendor/local/share/groonga/doc/ja/source/commands/cache_limit.txt +52 -0
  204. data/vendor/local/share/groonga/doc/ja/source/commands/check.txt +164 -0
  205. data/vendor/local/share/groonga/doc/ja/source/commands/clearlock.txt +61 -0
  206. data/vendor/local/share/groonga/doc/ja/source/commands/column_create.txt +93 -0
  207. data/vendor/local/share/groonga/doc/ja/source/commands/column_list.txt +97 -0
  208. data/vendor/local/share/groonga/doc/ja/source/commands/column_remove.txt +58 -0
  209. data/vendor/local/share/groonga/doc/ja/source/commands/define_selector.txt +114 -0
  210. data/vendor/local/share/groonga/doc/ja/source/commands/defrag.txt +57 -0
  211. data/vendor/local/share/groonga/doc/ja/source/commands/delete.txt +68 -0
  212. data/vendor/local/share/groonga/doc/ja/source/commands/dump.txt +62 -0
  213. data/vendor/local/share/groonga/doc/ja/source/commands/load.txt +98 -0
  214. data/vendor/local/share/groonga/doc/ja/source/commands/log_level.txt +65 -0
  215. data/vendor/local/share/groonga/doc/ja/source/commands/log_put.txt +69 -0
  216. data/vendor/local/share/groonga/doc/ja/source/commands/log_reopen.txt +66 -0
  217. data/vendor/local/share/groonga/doc/ja/source/commands/quit.txt +38 -0
  218. data/vendor/local/share/groonga/doc/ja/source/commands/select.txt +247 -0
  219. data/vendor/local/share/groonga/doc/ja/source/commands/shutdown.txt +38 -0
  220. data/vendor/local/share/groonga/doc/ja/source/commands/status.txt +59 -0
  221. data/vendor/local/share/groonga/doc/ja/source/commands/table_create.txt +111 -0
  222. data/vendor/local/share/groonga/doc/ja/source/commands/table_list.txt +87 -0
  223. data/vendor/local/share/groonga/doc/ja/source/commands/table_remove.txt +50 -0
  224. data/vendor/local/share/groonga/doc/ja/source/commands/view_add.txt +53 -0
  225. data/vendor/local/share/groonga/doc/ja/source/commands_not_implemented/add.txt +102 -0
  226. data/vendor/local/share/groonga/doc/ja/source/commands_not_implemented/get.txt +78 -0
  227. data/vendor/local/share/groonga/doc/ja/source/commands_not_implemented/set.txt +103 -0
  228. data/vendor/local/share/groonga/doc/ja/source/conf.py +265 -0
  229. data/vendor/local/share/groonga/doc/ja/source/developer.txt +10 -0
  230. data/vendor/local/share/groonga/doc/ja/source/developer/com.txt +18 -0
  231. data/vendor/local/share/groonga/doc/ja/source/developer/document.txt +38 -0
  232. data/vendor/local/share/groonga/doc/ja/source/developer/query.txt +212 -0
  233. data/vendor/local/share/groonga/doc/ja/source/developer/test.txt +114 -0
  234. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-1.log +6 -0
  235. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-10.log +5 -0
  236. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-11.log +5 -0
  237. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-12.log +5 -0
  238. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-13.log +5 -0
  239. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-14.log +9 -0
  240. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-15.log +5 -0
  241. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-16.log +5 -0
  242. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-17.log +5 -0
  243. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-2.log +5 -0
  244. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-3.log +5 -0
  245. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-4.log +7 -0
  246. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-5.log +5 -0
  247. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-6.log +5 -0
  248. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-7.log +16 -0
  249. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-8.log +5 -0
  250. data/vendor/local/share/groonga/doc/ja/source/example/tutorial01-9.log +5 -0
  251. data/vendor/local/share/groonga/doc/ja/source/example/tutorial02-1.log +8 -0
  252. data/vendor/local/share/groonga/doc/ja/source/example/tutorial02-2.log +6 -0
  253. data/vendor/local/share/groonga/doc/ja/source/example/tutorial02-3.log +12 -0
  254. data/vendor/local/share/groonga/doc/ja/source/example/tutorial03-1.log +18 -0
  255. data/vendor/local/share/groonga/doc/ja/source/example/tutorial03-2.log +10 -0
  256. data/vendor/local/share/groonga/doc/ja/source/example/tutorial03-3.log +10 -0
  257. data/vendor/local/share/groonga/doc/ja/source/example/tutorial04-1.log +5 -0
  258. data/vendor/local/share/groonga/doc/ja/source/example/tutorial04-2.log +7 -0
  259. data/vendor/local/share/groonga/doc/ja/source/example/tutorial04-3.log +7 -0
  260. data/vendor/local/share/groonga/doc/ja/source/example/tutorial04-4.log +13 -0
  261. data/vendor/local/share/groonga/doc/ja/source/example/tutorial04-5.log +5 -0
  262. data/vendor/local/share/groonga/doc/ja/source/example/tutorial04-6.log +5 -0
  263. data/vendor/local/share/groonga/doc/ja/source/example/tutorial04-7.log +5 -0
  264. data/vendor/local/share/groonga/doc/ja/source/example/tutorial05-1.log +24 -0
  265. data/vendor/local/share/groonga/doc/ja/source/example/tutorial05-2.log +5 -0
  266. data/vendor/local/share/groonga/doc/ja/source/example/tutorial05-3.log +5 -0
  267. data/vendor/local/share/groonga/doc/ja/source/example/tutorial05-4.log +5 -0
  268. data/vendor/local/share/groonga/doc/ja/source/example/tutorial05-5.log +5 -0
  269. data/vendor/local/share/groonga/doc/ja/source/example/tutorial05-6.log +5 -0
  270. data/vendor/local/share/groonga/doc/ja/source/example/tutorial06-1.log +25 -0
  271. data/vendor/local/share/groonga/doc/ja/source/example/tutorial06-2.log +9 -0
  272. data/vendor/local/share/groonga/doc/ja/source/example/tutorial06-3.log +21 -0
  273. data/vendor/local/share/groonga/doc/ja/source/example/tutorial06-4.log +7 -0
  274. data/vendor/local/share/groonga/doc/ja/source/example/tutorial06-5.log +5 -0
  275. data/vendor/local/share/groonga/doc/ja/source/example/tutorial07-1.log +22 -0
  276. data/vendor/local/share/groonga/doc/ja/source/example/tutorial07-2.log +9 -0
  277. data/vendor/local/share/groonga/doc/ja/source/example/tutorial07-3.log +20 -0
  278. data/vendor/local/share/groonga/doc/ja/source/example/tutorial07-4.log +9 -0
  279. data/vendor/local/share/groonga/doc/ja/source/example/tutorial08-1.log +14 -0
  280. data/vendor/local/share/groonga/doc/ja/source/example/tutorial10-1.log +5 -0
  281. data/vendor/local/share/groonga/doc/ja/source/example/tutorial10-10.log +5 -0
  282. data/vendor/local/share/groonga/doc/ja/source/example/tutorial10-2.log +5 -0
  283. data/vendor/local/share/groonga/doc/ja/source/example/tutorial10-3.log +5 -0
  284. data/vendor/local/share/groonga/doc/ja/source/example/tutorial10-4.log +5 -0
  285. data/vendor/local/share/groonga/doc/ja/source/example/tutorial10-5.log +5 -0
  286. data/vendor/local/share/groonga/doc/ja/source/example/tutorial10-6.log +5 -0
  287. data/vendor/local/share/groonga/doc/ja/source/example/tutorial10-7.log +5 -0
  288. data/vendor/local/share/groonga/doc/ja/source/example/tutorial10-8.log +5 -0
  289. data/vendor/local/share/groonga/doc/ja/source/example/tutorial10-9.log +5 -0
  290. data/vendor/local/share/groonga/doc/ja/source/execfile.txt +226 -0
  291. data/vendor/local/share/groonga/doc/ja/source/expr.txt +43 -0
  292. data/vendor/local/share/groonga/doc/ja/source/functions.txt +10 -0
  293. data/vendor/local/share/groonga/doc/ja/source/functions/edit_distance.txt +48 -0
  294. data/vendor/local/share/groonga/doc/ja/source/functions/geo_distance.txt +51 -0
  295. data/vendor/local/share/groonga/doc/ja/source/functions/geo_in_circle.txt +54 -0
  296. data/vendor/local/share/groonga/doc/ja/source/functions/geo_in_rectangle.txt +55 -0
  297. data/vendor/local/share/groonga/doc/ja/source/functions/now.txt +34 -0
  298. data/vendor/local/share/groonga/doc/ja/source/functions/rand.txt +41 -0
  299. data/vendor/local/share/groonga/doc/ja/source/grnslap.txt +64 -0
  300. data/vendor/local/share/groonga/doc/ja/source/grntest.txt +259 -0
  301. data/vendor/local/share/groonga/doc/ja/source/http.txt +52 -0
  302. data/vendor/local/share/groonga/doc/ja/source/index.txt +21 -0
  303. data/vendor/local/share/groonga/doc/ja/source/install.txt +114 -0
  304. data/vendor/local/share/groonga/doc/ja/source/news.txt +199 -0
  305. data/vendor/local/share/groonga/doc/ja/source/process.txt +12 -0
  306. data/vendor/local/share/groonga/doc/ja/source/pseudo_column.txt +38 -0
  307. data/vendor/local/share/groonga/doc/ja/source/rdoc.py +762 -0
  308. data/vendor/local/share/groonga/doc/ja/source/reference.txt +14 -0
  309. data/vendor/local/share/groonga/doc/ja/source/tutorial.txt +10 -0
  310. data/vendor/local/share/groonga/doc/ja/source/tutorial/tutorial01.txt +293 -0
  311. data/vendor/local/share/groonga/doc/ja/source/tutorial/tutorial02.txt +100 -0
  312. data/vendor/local/share/groonga/doc/ja/source/tutorial/tutorial03.txt +72 -0
  313. data/vendor/local/share/groonga/doc/ja/source/tutorial/tutorial04.txt +111 -0
  314. data/vendor/local/share/groonga/doc/ja/source/tutorial/tutorial05.txt +65 -0
  315. data/vendor/local/share/groonga/doc/ja/source/tutorial/tutorial06.txt +91 -0
  316. data/vendor/local/share/groonga/doc/ja/source/tutorial/tutorial07.txt +92 -0
  317. data/vendor/local/share/groonga/doc/ja/source/tutorial/tutorial08.txt +53 -0
  318. data/vendor/local/share/groonga/doc/ja/source/tutorial/tutorial09.txt +9 -0
  319. data/vendor/local/share/groonga/doc/ja/source/tutorial/tutorial10.txt +486 -0
  320. data/vendor/local/share/groonga/doc/ja/source/type.txt +118 -0
  321. data/vendor/local/share/groonga/doc/ja/source/update_execution_example.py +113 -0
  322. data/vendor/local/share/groonga/examples/dictionary/edict/edict2grn.rb +46 -0
  323. data/vendor/local/share/groonga/examples/dictionary/edict/edict_import.sh +10 -0
  324. data/vendor/local/share/groonga/examples/dictionary/eijiro/eijiro2grn.rb +61 -0
  325. data/vendor/local/share/groonga/examples/dictionary/eijiro/eijiro_import.sh +10 -0
  326. data/vendor/local/share/groonga/examples/dictionary/gene95/gene2grn.rb +46 -0
  327. data/vendor/local/share/groonga/examples/dictionary/gene95/gene_import.sh +10 -0
  328. data/vendor/local/share/groonga/examples/dictionary/html/css/dictionary.css +3 -0
  329. data/vendor/local/share/groonga/examples/dictionary/html/index.html +26 -0
  330. data/vendor/local/share/groonga/examples/dictionary/html/js/dictionary.js +51 -0
  331. data/vendor/local/share/groonga/examples/dictionary/html/js/jquery-1.4.2.min.js +154 -0
  332. data/vendor/local/share/groonga/examples/dictionary/init_db.sh +10 -0
  333. data/vendor/local/share/groonga/examples/dictionary/jmdict/jmdict.rb +42 -0
  334. data/vendor/local/share/groonga/examples/dictionary/readme.txt +71 -0
  335. data/vendor/local/share/man/man1/groonga.1 +5498 -0
  336. metadata +360 -118
  337. data/pkg-config.rb +0 -333
  338. data/pkg/rroonga-0.9.5/NEWS.ja.rdoc +0 -156
  339. data/pkg/rroonga-0.9.5/NEWS.rdoc +0 -158
  340. data/pkg/rroonga-0.9.5/README.ja.rdoc +0 -65
  341. data/pkg/rroonga-0.9.5/README.rdoc +0 -66
  342. data/pkg/rroonga-0.9.5/text/TUTORIAL.ja.rdoc +0 -394
  343. data/pkg/rroonga-0.9.5/text/expression.rdoc +0 -285
  344. data/test-unit/Rakefile +0 -40
  345. data/test-unit/TODO +0 -5
  346. data/test-unit/bin/testrb +0 -5
  347. data/test-unit/html/classic.html +0 -15
  348. data/test-unit/html/index.html +0 -25
  349. data/test-unit/html/index.html.ja +0 -27
  350. data/test-unit/lib/test/unit.rb +0 -323
  351. data/test-unit/lib/test/unit/assertionfailederror.rb +0 -25
  352. data/test-unit/lib/test/unit/assertions.rb +0 -1230
  353. data/test-unit/lib/test/unit/attribute.rb +0 -125
  354. data/test-unit/lib/test/unit/autorunner.rb +0 -360
  355. data/test-unit/lib/test/unit/collector.rb +0 -36
  356. data/test-unit/lib/test/unit/collector/descendant.rb +0 -23
  357. data/test-unit/lib/test/unit/collector/dir.rb +0 -108
  358. data/test-unit/lib/test/unit/collector/load.rb +0 -144
  359. data/test-unit/lib/test/unit/collector/objectspace.rb +0 -34
  360. data/test-unit/lib/test/unit/color-scheme.rb +0 -102
  361. data/test-unit/lib/test/unit/color.rb +0 -96
  362. data/test-unit/lib/test/unit/diff.rb +0 -724
  363. data/test-unit/lib/test/unit/error.rb +0 -130
  364. data/test-unit/lib/test/unit/exceptionhandler.rb +0 -39
  365. data/test-unit/lib/test/unit/failure.rb +0 -136
  366. data/test-unit/lib/test/unit/fixture.rb +0 -176
  367. data/test-unit/lib/test/unit/notification.rb +0 -129
  368. data/test-unit/lib/test/unit/omission.rb +0 -191
  369. data/test-unit/lib/test/unit/pending.rb +0 -150
  370. data/test-unit/lib/test/unit/priority.rb +0 -180
  371. data/test-unit/lib/test/unit/runner/console.rb +0 -52
  372. data/test-unit/lib/test/unit/runner/emacs.rb +0 -8
  373. data/test-unit/lib/test/unit/runner/tap.rb +0 -8
  374. data/test-unit/lib/test/unit/testcase.rb +0 -476
  375. data/test-unit/lib/test/unit/testresult.rb +0 -89
  376. data/test-unit/lib/test/unit/testsuite.rb +0 -110
  377. data/test-unit/lib/test/unit/ui/console/outputlevel.rb +0 -14
  378. data/test-unit/lib/test/unit/ui/console/testrunner.rb +0 -466
  379. data/test-unit/lib/test/unit/ui/emacs/testrunner.rb +0 -63
  380. data/test-unit/lib/test/unit/ui/tap/testrunner.rb +0 -92
  381. data/test-unit/lib/test/unit/ui/testrunner.rb +0 -28
  382. data/test-unit/lib/test/unit/ui/testrunnermediator.rb +0 -77
  383. data/test-unit/lib/test/unit/ui/testrunnerutilities.rb +0 -41
  384. data/test-unit/lib/test/unit/util/backtracefilter.rb +0 -41
  385. data/test-unit/lib/test/unit/util/method-owner-finder.rb +0 -28
  386. data/test-unit/lib/test/unit/util/observable.rb +0 -90
  387. data/test-unit/lib/test/unit/util/procwrapper.rb +0 -48
  388. data/test-unit/lib/test/unit/version.rb +0 -7
  389. data/test-unit/sample/adder.rb +0 -13
  390. data/test-unit/sample/subtracter.rb +0 -12
  391. data/test-unit/sample/test_adder.rb +0 -20
  392. data/test-unit/sample/test_subtracter.rb +0 -20
  393. data/test-unit/sample/test_user.rb +0 -23
  394. data/test-unit/test/collector/test-descendant.rb +0 -133
  395. data/test-unit/test/collector/test-load.rb +0 -442
  396. data/test-unit/test/collector/test_dir.rb +0 -406
  397. data/test-unit/test/collector/test_objectspace.rb +0 -100
  398. data/test-unit/test/run-test.rb +0 -15
  399. data/test-unit/test/test-attribute.rb +0 -86
  400. data/test-unit/test/test-color-scheme.rb +0 -67
  401. data/test-unit/test/test-color.rb +0 -47
  402. data/test-unit/test/test-diff.rb +0 -518
  403. data/test-unit/test/test-emacs-runner.rb +0 -60
  404. data/test-unit/test/test-fixture.rb +0 -287
  405. data/test-unit/test/test-notification.rb +0 -33
  406. data/test-unit/test/test-omission.rb +0 -81
  407. data/test-unit/test/test-pending.rb +0 -70
  408. data/test-unit/test/test-priority.rb +0 -119
  409. data/test-unit/test/test-testcase.rb +0 -544
  410. data/test-unit/test/test_assertions.rb +0 -1151
  411. data/test-unit/test/test_error.rb +0 -26
  412. data/test-unit/test/test_failure.rb +0 -33
  413. data/test-unit/test/test_testresult.rb +0 -113
  414. data/test-unit/test/test_testsuite.rb +0 -129
  415. data/test-unit/test/testunit-test-util.rb +0 -14
  416. data/test-unit/test/ui/test_testrunmediator.rb +0 -20
  417. data/test-unit/test/util/test-method-owner-finder.rb +0 -38
  418. data/test-unit/test/util/test_backtracefilter.rb +0 -41
  419. data/test-unit/test/util/test_observable.rb +0 -102
  420. data/test-unit/test/util/test_procwrapper.rb +0 -36
  421. data/vendor/local/lib/groonga/modules/functions/cast.dll +0 -0
@@ -0,0 +1,169 @@
1
+
2
+
3
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml">
7
+ <head>
8
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
9
+
10
+ <title>3.5. ドリルダウン &mdash; groonga v1.0.2 documentation</title>
11
+ <link rel="stylesheet" href="../_static/default.css" type="text/css" />
12
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
13
+ <script type="text/javascript">
14
+ var DOCUMENTATION_OPTIONS = {
15
+ URL_ROOT: '../',
16
+ VERSION: '1.0.2',
17
+ COLLAPSE_INDEX: false,
18
+ FILE_SUFFIX: '.html',
19
+ HAS_SOURCE: true
20
+ };
21
+ </script>
22
+ <script type="text/javascript" src="../_static/jquery.js"></script>
23
+ <script type="text/javascript" src="../_static/underscore.js"></script>
24
+ <script type="text/javascript" src="../_static/doctools.js"></script>
25
+ <link rel="top" title="groonga v1.0.2 documentation" href="../index.html" />
26
+ <link rel="up" title="3. チュートリアル" href="../tutorial.html" />
27
+ <link rel="next" title="3.6. タグ検索・参照関係の逆引き" href="tutorial06.html" />
28
+ <link rel="prev" title="3.4. さまざまな検索条件の指定" href="tutorial04.html" />
29
+ </head>
30
+ <body>
31
+ <div class="related">
32
+ <h3>Navigation</h3>
33
+ <ul>
34
+ <li class="right" style="margin-right: 10px">
35
+ <a href="../genindex.html" title="General Index"
36
+ accesskey="I">index</a></li>
37
+ <li class="right" >
38
+ <a href="tutorial06.html" title="3.6. タグ検索・参照関係の逆引き"
39
+ accesskey="N">next</a> |</li>
40
+ <li class="right" >
41
+ <a href="tutorial04.html" title="3.4. さまざまな検索条件の指定"
42
+ accesskey="P">previous</a> |</li>
43
+ <li><a href="../index.html">groonga v1.0.2 documentation</a> &raquo;</li>
44
+ <li><a href="../tutorial.html" accesskey="U">3. チュートリアル</a> &raquo;</li>
45
+ </ul>
46
+ </div>
47
+
48
+ <div class="document">
49
+ <div class="documentwrapper">
50
+ <div class="bodywrapper">
51
+ <div class="body">
52
+
53
+ <div class="section" id="id1">
54
+ <h1>3.5. ドリルダウン<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h1>
55
+ <p>groongaでは、特定のカラム値で検索結果をグループ化することができます。これをドリルダウンと呼びます。</p>
56
+ <p>Siteテーブルに2つのカラムを追加します。TLDドメイン名を格納するdomainカラムと、国名を格納するcountryカラムです。これらのカラムの型は、それぞれドメイン名を主キーとするSiteDomainテーブルと、国名を主キーとするSiteCounteryテーブルとします。</p>
57
+ <p>実行例</p>
58
+ <div class="highlight-none"><div class="highlight"><pre>&gt; table_create --name SiteDomain --flags TABLE_HASH_KEY --key_type ShortText
59
+ [[0,1280378842.01708,0.06822],true]
60
+ &gt; table_create --name SiteCountry --flags TABLE_HASH_KEY --key_type ShortText
61
+ [[0,1280378842.28607,0.066339],true]
62
+ &gt; column_create --table Site --name domain --flags COLUMN_SCALAR --type SiteDomain
63
+ [[0,1280378842.55314,0.066281],true]
64
+ &gt; column_create --table Site --name country --flags COLUMN_SCALAR --type SiteCountry
65
+ [[0,1280378842.82013,0.057988],true]
66
+ &gt; load --table Site
67
+ &gt; [
68
+ &gt; {&quot;_key&quot;:&quot;http://example.org/&quot;,&quot;domain&quot;:&quot;.org&quot;,&quot;country&quot;:&quot;japan&quot;},
69
+ &gt; {&quot;_key&quot;:&quot;http://example.net/&quot;,&quot;domain&quot;:&quot;.net&quot;,&quot;country&quot;:&quot;brazil&quot;},
70
+ &gt; {&quot;_key&quot;:&quot;http://example.com/&quot;,&quot;domain&quot;:&quot;.com&quot;,&quot;country&quot;:&quot;japan&quot;},
71
+ &gt; {&quot;_key&quot;:&quot;http://example.net/afr&quot;,&quot;domain&quot;:&quot;.net&quot;,&quot;country&quot;:&quot;usa&quot;},
72
+ &gt; {&quot;_key&quot;:&quot;http://example.org/aba&quot;,&quot;domain&quot;:&quot;.org&quot;,&quot;country&quot;:&quot;korea&quot;},
73
+ &gt; {&quot;_key&quot;:&quot;http://example.com/rab&quot;,&quot;domain&quot;:&quot;.com&quot;,&quot;country&quot;:&quot;china&quot;},
74
+ &gt; {&quot;_key&quot;:&quot;http://example.net/atv&quot;,&quot;domain&quot;:&quot;.net&quot;,&quot;country&quot;:&quot;china&quot;},
75
+ &gt; {&quot;_key&quot;:&quot;http://example.org/gat&quot;,&quot;domain&quot;:&quot;.org&quot;,&quot;country&quot;:&quot;usa&quot;},
76
+ &gt; {&quot;_key&quot;:&quot;http://example.com/vdw&quot;,&quot;domain&quot;:&quot;.com&quot;,&quot;country&quot;:&quot;japan&quot;}
77
+ &gt; ]
78
+ [[0,1280378843.07883,2.202888],9]
79
+ </pre></div>
80
+ </div>
81
+ <p>domainカラムとcountryカラムでドリルダウンを行う例を以下に示します。</p>
82
+ <p>実行例</p>
83
+ <div class="highlight-none"><div class="highlight"><pre>&gt; select --table Site --limit 0 --drilldown domain
84
+ [[0,1280378845.48263,0.00043],[[[9],[[&quot;_id&quot;,&quot;UInt32&quot;],[&quot;_key&quot;,&quot;ShortText&quot;],[&quot;title&quot;,&quot;ShortText&quot;],[&quot;location&quot;,&quot;WGS84GeoPoint&quot;],[&quot;links&quot;,&quot;Site&quot;],[&quot;link&quot;,&quot;Site&quot;],[&quot;domain&quot;,&quot;SiteDomain&quot;],[&quot;country&quot;,&quot;SiteCountry&quot;]]],[[3],[[&quot;_key&quot;,&quot;ShortText&quot;],[&quot;_nsubrecs&quot;,&quot;Int32&quot;]],[&quot;.org&quot;,3],[&quot;.net&quot;,3],[&quot;.com&quot;,3]]]]
85
+ </pre></div>
86
+ </div>
87
+ <p>テーブル型を持つカラムに対してドリルダウンを行った場合、参照先のテーブルに存在するカラム値を取得することもできます。ドリルダウンを行ったテーブルには、_nsubrecsという仮想的なカラムが追加されます。このカラムには、グループ化されたレコード数が入ります。</p>
88
+ <p>実行例</p>
89
+ <div class="highlight-none"><div class="highlight"><pre>&gt; select --table Site --limit 0 --drilldown domain --drilldown_output_columns _id,_key,_nsubrecs
90
+ [[0,1280378845.68647,0.000267],[[[9],[[&quot;_id&quot;,&quot;UInt32&quot;],[&quot;_key&quot;,&quot;ShortText&quot;],[&quot;title&quot;,&quot;ShortText&quot;],[&quot;location&quot;,&quot;WGS84GeoPoint&quot;],[&quot;links&quot;,&quot;Site&quot;],[&quot;link&quot;,&quot;Site&quot;],[&quot;domain&quot;,&quot;SiteDomain&quot;],[&quot;country&quot;,&quot;SiteCountry&quot;]]],[[3],[[&quot;_id&quot;,&quot;UInt32&quot;],[&quot;_key&quot;,&quot;ShortText&quot;],[&quot;_nsubrecs&quot;,&quot;Int32&quot;]],[1,&quot;.org&quot;,3],[2,&quot;.net&quot;,3],[3,&quot;.com&quot;,3]]]]
91
+ </pre></div>
92
+ </div>
93
+ <p>複数のカラムに対してドリルダウンを行うことができます。複数のカラムに対してドリルダウンを行う場合には、drilldownパラメータにカラム名をカンマ区切りで与えます。</p>
94
+ <p>実行例</p>
95
+ <div class="highlight-none"><div class="highlight"><pre>&gt; select --table Site --limit 0 --drilldown domain,country
96
+ [[0,1280378845.8903,0.000368],[[[9],[[&quot;_id&quot;,&quot;UInt32&quot;],[&quot;_key&quot;,&quot;ShortText&quot;],[&quot;title&quot;,&quot;ShortText&quot;],[&quot;location&quot;,&quot;WGS84GeoPoint&quot;],[&quot;links&quot;,&quot;Site&quot;],[&quot;link&quot;,&quot;Site&quot;],[&quot;domain&quot;,&quot;SiteDomain&quot;],[&quot;country&quot;,&quot;SiteCountry&quot;]]],[[3],[[&quot;_key&quot;,&quot;ShortText&quot;],[&quot;_nsubrecs&quot;,&quot;Int32&quot;]],[&quot;.org&quot;,3],[&quot;.net&quot;,3],[&quot;.com&quot;,3]],[[5],[[&quot;_key&quot;,&quot;ShortText&quot;],[&quot;_nsubrecs&quot;,&quot;Int32&quot;]],[&quot;japan&quot;,3],[&quot;brazil&quot;,1],[&quot;usa&quot;,2],[&quot;korea&quot;,1],[&quot;china&quot;,2]]]]
97
+ </pre></div>
98
+ </div>
99
+ <p>ドリルダウン結果を並びかえることができます。例えば、_nsubrecsパラメータの降順で並び替えることができます。</p>
100
+ <p>実行例</p>
101
+ <div class="highlight-none"><div class="highlight"><pre>&gt; select --table Site --limit 0 --drilldown country --drilldown_sortby _nsubrecs
102
+ [[0,1280378846.09517,0.000359],[[[9],[[&quot;_id&quot;,&quot;UInt32&quot;],[&quot;_key&quot;,&quot;ShortText&quot;],[&quot;title&quot;,&quot;ShortText&quot;],[&quot;location&quot;,&quot;WGS84GeoPoint&quot;],[&quot;links&quot;,&quot;Site&quot;],[&quot;link&quot;,&quot;Site&quot;],[&quot;domain&quot;,&quot;SiteDomain&quot;],[&quot;country&quot;,&quot;SiteCountry&quot;]]],[[5],[[&quot;_key&quot;,&quot;ShortText&quot;],[&quot;_nsubrecs&quot;,&quot;Int32&quot;]],[&quot;brazil&quot;,1],[&quot;korea&quot;,1],[&quot;usa&quot;,2],[&quot;china&quot;,2],[&quot;japan&quot;,3]]]]
103
+ </pre></div>
104
+ </div>
105
+ <p>ドリルダウン結果は、デフォルトでは10件のみ表示されます。drilldown_offsetパラメータと、drilldown_limitパラメータによって、offsetとlimitを指定することができます。</p>
106
+ <p>実行例</p>
107
+ <div class="highlight-none"><div class="highlight"><pre>&gt; select --table Site --limit 0 --drilldown country --drilldown_sortby _nsubrecs --drilldown_limit 2 --drilldown_offset 2
108
+ [[0,1280378846.2992,0.000326],[[[9],[[&quot;_id&quot;,&quot;UInt32&quot;],[&quot;_key&quot;,&quot;ShortText&quot;],[&quot;title&quot;,&quot;ShortText&quot;],[&quot;location&quot;,&quot;WGS84GeoPoint&quot;],[&quot;links&quot;,&quot;Site&quot;],[&quot;link&quot;,&quot;Site&quot;],[&quot;domain&quot;,&quot;SiteDomain&quot;],[&quot;country&quot;,&quot;SiteCountry&quot;]]],[[5],[[&quot;_key&quot;,&quot;ShortText&quot;],[&quot;_nsubrecs&quot;,&quot;Int32&quot;]],[&quot;usa&quot;,2],[&quot;china&quot;,2]]]]
109
+ </pre></div>
110
+ </div>
111
+ <p>文字列型のカラムに対するドリルダウンは、他の型でのドリルダウンに比べて低速です。文字列でのドリルダウンを行いたい場合には、このチュートリアルのように、文字列型を主キーとするテーブルを別途作成し、そのテーブルを型とするカラムを作成します。</p>
112
+ </div>
113
+
114
+
115
+ </div>
116
+ </div>
117
+ </div>
118
+ <div class="sphinxsidebar">
119
+ <div class="sphinxsidebarwrapper">
120
+ <h4>Previous topic</h4>
121
+ <p class="topless"><a href="tutorial04.html"
122
+ title="previous chapter">3.4. さまざまな検索条件の指定</a></p>
123
+ <h4>Next topic</h4>
124
+ <p class="topless"><a href="tutorial06.html"
125
+ title="next chapter">3.6. タグ検索・参照関係の逆引き</a></p>
126
+ <h3>This Page</h3>
127
+ <ul class="this-page-menu">
128
+ <li><a href="../_sources/tutorial/tutorial05.txt"
129
+ rel="nofollow">Show Source</a></li>
130
+ </ul>
131
+ <div id="searchbox" style="display: none">
132
+ <h3>Quick search</h3>
133
+ <form class="search" action="../search.html" method="get">
134
+ <input type="text" name="q" size="18" />
135
+ <input type="submit" value="Go" />
136
+ <input type="hidden" name="check_keywords" value="yes" />
137
+ <input type="hidden" name="area" value="default" />
138
+ </form>
139
+ <p class="searchtip" style="font-size: 90%">
140
+ Enter search terms or a module, class or function name.
141
+ </p>
142
+ </div>
143
+ <script type="text/javascript">$('#searchbox').show(0);</script>
144
+ </div>
145
+ </div>
146
+ <div class="clearer"></div>
147
+ </div>
148
+ <div class="related">
149
+ <h3>Navigation</h3>
150
+ <ul>
151
+ <li class="right" style="margin-right: 10px">
152
+ <a href="../genindex.html" title="General Index"
153
+ >index</a></li>
154
+ <li class="right" >
155
+ <a href="tutorial06.html" title="3.6. タグ検索・参照関係の逆引き"
156
+ >next</a> |</li>
157
+ <li class="right" >
158
+ <a href="tutorial04.html" title="3.4. さまざまな検索条件の指定"
159
+ >previous</a> |</li>
160
+ <li><a href="../index.html">groonga v1.0.2 documentation</a> &raquo;</li>
161
+ <li><a href="../tutorial.html" >3. チュートリアル</a> &raquo;</li>
162
+ </ul>
163
+ </div>
164
+ <div class="footer">
165
+ &copy; Copyright 2009-2010, Brazil, Inc.
166
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.1.
167
+ </div>
168
+ </body>
169
+ </html>
@@ -0,0 +1,209 @@
1
+
2
+
3
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml">
7
+ <head>
8
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
9
+
10
+ <title>3.6. タグ検索・参照関係の逆引き &mdash; groonga v1.0.2 documentation</title>
11
+ <link rel="stylesheet" href="../_static/default.css" type="text/css" />
12
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
13
+ <script type="text/javascript">
14
+ var DOCUMENTATION_OPTIONS = {
15
+ URL_ROOT: '../',
16
+ VERSION: '1.0.2',
17
+ COLLAPSE_INDEX: false,
18
+ FILE_SUFFIX: '.html',
19
+ HAS_SOURCE: true
20
+ };
21
+ </script>
22
+ <script type="text/javascript" src="../_static/jquery.js"></script>
23
+ <script type="text/javascript" src="../_static/underscore.js"></script>
24
+ <script type="text/javascript" src="../_static/doctools.js"></script>
25
+ <link rel="top" title="groonga v1.0.2 documentation" href="../index.html" />
26
+ <link rel="up" title="3. チュートリアル" href="../tutorial.html" />
27
+ <link rel="next" title="3.7. match_columnsパラメータ" href="tutorial07.html" />
28
+ <link rel="prev" title="3.5. ドリルダウン" href="tutorial05.html" />
29
+ </head>
30
+ <body>
31
+ <div class="related">
32
+ <h3>Navigation</h3>
33
+ <ul>
34
+ <li class="right" style="margin-right: 10px">
35
+ <a href="../genindex.html" title="General Index"
36
+ accesskey="I">index</a></li>
37
+ <li class="right" >
38
+ <a href="tutorial07.html" title="3.7. match_columnsパラメータ"
39
+ accesskey="N">next</a> |</li>
40
+ <li class="right" >
41
+ <a href="tutorial05.html" title="3.5. ドリルダウン"
42
+ accesskey="P">previous</a> |</li>
43
+ <li><a href="../index.html">groonga v1.0.2 documentation</a> &raquo;</li>
44
+ <li><a href="../tutorial.html" accesskey="U">3. チュートリアル</a> &raquo;</li>
45
+ </ul>
46
+ </div>
47
+
48
+ <div class="document">
49
+ <div class="documentwrapper">
50
+ <div class="bodywrapper">
51
+ <div class="body">
52
+
53
+ <div class="section" id="id1">
54
+ <h1>3.6. タグ検索・参照関係の逆引き<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h1>
55
+ <p>本チュートリアルで、groongaはカラム値として他のテーブルへの参照の配列を持つことができることを紹介いたしました。実は、テーブルへの参照の配列データを用いることによって、いわゆるタグ検索を行うことが可能となります。</p>
56
+ <p>タグ検索はgroongaの転置インデックスというデータ構造を用いて高速に行われます。</p>
57
+ <div class="section" id="id2">
58
+ <h2>3.6.1. タグ検索<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h2>
59
+ <p>動画共有サイトの検索エンジンを作ることを想定します。1つの動画には、その動画の特徴を表す、複数の語句が付与されています。「ある語句が付与されている動画の一覧を取得する」検索を行いたいとします。</p>
60
+ <p>実際に、動画情報のテーブルを作成し、検索をしてみましょう。</p>
61
+ <p>動画の情報を保存する、Videoテーブルを作成します。Videoテーブルでは、動画のタイトルをtitleカラムに、動画のタグ情報をtagsカラムにTagテーブル型で複数格納しています。
62
+ タグの情報を保存する、Tagテーブルを作成します。Tagテーブルでは、タグ文字列を主キーに格納し、Videoテーブルのtagsカラムに対するインデックスをindex_tagsカラムに格納しています。</p>
63
+ <p>実行例</p>
64
+ <div class="highlight-none"><div class="highlight"><pre>&gt; table_create --name Video --flags TABLE_HASH_KEY --key_type UInt32
65
+ [[0,1280378923.03769,0.060105],true]
66
+ &gt; table_create --name Tag --flags TABLE_HASH_KEY --key_type ShortText
67
+ [[0,1280378923.29856,0.057985],true]
68
+ &gt; column_create --table Video --name title --flags COLUMN_SCALAR --type ShortText
69
+ [[0,1280378923.55728,0.067165],true]
70
+ &gt; column_create --table Video --name tags --flags COLUMN_VECTOR --type Tag
71
+ [[0,1280378923.82522,0.066382],true]
72
+ &gt; column_create --table Tag --name index_tags --flags COLUMN_INDEX --type Video --source tags
73
+ [[0,1280378924.0924,0.122744],true]
74
+ &gt; load --table Video
75
+ &gt; [
76
+ &gt; {&quot;_key&quot;:1,&quot;title&quot;:&quot;Soccer 2010&quot;,&quot;tags&quot;:[&quot;Sports&quot;,&quot;Soccer&quot;]},
77
+ &gt; {&quot;_key&quot;:2,&quot;title&quot;:&quot;Zenigata Kinjirou&quot;,&quot;tags&quot;:[&quot;Variety&quot;,&quot;Money&quot;]},
78
+ &gt; {&quot;_key&quot;:3,&quot;title&quot;:&quot;groonga Demo&quot;,&quot;tags&quot;:[&quot;IT&quot;,&quot;Server&quot;,&quot;groonga&quot;]},
79
+ &gt; {&quot;_key&quot;:4,&quot;title&quot;:&quot;Moero!! Ultra Baseball&quot;,&quot;tags&quot;:[&quot;Sports&quot;,&quot;Baseball&quot;]},
80
+ &gt; {&quot;_key&quot;:5,&quot;title&quot;:&quot;Hex Gone!&quot;,&quot;tags&quot;:[&quot;Variety&quot;,&quot;Quiz&quot;]},
81
+ &gt; {&quot;_key&quot;:6,&quot;title&quot;:&quot;Pikonyan 1&quot;,&quot;tags&quot;:[&quot;Animation&quot;,&quot;Pikonyan&quot;]},
82
+ &gt; {&quot;_key&quot;:7,&quot;title&quot;:&quot;Draw 8 Month&quot;,&quot;tags&quot;:[&quot;Animation&quot;,&quot;Raccoon&quot;]},
83
+ &gt; {&quot;_key&quot;:8,&quot;title&quot;:&quot;K.O.&quot;,&quot;tags&quot;:[&quot;Animation&quot;,&quot;Music&quot;]}
84
+ &gt; ]
85
+ [[0,1280378924.41589,2.002628],8]
86
+ </pre></div>
87
+ </div>
88
+ <p>インデックスカラムを作成すると、全文検索が高速に行えるようになります。インデックスカラムは、対象のカラムに保存されたデータに更新があったとき、自動的に更新されます。</p>
89
+ <p>「ある語句が付与されている動画の一覧を取得する」検索を行いましょう。</p>
90
+ <p>実行例</p>
91
+ <div class="highlight-none"><div class="highlight"><pre>&gt; select --table Video --query tags:@Variety --output_columns _key,title
92
+ [[0,1280378926.6193,0.000444],[[[2],[[&quot;_key&quot;,&quot;UInt32&quot;],[&quot;title&quot;,&quot;ShortText&quot;]],[2,&quot;Zenigata Kinjirou&quot;],[5,&quot;Hex Gone!&quot;]]]]
93
+ &gt; select --table Video --query tags:@Sports --output_columns _key,title
94
+ [[0,1280378926.82132,0.000302],[[[2],[[&quot;_key&quot;,&quot;UInt32&quot;],[&quot;title&quot;,&quot;ShortText&quot;]],[1,&quot;Soccer 2010&quot;],[4,&quot;Moero!! Ultra Baseball&quot;]]]]
95
+ &gt; select --table Video --query tags:@Animation --output_columns _key,title
96
+ [[0,1280378927.02314,0.000295],[[[3],[[&quot;_key&quot;,&quot;UInt32&quot;],[&quot;title&quot;,&quot;ShortText&quot;]],[6,&quot;Pikonyan 1&quot;],[7,&quot;Draw 8 Month&quot;],[8,&quot;K.O.&quot;]]]]
97
+ </pre></div>
98
+ </div>
99
+ <p>このように、「Variety」、「Sports」、「Animation」のようなタグで検索を行うことができました。</p>
100
+ </div>
101
+ <div class="section" id="id3">
102
+ <h2>3.6.2. 参照関係の逆引き<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h2>
103
+ <p>groongaはテーブル間の参照関係の逆引きを高速に行うためのインデックスを付与することができます。タグ検索は、その1例にすぎません。</p>
104
+ <p>例えば、ソーシャルネットワーキングサイトにおける友人関係を逆引き検索することができます。</p>
105
+ <p>以下の例では、ユーザー情報を格納するUserテーブルを作成し、ユーザー名を格納するusernameカラム、ユーザーの友人一覧を配列で格納するfriendsカラムとそのインデックスのindex_friendsカラムを追加しています。</p>
106
+ <p>実行例</p>
107
+ <div class="highlight-none"><div class="highlight"><pre>&gt; table_create --name User --flags TABLE_HASH_KEY --key_type ShortText
108
+ [[0,1280378927.22516,0.091699],true]
109
+ &gt; column_create --table User --name username --flags COLUMN_SCALAR --type ShortText
110
+ [[0,1280378927.51764,0.067062],true]
111
+ &gt; column_create --table User --name friends --flags COLUMN_VECTOR --type User
112
+ [[0,1280378927.78548,0.05804],true]
113
+ &gt; column_create --table User --name index_friends --flags COLUMN_INDEX --type User --source friends
114
+ [[0,1280378928.04428,0.113384],true]
115
+ &gt; load --table User
116
+ &gt; [
117
+ &gt; {&quot;_key&quot;:&quot;ken&quot;,&quot;username&quot;:&quot;健作&quot;,&quot;friends&quot;:[&quot;taro&quot;,&quot;jiro&quot;,&quot;tomo&quot;,&quot;moritapo&quot;]}
118
+ &gt; {&quot;_key&quot;:&quot;moritapo&quot;,&quot;username&quot;:&quot;森田&quot;,&quot;friends&quot;:[&quot;ken&quot;,&quot;tomo&quot;]}
119
+ &gt; {&quot;_key&quot;:&quot;taro&quot;,&quot;username&quot;:&quot;ぐるんが太郎&quot;,&quot;friends&quot;:[&quot;jiro&quot;,&quot;tomo&quot;]}
120
+ &gt; {&quot;_key&quot;:&quot;jiro&quot;,&quot;username&quot;:&quot;ぐるんが次郎&quot;,&quot;friends&quot;:[&quot;taro&quot;,&quot;tomo&quot;]}
121
+ &gt; {&quot;_key&quot;:&quot;tomo&quot;,&quot;username&quot;:&quot;トモちゃん&quot;,&quot;friends&quot;:[&quot;ken&quot;,&quot;hana&quot;]}
122
+ &gt; {&quot;_key&quot;:&quot;hana&quot;,&quot;username&quot;:&quot;花子&quot;,&quot;friends&quot;:[&quot;ken&quot;,&quot;taro&quot;,&quot;jiro&quot;,&quot;moritapo&quot;,&quot;tomo&quot;]}
123
+ &gt; ]
124
+ [[0,1280378928.35845,1.602101],6]
125
+ </pre></div>
126
+ </div>
127
+ <p>指定したユーザーを友人リストに入れているユーザーの一覧を表示してみましょう。</p>
128
+ <p>実行例</p>
129
+ <div class="highlight-none"><div class="highlight"><pre>&gt; select --table User --query friends:@tomo --output_columns _key,username
130
+ [[0,1280378930.16145,0.000464],[[[5],[[&quot;_key&quot;,&quot;ShortText&quot;],[&quot;username&quot;,&quot;ShortText&quot;]],[&quot;ken&quot;,&quot;健作&quot;],[&quot;taro&quot;,&quot;ぐるんが太郎&quot;],[&quot;jiro&quot;,&quot;ぐるんが次郎&quot;],[&quot;moritapo&quot;,&quot;森田&quot;],[&quot;hana&quot;,&quot;花子&quot;]]]]
131
+ &gt; select --table User --query friends:@jiro --output_columns _key,username
132
+ [[0,1280378930.36419,0.000293],[[[3],[[&quot;_key&quot;,&quot;ShortText&quot;],[&quot;username&quot;,&quot;ShortText&quot;]],[&quot;ken&quot;,&quot;健作&quot;],[&quot;taro&quot;,&quot;ぐるんが太郎&quot;],[&quot;hana&quot;,&quot;花子&quot;]]]]
133
+ </pre></div>
134
+ </div>
135
+ <p>さらに、ドリルダウンを使って、友人リストに入っている数の一覧を表示してみましょう。</p>
136
+ <p>実行例</p>
137
+ <div class="highlight-none"><div class="highlight"><pre>&gt; select --table User --limit 0 --drilldown friends
138
+ [[0,1280378930.56663,0.000267],[[[6],[[&quot;_id&quot;,&quot;UInt32&quot;],[&quot;_key&quot;,&quot;ShortText&quot;],[&quot;username&quot;,&quot;ShortText&quot;],[&quot;index_friends&quot;,&quot;User&quot;],[&quot;friends&quot;,&quot;User&quot;]]],[[6],[[&quot;_key&quot;,&quot;ShortText&quot;],[&quot;_nsubrecs&quot;,&quot;Int32&quot;]],[&quot;taro&quot;,3],[&quot;jiro&quot;,3],[&quot;tomo&quot;,5],[&quot;moritapo&quot;,2],[&quot;ken&quot;,3],[&quot;hana&quot;,1]]]]
139
+ </pre></div>
140
+ </div>
141
+ <p>このように、テーブルの参照関係を逆にたどる検索ができました。</p>
142
+ </div>
143
+ </div>
144
+
145
+
146
+ </div>
147
+ </div>
148
+ </div>
149
+ <div class="sphinxsidebar">
150
+ <div class="sphinxsidebarwrapper">
151
+ <h3><a href="../index.html">Table Of Contents</a></h3>
152
+ <ul>
153
+ <li><a class="reference internal" href="#">3.6. タグ検索・参照関係の逆引き</a><ul>
154
+ <li><a class="reference internal" href="#id2">3.6.1. タグ検索</a></li>
155
+ <li><a class="reference internal" href="#id3">3.6.2. 参照関係の逆引き</a></li>
156
+ </ul>
157
+ </li>
158
+ </ul>
159
+
160
+ <h4>Previous topic</h4>
161
+ <p class="topless"><a href="tutorial05.html"
162
+ title="previous chapter">3.5. ドリルダウン</a></p>
163
+ <h4>Next topic</h4>
164
+ <p class="topless"><a href="tutorial07.html"
165
+ title="next chapter">3.7. match_columnsパラメータ</a></p>
166
+ <h3>This Page</h3>
167
+ <ul class="this-page-menu">
168
+ <li><a href="../_sources/tutorial/tutorial06.txt"
169
+ rel="nofollow">Show Source</a></li>
170
+ </ul>
171
+ <div id="searchbox" style="display: none">
172
+ <h3>Quick search</h3>
173
+ <form class="search" action="../search.html" method="get">
174
+ <input type="text" name="q" size="18" />
175
+ <input type="submit" value="Go" />
176
+ <input type="hidden" name="check_keywords" value="yes" />
177
+ <input type="hidden" name="area" value="default" />
178
+ </form>
179
+ <p class="searchtip" style="font-size: 90%">
180
+ Enter search terms or a module, class or function name.
181
+ </p>
182
+ </div>
183
+ <script type="text/javascript">$('#searchbox').show(0);</script>
184
+ </div>
185
+ </div>
186
+ <div class="clearer"></div>
187
+ </div>
188
+ <div class="related">
189
+ <h3>Navigation</h3>
190
+ <ul>
191
+ <li class="right" style="margin-right: 10px">
192
+ <a href="../genindex.html" title="General Index"
193
+ >index</a></li>
194
+ <li class="right" >
195
+ <a href="tutorial07.html" title="3.7. match_columnsパラメータ"
196
+ >next</a> |</li>
197
+ <li class="right" >
198
+ <a href="tutorial05.html" title="3.5. ドリルダウン"
199
+ >previous</a> |</li>
200
+ <li><a href="../index.html">groonga v1.0.2 documentation</a> &raquo;</li>
201
+ <li><a href="../tutorial.html" >3. チュートリアル</a> &raquo;</li>
202
+ </ul>
203
+ </div>
204
+ <div class="footer">
205
+ &copy; Copyright 2009-2010, Brazil, Inc.
206
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.1.
207
+ </div>
208
+ </body>
209
+ </html>
@@ -0,0 +1,212 @@
1
+
2
+
3
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+
6
+ <html xmlns="http://www.w3.org/1999/xhtml">
7
+ <head>
8
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
9
+
10
+ <title>3.7. match_columnsパラメータ &mdash; groonga v1.0.2 documentation</title>
11
+ <link rel="stylesheet" href="../_static/default.css" type="text/css" />
12
+ <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
13
+ <script type="text/javascript">
14
+ var DOCUMENTATION_OPTIONS = {
15
+ URL_ROOT: '../',
16
+ VERSION: '1.0.2',
17
+ COLLAPSE_INDEX: false,
18
+ FILE_SUFFIX: '.html',
19
+ HAS_SOURCE: true
20
+ };
21
+ </script>
22
+ <script type="text/javascript" src="../_static/jquery.js"></script>
23
+ <script type="text/javascript" src="../_static/underscore.js"></script>
24
+ <script type="text/javascript" src="../_static/doctools.js"></script>
25
+ <link rel="top" title="groonga v1.0.2 documentation" href="../index.html" />
26
+ <link rel="up" title="3. チュートリアル" href="../tutorial.html" />
27
+ <link rel="next" title="3.8. 主キーによる前方一致検索" href="tutorial08.html" />
28
+ <link rel="prev" title="3.6. タグ検索・参照関係の逆引き" href="tutorial06.html" />
29
+ </head>
30
+ <body>
31
+ <div class="related">
32
+ <h3>Navigation</h3>
33
+ <ul>
34
+ <li class="right" style="margin-right: 10px">
35
+ <a href="../genindex.html" title="General Index"
36
+ accesskey="I">index</a></li>
37
+ <li class="right" >
38
+ <a href="tutorial08.html" title="3.8. 主キーによる前方一致検索"
39
+ accesskey="N">next</a> |</li>
40
+ <li class="right" >
41
+ <a href="tutorial06.html" title="3.6. タグ検索・参照関係の逆引き"
42
+ accesskey="P">previous</a> |</li>
43
+ <li><a href="../index.html">groonga v1.0.2 documentation</a> &raquo;</li>
44
+ <li><a href="../tutorial.html" accesskey="U">3. チュートリアル</a> &raquo;</li>
45
+ </ul>
46
+ </div>
47
+
48
+ <div class="document">
49
+ <div class="documentwrapper">
50
+ <div class="bodywrapper">
51
+ <div class="body">
52
+
53
+ <div class="section" id="match-columns">
54
+ <h1>3.7. match_columnsパラメータ<a class="headerlink" href="#match-columns" title="Permalink to this headline">¶</a></h1>
55
+ <div class="section" id="id1">
56
+ <h2>3.7.1. 複数のカラムを対象とした全文検索<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h2>
57
+ <p>groongaでは、複数のカラムを対象とした全文検索を行うことができます。例えば、ブログのテーブルで、タイトルと内容とがそれぞれ別のカラムに入ったものがあるとしましょう。「タイトルもしくは内容に特定の単語を含む」検索を行いたいとします。</p>
58
+ <p>この場合、2つのインデックス作成方式があります。1つは、それぞれのカラムに1つずつインデックスを付与する方式です。もう1つは、複数のカラムに対して1つのインデックスを付与する方式です。groongaでは、どちらの形式のインデックスが存在している場合でも、同一の記法で全文検索を行うことができます。</p>
59
+ <div class="section" id="id2">
60
+ <h3>3.7.1.1. カラムごとにインデックスを付与する場合<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h3>
61
+ <p>Blog1テーブルを作り、タイトル文字列のtitleカラム、本文のmessageカラムを追加しています。
62
+ インデックス用のIndexBlog1テーブルも作り、titleカラムのインデックス用にindex_titleカラム、messageカラムのインデック用にindex_messageカラムと、それぞれ1カラムごとに1つずつ追加しています。</p>
63
+ <p>実行例</p>
64
+ <div class="highlight-none"><div class="highlight"><pre>&gt; table_create --name Blog1 --flags TABLE_HASH_KEY --key_type ShortText
65
+ [[0,1280378807.97095,0.074659],true]
66
+ &gt; column_create --table Blog1 --name title --flags COLUMN_SCALAR --type ShortText
67
+ [[0,1280378808.24637,0.058739],true]
68
+ &gt; column_create --table Blog1 --name message --flags COLUMN_SCALAR --type ShortText
69
+ [[0,1280378808.50589,0.074658],true]
70
+ &gt; table_create --name IndexBlog1 --flags TABLE_PAT_KEY|KEY_NORMALIZE --key_type ShortText --default_tokenizer TokenBigram
71
+ [[0,1280378808.78136,0.065557],true]
72
+ &gt; column_create --table IndexBlog1 --name index_title --flags COLUMN_INDEX|WITH_POSITION --type Blog1 --source title
73
+ [[0,1280378809.04764,0.147413],true]
74
+ &gt; column_create --table IndexBlog1 --name index_message --flags COLUMN_INDEX|WITH_POSITION --type Blog1 --source message
75
+ [[0,1280378809.39584,0.124963],true]
76
+ &gt; load --table Blog1
77
+ &gt; [
78
+ &gt; {&quot;_key&quot;:&quot;grn1&quot;,&quot;title&quot;:&quot;groonga test&quot;,&quot;message&quot;:&quot;groonga message&quot;},
79
+ &gt; {&quot;_key&quot;:&quot;grn2&quot;,&quot;title&quot;:&quot;baseball result&quot;,&quot;message&quot;:&quot;rakutan eggs 4 - 4 groonga moritars&quot;},
80
+ &gt; {&quot;_key&quot;:&quot;grn3&quot;,&quot;title&quot;:&quot;groonga message&quot;,&quot;message&quot;:&quot;none&quot;}
81
+ &gt; ]
82
+ [[0,1280378809.72157,1.001442],3]
83
+ </pre></div>
84
+ </div>
85
+ <p>match_columnsオプションで、検索対象のカラムを複数指定することが出来ます。検索する文字列はqueryオプションで指定します。これを使うことで、タイトルと本文を全文検索することができます。</p>
86
+ <p>実際に検索してみましょう。</p>
87
+ <p>実行例</p>
88
+ <div class="highlight-none"><div class="highlight"><pre>&gt; select --table Blog1 --match_columns title||message --query groonga
89
+ [[0,1280378810.92387,0.0008],[[[3],[[&quot;_id&quot;,&quot;UInt32&quot;],[&quot;_key&quot;,&quot;ShortText&quot;],[&quot;title&quot;,&quot;ShortText&quot;],[&quot;message&quot;,&quot;ShortText&quot;]],[1,&quot;grn1&quot;,&quot;groonga test&quot;,&quot;groonga message&quot;],[3,&quot;grn3&quot;,&quot;groonga message&quot;,&quot;none&quot;],[2,&quot;grn2&quot;,&quot;baseball result&quot;,&quot;rakutan eggs 4 - 4 groonga moritars&quot;]]]]
90
+ &gt; select --table Blog1 --match_columns title||message --query message
91
+ [[0,1280378811.12754,0.000547],[[[2],[[&quot;_id&quot;,&quot;UInt32&quot;],[&quot;_key&quot;,&quot;ShortText&quot;],[&quot;title&quot;,&quot;ShortText&quot;],[&quot;message&quot;,&quot;ShortText&quot;]],[3,&quot;grn3&quot;,&quot;groonga message&quot;,&quot;none&quot;],[1,&quot;grn1&quot;,&quot;groonga test&quot;,&quot;groonga message&quot;]]]]
92
+ &gt; select --table Blog1 --match_columns title --query message
93
+ [[0,1280378811.33043,0.000482],[[[1],[[&quot;_id&quot;,&quot;UInt32&quot;],[&quot;_key&quot;,&quot;ShortText&quot;],[&quot;title&quot;,&quot;ShortText&quot;],[&quot;message&quot;,&quot;ShortText&quot;]],[3,&quot;grn3&quot;,&quot;groonga message&quot;,&quot;none&quot;]]]]
94
+ </pre></div>
95
+ </div>
96
+ </div>
97
+ <div class="section" id="id3">
98
+ <h3>3.7.1.2. 複数のカラムにまたがったインデックスを付与する場合<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h3>
99
+ <p>内容は上の例とほぼ同じですが、titleとmessageの2つのカラムに対するインデックスが共通になっており、インデックスカラムが1つしかありません。</p>
100
+ <p>共通のインデックスを用いても、titleカラムのみでの検索、messageカラムのみでの検索、titleもしくはmessageカラムでの検索、全ての検索を行うことができます。</p>
101
+ <p>実行例</p>
102
+ <div class="highlight-none"><div class="highlight"><pre>&gt; table_create --name Blog2 --flags TABLE_HASH_KEY --key_type ShortText
103
+ [[0,1280378811.53299,0.099804],true]
104
+ &gt; column_create --table Blog2 --name title --flags COLUMN_SCALAR --type ShortText
105
+ [[0,1280378811.83359,0.058761],true]
106
+ &gt; column_create --table Blog2 --name message --flags COLUMN_SCALAR --type ShortText
107
+ [[0,1280378812.09316,0.05801],true]
108
+ &gt; table_create --name IndexBlog2 --flags TABLE_PAT_KEY|KEY_NORMALIZE --key_type ShortText --default_tokenizer TokenBigram
109
+ [[0,1280378812.35194,0.057196],true]
110
+ &gt; column_create --table IndexBlog2 --name index_blog --flags COLUMN_INDEX|WITH_POSITION|WITH_SECTION --type Blog2 --source title,message
111
+ [[0,1280378812.60988,0.113983],true]
112
+ &gt; load --table Blog2
113
+ &gt; [
114
+ &gt; {&quot;_key&quot;:&quot;grn1&quot;,&quot;title&quot;:&quot;groonga test&quot;,&quot;message&quot;:&quot;groonga message&quot;},
115
+ &gt; {&quot;_key&quot;:&quot;grn2&quot;,&quot;title&quot;:&quot;baseball result&quot;,&quot;message&quot;:&quot;rakutan eggs 4 - 4 groonga moritars&quot;},
116
+ &gt; {&quot;_key&quot;:&quot;grn3&quot;,&quot;title&quot;:&quot;groonga message&quot;,&quot;message&quot;:&quot;none&quot;}
117
+ &gt; ]
118
+ [[0,1280378812.92463,1.001314],3]
119
+ </pre></div>
120
+ </div>
121
+ <p>実際に検索してみましょう。結果は上の例と同じになります。</p>
122
+ <p>実行例</p>
123
+ <div class="highlight-none"><div class="highlight"><pre>&gt; select --table Blog2 --match_columns title||message --query groonga
124
+ [[0,1280378814.12681,0.000585],[[[3],[[&quot;_id&quot;,&quot;UInt32&quot;],[&quot;_key&quot;,&quot;ShortText&quot;],[&quot;title&quot;,&quot;ShortText&quot;],[&quot;message&quot;,&quot;ShortText&quot;]],[1,&quot;grn1&quot;,&quot;groonga test&quot;,&quot;groonga message&quot;],[2,&quot;grn2&quot;,&quot;baseball result&quot;,&quot;rakutan eggs 4 - 4 groonga moritars&quot;],[3,&quot;grn3&quot;,&quot;groonga message&quot;,&quot;none&quot;]]]]
125
+ &gt; select --table Blog2 --match_columns title||message --query message
126
+ [[0,1280378814.33044,0.000508],[[[2],[[&quot;_id&quot;,&quot;UInt32&quot;],[&quot;_key&quot;,&quot;ShortText&quot;],[&quot;title&quot;,&quot;ShortText&quot;],[&quot;message&quot;,&quot;ShortText&quot;]],[1,&quot;grn1&quot;,&quot;groonga test&quot;,&quot;groonga message&quot;],[3,&quot;grn3&quot;,&quot;groonga message&quot;,&quot;none&quot;]]]]
127
+ &gt; select --table Blog2 --match_columns title --query message
128
+ [[0,1280378814.53323,0.000486],[[[1],[[&quot;_id&quot;,&quot;UInt32&quot;],[&quot;_key&quot;,&quot;ShortText&quot;],[&quot;title&quot;,&quot;ShortText&quot;],[&quot;message&quot;,&quot;ShortText&quot;]],[3,&quot;grn3&quot;,&quot;groonga message&quot;,&quot;none&quot;]]]]
129
+ </pre></div>
130
+ </div>
131
+ </div>
132
+ </div>
133
+ <div class="section" id="id4">
134
+ <h2>3.7.2. インデックス名を指定した全文検索<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h2>
135
+ <p>執筆中です。</p>
136
+ </div>
137
+ <div class="section" id="id5">
138
+ <h2>3.7.3. インデックスの重み<a class="headerlink" href="#id5" title="Permalink to this headline">¶</a></h2>
139
+ <p>執筆中です。</p>
140
+ </div>
141
+ </div>
142
+
143
+
144
+ </div>
145
+ </div>
146
+ </div>
147
+ <div class="sphinxsidebar">
148
+ <div class="sphinxsidebarwrapper">
149
+ <h3><a href="../index.html">Table Of Contents</a></h3>
150
+ <ul>
151
+ <li><a class="reference internal" href="#">3.7. match_columnsパラメータ</a><ul>
152
+ <li><a class="reference internal" href="#id1">3.7.1. 複数のカラムを対象とした全文検索</a><ul>
153
+ <li><a class="reference internal" href="#id2">3.7.1.1. カラムごとにインデックスを付与する場合</a></li>
154
+ <li><a class="reference internal" href="#id3">3.7.1.2. 複数のカラムにまたがったインデックスを付与する場合</a></li>
155
+ </ul>
156
+ </li>
157
+ <li><a class="reference internal" href="#id4">3.7.2. インデックス名を指定した全文検索</a></li>
158
+ <li><a class="reference internal" href="#id5">3.7.3. インデックスの重み</a></li>
159
+ </ul>
160
+ </li>
161
+ </ul>
162
+
163
+ <h4>Previous topic</h4>
164
+ <p class="topless"><a href="tutorial06.html"
165
+ title="previous chapter">3.6. タグ検索・参照関係の逆引き</a></p>
166
+ <h4>Next topic</h4>
167
+ <p class="topless"><a href="tutorial08.html"
168
+ title="next chapter">3.8. 主キーによる前方一致検索</a></p>
169
+ <h3>This Page</h3>
170
+ <ul class="this-page-menu">
171
+ <li><a href="../_sources/tutorial/tutorial07.txt"
172
+ rel="nofollow">Show Source</a></li>
173
+ </ul>
174
+ <div id="searchbox" style="display: none">
175
+ <h3>Quick search</h3>
176
+ <form class="search" action="../search.html" method="get">
177
+ <input type="text" name="q" size="18" />
178
+ <input type="submit" value="Go" />
179
+ <input type="hidden" name="check_keywords" value="yes" />
180
+ <input type="hidden" name="area" value="default" />
181
+ </form>
182
+ <p class="searchtip" style="font-size: 90%">
183
+ Enter search terms or a module, class or function name.
184
+ </p>
185
+ </div>
186
+ <script type="text/javascript">$('#searchbox').show(0);</script>
187
+ </div>
188
+ </div>
189
+ <div class="clearer"></div>
190
+ </div>
191
+ <div class="related">
192
+ <h3>Navigation</h3>
193
+ <ul>
194
+ <li class="right" style="margin-right: 10px">
195
+ <a href="../genindex.html" title="General Index"
196
+ >index</a></li>
197
+ <li class="right" >
198
+ <a href="tutorial08.html" title="3.8. 主キーによる前方一致検索"
199
+ >next</a> |</li>
200
+ <li class="right" >
201
+ <a href="tutorial06.html" title="3.6. タグ検索・参照関係の逆引き"
202
+ >previous</a> |</li>
203
+ <li><a href="../index.html">groonga v1.0.2 documentation</a> &raquo;</li>
204
+ <li><a href="../tutorial.html" >3. チュートリアル</a> &raquo;</li>
205
+ </ul>
206
+ </div>
207
+ <div class="footer">
208
+ &copy; Copyright 2009-2010, Brazil, Inc.
209
+ Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.1.
210
+ </div>
211
+ </body>
212
+ </html>