rroonga 1.3.0-x86-mingw32 → 1.3.1-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (334) hide show
  1. data/Rakefile +33 -2
  2. data/benchmark/common.rb +2 -2
  3. data/benchmark/read-write-many-small-items.rb +71 -62
  4. data/benchmark/write-many-small-items.rb +61 -53
  5. data/ext/groonga/rb-grn-context.c +23 -5
  6. data/ext/groonga/rb-grn-index-column.c +2 -6
  7. data/ext/groonga/rb-grn-operator.c +31 -1
  8. data/ext/groonga/rb-grn-variable-size-column.c +77 -1
  9. data/ext/groonga/rb-grn.h +2 -11
  10. data/ext/groonga/rb-groonga.c +1 -2
  11. data/lib/1.8/groonga.so +0 -0
  12. data/lib/1.9/groonga.so +0 -0
  13. data/lib/groonga/command.rb +169 -0
  14. data/lib/groonga/context.rb +4 -124
  15. data/lib/groonga/dumper.rb +10 -8
  16. data/lib/groonga/record.rb +7 -0
  17. data/lib/groonga/schema.rb +98 -7
  18. data/rroonga-build.rb +3 -3
  19. data/test/{test-context-select.rb → test-command-select.rb} +3 -3
  20. data/test/test-record.rb +18 -1
  21. data/test/test-schema-dumper.rb +48 -0
  22. data/test/test-schema-type.rb +35 -0
  23. data/test/test-schema.rb +81 -11
  24. data/test/test-table-select.rb +49 -38
  25. data/test/test-variable-size-column.rb +30 -0
  26. data/vendor/local/bin/grntest.exe +0 -0
  27. data/vendor/local/bin/groonga.exe +0 -0
  28. data/vendor/local/bin/libgroonga-0.dll +0 -0
  29. data/vendor/local/bin/libmecab-1.dll +0 -0
  30. data/vendor/local/bin/mecab.exe +0 -0
  31. data/vendor/local/include/groonga/groonga/plugin.h +3 -2
  32. data/vendor/local/include/groonga/groonga.h +106 -78
  33. data/vendor/local/lib/groonga/plugins/suggest/suggest.a +0 -0
  34. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll +0 -0
  35. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll.a +0 -0
  36. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.a +0 -0
  37. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll +0 -0
  38. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll.a +0 -0
  39. data/vendor/local/lib/libgroonga.a +0 -0
  40. data/vendor/local/lib/libgroonga.dll.a +0 -0
  41. data/vendor/local/lib/libmecab.a +0 -0
  42. data/vendor/local/lib/libmecab.dll.a +0 -0
  43. data/vendor/local/lib/pkgconfig/groonga.pc +5 -2
  44. data/vendor/local/libexec/mecab/mecab-cost-train.exe +0 -0
  45. data/vendor/local/libexec/mecab/mecab-dict-gen.exe +0 -0
  46. data/vendor/local/libexec/mecab/mecab-dict-index.exe +0 -0
  47. data/vendor/local/libexec/mecab/mecab-system-eval.exe +0 -0
  48. data/vendor/local/libexec/mecab/mecab-test-gen.exe +0 -0
  49. data/vendor/local/share/doc/groonga/en/html/.buildinfo +1 -1
  50. data/vendor/local/share/doc/groonga/en/html/_sources/characteristic.txt +42 -32
  51. data/vendor/local/share/doc/groonga/en/html/_sources/commands/delete.txt +5 -1
  52. data/vendor/local/share/doc/groonga/en/html/_sources/commands/table_create.txt +5 -2
  53. data/vendor/local/share/doc/groonga/en/html/_sources/community.txt +4 -3
  54. data/vendor/local/share/doc/groonga/en/html/_sources/contribution.txt +8 -6
  55. data/vendor/local/share/doc/groonga/en/html/_sources/functions/geo_distance.txt +42 -3
  56. data/vendor/local/share/doc/groonga/en/html/_sources/functions/geo_in_circle.txt +26 -1
  57. data/vendor/local/share/doc/groonga/en/html/_sources/index.txt +2 -2
  58. data/vendor/local/share/doc/groonga/en/html/_sources/install.txt +102 -27
  59. data/vendor/local/share/doc/groonga/en/html/_sources/limitations.txt +10 -10
  60. data/vendor/local/share/doc/groonga/en/html/_sources/news.txt +130 -21
  61. data/vendor/local/share/doc/groonga/en/html/_sources/output.txt +164 -0
  62. data/vendor/local/share/doc/groonga/en/html/_sources/reference.txt +1 -0
  63. data/vendor/local/share/doc/groonga/en/html/_sources/suggest.txt +0 -5
  64. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/data.txt +6 -4
  65. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/drilldown.txt +1 -3
  66. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/index.txt +2 -1
  67. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/introduction.txt +95 -116
  68. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/match_columns.txt +1 -4
  69. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/micro_blog.txt +1 -4
  70. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/network.txt +3 -0
  71. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/patricia_trie.txt +1 -2
  72. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/query_expansion.txt +5 -0
  73. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/search.txt +3 -0
  74. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial.txt +2 -2
  75. data/vendor/local/share/doc/groonga/en/html/_sources/type.txt +3 -3
  76. data/vendor/local/share/doc/groonga/en/html/_static/basic.css +13 -1
  77. data/vendor/local/share/doc/groonga/en/html/_static/doctools.js +5 -5
  78. data/vendor/local/share/doc/groonga/en/html/_static/searchtools.js +11 -7
  79. data/vendor/local/share/doc/groonga/en/html/_static/websupport.js +1 -1
  80. data/vendor/local/share/doc/groonga/en/html/characteristic.html +60 -52
  81. data/vendor/local/share/doc/groonga/en/html/command_version.html +30 -30
  82. data/vendor/local/share/doc/groonga/en/html/commands/cache_limit.html +34 -34
  83. data/vendor/local/share/doc/groonga/en/html/commands/check.html +34 -34
  84. data/vendor/local/share/doc/groonga/en/html/commands/clearlock.html +34 -34
  85. data/vendor/local/share/doc/groonga/en/html/commands/column_create.html +34 -34
  86. data/vendor/local/share/doc/groonga/en/html/commands/column_list.html +34 -34
  87. data/vendor/local/share/doc/groonga/en/html/commands/column_remove.html +34 -34
  88. data/vendor/local/share/doc/groonga/en/html/commands/define_selector.html +36 -36
  89. data/vendor/local/share/doc/groonga/en/html/commands/defrag.html +34 -34
  90. data/vendor/local/share/doc/groonga/en/html/commands/delete.html +38 -35
  91. data/vendor/local/share/doc/groonga/en/html/commands/dump.html +32 -32
  92. data/vendor/local/share/doc/groonga/en/html/commands/load.html +36 -36
  93. data/vendor/local/share/doc/groonga/en/html/commands/log_level.html +36 -36
  94. data/vendor/local/share/doc/groonga/en/html/commands/log_put.html +36 -36
  95. data/vendor/local/share/doc/groonga/en/html/commands/log_reopen.html +38 -38
  96. data/vendor/local/share/doc/groonga/en/html/commands/quit.html +32 -32
  97. data/vendor/local/share/doc/groonga/en/html/commands/select.html +38 -38
  98. data/vendor/local/share/doc/groonga/en/html/commands/shutdown.html +32 -32
  99. data/vendor/local/share/doc/groonga/en/html/commands/status.html +34 -34
  100. data/vendor/local/share/doc/groonga/en/html/commands/suggest.html +36 -36
  101. data/vendor/local/share/doc/groonga/en/html/commands/table_create.html +38 -36
  102. data/vendor/local/share/doc/groonga/en/html/commands/table_list.html +34 -34
  103. data/vendor/local/share/doc/groonga/en/html/commands/table_remove.html +34 -34
  104. data/vendor/local/share/doc/groonga/en/html/commands/view_add.html +34 -34
  105. data/vendor/local/share/doc/groonga/en/html/commands.html +41 -41
  106. data/vendor/local/share/doc/groonga/en/html/community.html +14 -12
  107. data/vendor/local/share/doc/groonga/en/html/contribution/development/com.html +7 -7
  108. data/vendor/local/share/doc/groonga/en/html/contribution/development/document.html +7 -7
  109. data/vendor/local/share/doc/groonga/en/html/contribution/development/query.html +7 -7
  110. data/vendor/local/share/doc/groonga/en/html/contribution/development/test.html +7 -7
  111. data/vendor/local/share/doc/groonga/en/html/contribution/development.html +7 -7
  112. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/c-api.html +7 -7
  113. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/i18n.html +7 -7
  114. data/vendor/local/share/doc/groonga/en/html/contribution/documentation.html +7 -7
  115. data/vendor/local/share/doc/groonga/en/html/contribution/report.html +7 -7
  116. data/vendor/local/share/doc/groonga/en/html/contribution.html +15 -13
  117. data/vendor/local/share/doc/groonga/en/html/executables/grnslap.html +7 -7
  118. data/vendor/local/share/doc/groonga/en/html/executables/grntest.html +7 -7
  119. data/vendor/local/share/doc/groonga/en/html/executables/groonga-http.html +7 -7
  120. data/vendor/local/share/doc/groonga/en/html/executables/groonga-suggest-create-dataset.html +12 -12
  121. data/vendor/local/share/doc/groonga/en/html/executables/groonga.html +7 -7
  122. data/vendor/local/share/doc/groonga/en/html/executables.html +7 -7
  123. data/vendor/local/share/doc/groonga/en/html/expr.html +25 -25
  124. data/vendor/local/share/doc/groonga/en/html/functions/edit_distance.html +32 -32
  125. data/vendor/local/share/doc/groonga/en/html/functions/geo_distance.html +71 -36
  126. data/vendor/local/share/doc/groonga/en/html/functions/geo_in_circle.html +53 -33
  127. data/vendor/local/share/doc/groonga/en/html/functions/geo_in_rectangle.html +32 -32
  128. data/vendor/local/share/doc/groonga/en/html/functions/now.html +30 -30
  129. data/vendor/local/share/doc/groonga/en/html/functions/rand.html +32 -32
  130. data/vendor/local/share/doc/groonga/en/html/functions.html +22 -22
  131. data/vendor/local/share/doc/groonga/en/html/genindex.html +7 -7
  132. data/vendor/local/share/doc/groonga/en/html/geolocation_search.html +7 -7
  133. data/vendor/local/share/doc/groonga/en/html/index.html +92 -87
  134. data/vendor/local/share/doc/groonga/en/html/install.html +109 -40
  135. data/vendor/local/share/doc/groonga/en/html/limitations.html +19 -19
  136. data/vendor/local/share/doc/groonga/en/html/log.html +21 -21
  137. data/vendor/local/share/doc/groonga/en/html/news/0.x.html +7 -7
  138. data/vendor/local/share/doc/groonga/en/html/news/1.0.x.html +7 -7
  139. data/vendor/local/share/doc/groonga/en/html/news/1.1.x.html +7 -7
  140. data/vendor/local/share/doc/groonga/en/html/news/senna.html +7 -7
  141. data/vendor/local/share/doc/groonga/en/html/news.html +233 -112
  142. data/vendor/local/share/doc/groonga/en/html/objects.inv +0 -0
  143. data/vendor/local/share/doc/groonga/en/html/output.html +302 -0
  144. data/vendor/local/share/doc/groonga/en/html/pseudo_column.html +21 -21
  145. data/vendor/local/share/doc/groonga/en/html/reference.html +59 -55
  146. data/vendor/local/share/doc/groonga/en/html/search.html +6 -6
  147. data/vendor/local/share/doc/groonga/en/html/searchindex.js +1 -1
  148. data/vendor/local/share/doc/groonga/en/html/spec/search.html +11 -11
  149. data/vendor/local/share/doc/groonga/en/html/spec.html +11 -11
  150. data/vendor/local/share/doc/groonga/en/html/suggest/completion.html +7 -7
  151. data/vendor/local/share/doc/groonga/en/html/suggest/correction.html +7 -7
  152. data/vendor/local/share/doc/groonga/en/html/suggest/introduction.html +7 -7
  153. data/vendor/local/share/doc/groonga/en/html/suggest/suggestion.html +7 -7
  154. data/vendor/local/share/doc/groonga/en/html/suggest/tutorial.html +7 -7
  155. data/vendor/local/share/doc/groonga/en/html/suggest.html +7 -12
  156. data/vendor/local/share/doc/groonga/en/html/troubleshooting/different_results_with_the_same_keyword.html +7 -7
  157. data/vendor/local/share/doc/groonga/en/html/troubleshooting.html +11 -11
  158. data/vendor/local/share/doc/groonga/en/html/tutorial/data.html +23 -23
  159. data/vendor/local/share/doc/groonga/en/html/tutorial/drilldown.html +10 -10
  160. data/vendor/local/share/doc/groonga/en/html/tutorial/index.html +10 -10
  161. data/vendor/local/share/doc/groonga/en/html/tutorial/introduction.html +124 -164
  162. data/vendor/local/share/doc/groonga/en/html/tutorial/lexicon.html +10 -10
  163. data/vendor/local/share/doc/groonga/en/html/tutorial/match_columns.html +10 -10
  164. data/vendor/local/share/doc/groonga/en/html/tutorial/micro_blog.html +10 -10
  165. data/vendor/local/share/doc/groonga/en/html/tutorial/network.html +14 -14
  166. data/vendor/local/share/doc/groonga/en/html/tutorial/patricia_trie.html +10 -10
  167. data/vendor/local/share/doc/groonga/en/html/tutorial/query_expansion.html +11 -10
  168. data/vendor/local/share/doc/groonga/en/html/tutorial/search.html +10 -10
  169. data/vendor/local/share/doc/groonga/en/html/tutorial.html +26 -26
  170. data/vendor/local/share/doc/groonga/en/html/type.html +31 -31
  171. data/vendor/local/share/doc/groonga/ja/html/.buildinfo +1 -1
  172. data/vendor/local/share/doc/groonga/ja/html/_sources/characteristic.txt +42 -32
  173. data/vendor/local/share/doc/groonga/ja/html/_sources/commands/delete.txt +5 -1
  174. data/vendor/local/share/doc/groonga/ja/html/_sources/commands/table_create.txt +5 -2
  175. data/vendor/local/share/doc/groonga/ja/html/_sources/community.txt +4 -3
  176. data/vendor/local/share/doc/groonga/ja/html/_sources/contribution.txt +8 -6
  177. data/vendor/local/share/doc/groonga/ja/html/_sources/functions/geo_distance.txt +42 -3
  178. data/vendor/local/share/doc/groonga/ja/html/_sources/functions/geo_in_circle.txt +26 -1
  179. data/vendor/local/share/doc/groonga/ja/html/_sources/index.txt +2 -2
  180. data/vendor/local/share/doc/groonga/ja/html/_sources/install.txt +102 -27
  181. data/vendor/local/share/doc/groonga/ja/html/_sources/limitations.txt +10 -10
  182. data/vendor/local/share/doc/groonga/ja/html/_sources/news.txt +130 -21
  183. data/vendor/local/share/doc/groonga/ja/html/_sources/output.txt +164 -0
  184. data/vendor/local/share/doc/groonga/ja/html/_sources/reference.txt +1 -0
  185. data/vendor/local/share/doc/groonga/ja/html/_sources/suggest.txt +0 -5
  186. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/data.txt +6 -4
  187. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/drilldown.txt +1 -3
  188. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/index.txt +2 -1
  189. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/introduction.txt +95 -116
  190. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/match_columns.txt +1 -4
  191. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/micro_blog.txt +1 -4
  192. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/network.txt +3 -0
  193. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/patricia_trie.txt +1 -2
  194. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/query_expansion.txt +5 -0
  195. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/search.txt +3 -0
  196. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial.txt +2 -2
  197. data/vendor/local/share/doc/groonga/ja/html/_sources/type.txt +3 -3
  198. data/vendor/local/share/doc/groonga/ja/html/_static/basic.css +13 -1
  199. data/vendor/local/share/doc/groonga/ja/html/_static/doctools.js +5 -5
  200. data/vendor/local/share/doc/groonga/ja/html/_static/searchtools.js +11 -7
  201. data/vendor/local/share/doc/groonga/ja/html/_static/websupport.js +1 -1
  202. data/vendor/local/share/doc/groonga/ja/html/characteristic.html +55 -47
  203. data/vendor/local/share/doc/groonga/ja/html/command_version.html +30 -30
  204. data/vendor/local/share/doc/groonga/ja/html/commands/cache_limit.html +34 -34
  205. data/vendor/local/share/doc/groonga/ja/html/commands/check.html +34 -34
  206. data/vendor/local/share/doc/groonga/ja/html/commands/clearlock.html +34 -34
  207. data/vendor/local/share/doc/groonga/ja/html/commands/column_create.html +34 -34
  208. data/vendor/local/share/doc/groonga/ja/html/commands/column_list.html +34 -34
  209. data/vendor/local/share/doc/groonga/ja/html/commands/column_remove.html +34 -34
  210. data/vendor/local/share/doc/groonga/ja/html/commands/define_selector.html +36 -36
  211. data/vendor/local/share/doc/groonga/ja/html/commands/defrag.html +34 -34
  212. data/vendor/local/share/doc/groonga/ja/html/commands/delete.html +38 -35
  213. data/vendor/local/share/doc/groonga/ja/html/commands/dump.html +32 -32
  214. data/vendor/local/share/doc/groonga/ja/html/commands/load.html +36 -36
  215. data/vendor/local/share/doc/groonga/ja/html/commands/log_level.html +36 -36
  216. data/vendor/local/share/doc/groonga/ja/html/commands/log_put.html +36 -36
  217. data/vendor/local/share/doc/groonga/ja/html/commands/log_reopen.html +38 -38
  218. data/vendor/local/share/doc/groonga/ja/html/commands/quit.html +32 -32
  219. data/vendor/local/share/doc/groonga/ja/html/commands/select.html +38 -38
  220. data/vendor/local/share/doc/groonga/ja/html/commands/shutdown.html +32 -32
  221. data/vendor/local/share/doc/groonga/ja/html/commands/status.html +34 -34
  222. data/vendor/local/share/doc/groonga/ja/html/commands/suggest.html +36 -36
  223. data/vendor/local/share/doc/groonga/ja/html/commands/table_create.html +38 -36
  224. data/vendor/local/share/doc/groonga/ja/html/commands/table_list.html +34 -34
  225. data/vendor/local/share/doc/groonga/ja/html/commands/table_remove.html +34 -34
  226. data/vendor/local/share/doc/groonga/ja/html/commands/view_add.html +34 -34
  227. data/vendor/local/share/doc/groonga/ja/html/commands.html +41 -41
  228. data/vendor/local/share/doc/groonga/ja/html/community.html +10 -8
  229. data/vendor/local/share/doc/groonga/ja/html/contribution/development/com.html +7 -7
  230. data/vendor/local/share/doc/groonga/ja/html/contribution/development/document.html +7 -7
  231. data/vendor/local/share/doc/groonga/ja/html/contribution/development/query.html +7 -7
  232. data/vendor/local/share/doc/groonga/ja/html/contribution/development/test.html +7 -7
  233. data/vendor/local/share/doc/groonga/ja/html/contribution/development.html +7 -7
  234. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/c-api.html +7 -7
  235. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/i18n.html +7 -7
  236. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation.html +7 -7
  237. data/vendor/local/share/doc/groonga/ja/html/contribution/report.html +7 -7
  238. data/vendor/local/share/doc/groonga/ja/html/contribution.html +7 -7
  239. data/vendor/local/share/doc/groonga/ja/html/executables/grnslap.html +7 -7
  240. data/vendor/local/share/doc/groonga/ja/html/executables/grntest.html +7 -7
  241. data/vendor/local/share/doc/groonga/ja/html/executables/groonga-http.html +7 -7
  242. data/vendor/local/share/doc/groonga/ja/html/executables/groonga-suggest-create-dataset.html +12 -12
  243. data/vendor/local/share/doc/groonga/ja/html/executables/groonga.html +7 -7
  244. data/vendor/local/share/doc/groonga/ja/html/executables.html +7 -7
  245. data/vendor/local/share/doc/groonga/ja/html/expr.html +25 -25
  246. data/vendor/local/share/doc/groonga/ja/html/functions/edit_distance.html +32 -32
  247. data/vendor/local/share/doc/groonga/ja/html/functions/geo_distance.html +71 -36
  248. data/vendor/local/share/doc/groonga/ja/html/functions/geo_in_circle.html +53 -33
  249. data/vendor/local/share/doc/groonga/ja/html/functions/geo_in_rectangle.html +32 -32
  250. data/vendor/local/share/doc/groonga/ja/html/functions/now.html +30 -30
  251. data/vendor/local/share/doc/groonga/ja/html/functions/rand.html +32 -32
  252. data/vendor/local/share/doc/groonga/ja/html/functions.html +22 -22
  253. data/vendor/local/share/doc/groonga/ja/html/genindex.html +7 -7
  254. data/vendor/local/share/doc/groonga/ja/html/geolocation_search.html +7 -7
  255. data/vendor/local/share/doc/groonga/ja/html/index.html +84 -79
  256. data/vendor/local/share/doc/groonga/ja/html/install.html +92 -16
  257. data/vendor/local/share/doc/groonga/ja/html/limitations.html +13 -13
  258. data/vendor/local/share/doc/groonga/ja/html/log.html +21 -21
  259. data/vendor/local/share/doc/groonga/ja/html/news/0.x.html +7 -7
  260. data/vendor/local/share/doc/groonga/ja/html/news/1.0.x.html +7 -7
  261. data/vendor/local/share/doc/groonga/ja/html/news/1.1.x.html +7 -7
  262. data/vendor/local/share/doc/groonga/ja/html/news/senna.html +7 -7
  263. data/vendor/local/share/doc/groonga/ja/html/news.html +202 -99
  264. data/vendor/local/share/doc/groonga/ja/html/objects.inv +0 -0
  265. data/vendor/local/share/doc/groonga/ja/html/output.html +287 -0
  266. data/vendor/local/share/doc/groonga/ja/html/pseudo_column.html +21 -21
  267. data/vendor/local/share/doc/groonga/ja/html/reference.html +59 -55
  268. data/vendor/local/share/doc/groonga/ja/html/search.html +6 -6
  269. data/vendor/local/share/doc/groonga/ja/html/searchindex.js +1 -1
  270. data/vendor/local/share/doc/groonga/ja/html/spec/search.html +7 -7
  271. data/vendor/local/share/doc/groonga/ja/html/spec.html +11 -11
  272. data/vendor/local/share/doc/groonga/ja/html/suggest/completion.html +7 -7
  273. data/vendor/local/share/doc/groonga/ja/html/suggest/correction.html +7 -7
  274. data/vendor/local/share/doc/groonga/ja/html/suggest/introduction.html +7 -7
  275. data/vendor/local/share/doc/groonga/ja/html/suggest/suggestion.html +7 -7
  276. data/vendor/local/share/doc/groonga/ja/html/suggest/tutorial.html +7 -7
  277. data/vendor/local/share/doc/groonga/ja/html/suggest.html +7 -11
  278. data/vendor/local/share/doc/groonga/ja/html/troubleshooting/different_results_with_the_same_keyword.html +7 -7
  279. data/vendor/local/share/doc/groonga/ja/html/troubleshooting.html +7 -7
  280. data/vendor/local/share/doc/groonga/ja/html/tutorial/data.html +20 -20
  281. data/vendor/local/share/doc/groonga/ja/html/tutorial/drilldown.html +7 -7
  282. data/vendor/local/share/doc/groonga/ja/html/tutorial/index.html +7 -7
  283. data/vendor/local/share/doc/groonga/ja/html/tutorial/introduction.html +93 -115
  284. data/vendor/local/share/doc/groonga/ja/html/tutorial/lexicon.html +7 -7
  285. data/vendor/local/share/doc/groonga/ja/html/tutorial/match_columns.html +7 -7
  286. data/vendor/local/share/doc/groonga/ja/html/tutorial/micro_blog.html +7 -7
  287. data/vendor/local/share/doc/groonga/ja/html/tutorial/network.html +8 -8
  288. data/vendor/local/share/doc/groonga/ja/html/tutorial/patricia_trie.html +7 -7
  289. data/vendor/local/share/doc/groonga/ja/html/tutorial/query_expansion.html +8 -7
  290. data/vendor/local/share/doc/groonga/ja/html/tutorial/search.html +7 -7
  291. data/vendor/local/share/doc/groonga/ja/html/tutorial.html +21 -21
  292. data/vendor/local/share/doc/groonga/ja/html/type.html +31 -31
  293. data/vendor/local/share/doc/groonga/source/characteristic.txt +42 -32
  294. data/vendor/local/share/doc/groonga/source/commands/delete.txt +5 -1
  295. data/vendor/local/share/doc/groonga/source/commands/table_create.txt +5 -2
  296. data/vendor/local/share/doc/groonga/source/community.txt +4 -3
  297. data/vendor/local/share/doc/groonga/source/contribution.txt +8 -6
  298. data/vendor/local/share/doc/groonga/source/example/tutorial/data-1.log +8 -8
  299. data/vendor/local/share/doc/groonga/source/example/tutorial/data-2.log +4 -4
  300. data/vendor/local/share/doc/groonga/source/example/tutorial/data-3.log +4 -4
  301. data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-1.log +3 -15
  302. data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-2.log +2 -7
  303. data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-3.log +2 -7
  304. data/vendor/local/share/doc/groonga/source/functions/geo_distance.txt +42 -3
  305. data/vendor/local/share/doc/groonga/source/functions/geo_in_circle.txt +26 -1
  306. data/vendor/local/share/doc/groonga/source/index.txt +2 -2
  307. data/vendor/local/share/doc/groonga/source/install.txt +102 -27
  308. data/vendor/local/share/doc/groonga/source/limitations.txt +10 -10
  309. data/vendor/local/share/doc/groonga/source/news.txt +130 -21
  310. data/vendor/local/share/doc/groonga/source/output.txt +164 -0
  311. data/vendor/local/share/doc/groonga/source/reference.txt +1 -0
  312. data/vendor/local/share/doc/groonga/source/suggest.txt +0 -5
  313. data/vendor/local/share/doc/groonga/source/tutorial/data.txt +6 -4
  314. data/vendor/local/share/doc/groonga/source/tutorial/drilldown.txt +1 -3
  315. data/vendor/local/share/doc/groonga/source/tutorial/index.txt +2 -1
  316. data/vendor/local/share/doc/groonga/source/tutorial/introduction.txt +95 -116
  317. data/vendor/local/share/doc/groonga/source/tutorial/match_columns.txt +1 -4
  318. data/vendor/local/share/doc/groonga/source/tutorial/micro_blog.txt +1 -4
  319. data/vendor/local/share/doc/groonga/source/tutorial/network.txt +3 -0
  320. data/vendor/local/share/doc/groonga/source/tutorial/patricia_trie.txt +1 -2
  321. data/vendor/local/share/doc/groonga/source/tutorial/query_expansion.txt +5 -0
  322. data/vendor/local/share/doc/groonga/source/tutorial/search.txt +3 -0
  323. data/vendor/local/share/doc/groonga/source/tutorial.txt +2 -2
  324. data/vendor/local/share/doc/groonga/source/type.txt +3 -3
  325. data/vendor/local/share/groonga/examples/dictionary/html/js/dictionary.js +1 -0
  326. data/vendor/local/share/groonga/html/admin/index.html +40 -0
  327. data/vendor/local/share/groonga/html/admin/js/jquery.flot-0.7.min.js +6 -0
  328. data/vendor/local/share/groonga/html/admin/js/jquery.flot.license.txt +22 -0
  329. data/vendor/local/share/man/ja/man1/groonga.1 +560 -138
  330. data/vendor/local/share/man/man1/groonga.1 +637 -223
  331. metadata +887 -898
  332. data/ext/groonga/Makefile +0 -184
  333. data/ext/groonga/rb-grn-query.c +0 -260
  334. data/test/test-query.rb +0 -22
@@ -3,10 +3,7 @@
3
3
  .. highlightlang:: none
4
4
 
5
5
  .. groonga-command
6
- .. table_remove Blog1
7
- .. table_remove IndexBlog1
8
- .. table_remove Blog2
9
- .. table_remove IndexBlog2
6
+ .. database: tutorial-match-columns
10
7
 
11
8
  match_columnsパラメータ
12
9
  =======================
@@ -3,10 +3,7 @@
3
3
  .. highlightlang:: none
4
4
 
5
5
  .. groonga-command
6
- .. table_remove Users
7
- .. table_remove Comments
8
- .. table_remove HashTags
9
- .. table_remove Bigram
6
+ .. database: tutorial-micro-blog
10
7
 
11
8
  マイクロブログ検索システムの作成
12
9
  ================================
@@ -4,6 +4,9 @@
4
4
 
5
5
  .. groonga-include : introduction.txt
6
6
 
7
+ .. groonga-command
8
+ .. database: tutorial
9
+
7
10
  How to use groonga with network
8
11
  ===============================
9
12
 
@@ -3,8 +3,7 @@
3
3
  .. highlightlang:: none
4
4
 
5
5
  .. groonga-command
6
- .. table_remove PatPrefix
7
- .. table_remove PatSuffix
6
+ .. database: tutorial-patricia-trie
8
7
 
9
8
  パトリシア木による前方一致検索
10
9
  ==============================
@@ -2,6 +2,9 @@
2
2
 
3
3
  .. highlightlang:: none
4
4
 
5
+ .. groonga-command
6
+ .. database: tutorial-query-expansion
7
+
5
8
  クエリ拡張
6
9
  ==========
7
10
 
@@ -14,6 +17,8 @@ groongaでは、 :doc:`/commands/select` コマンドにquery_expansionパラメ
14
17
 
15
18
  クエリ拡張機能を使用するためには、検索対象となる文書を格納するテーブル(ここでは文書テーブルと呼びます)以外に、ユーザの指定した検索文字列を置換するためのテーブル(ここでは置換テーブルと呼びます)を準備します。置換テーブルでは、その主キーが置換前の文字列となり、文字列型(ShortText)のカラムの値が置換後の文字列となります。
16
19
 
20
+ TODO: 文字列型のベクターカラムでも可能であり、その場合は各要素をORでつなげたものに置換されるということを記述する。
21
+
17
22
  実際に文書テーブルと置換テーブルを作成してみましょう。
18
23
 
19
24
  .. groonga-command
@@ -4,6 +4,9 @@
4
4
 
5
5
  .. groonga-include : data.txt
6
6
 
7
+ .. groonga-command
8
+ .. database: tutorial
9
+
7
10
  さまざまな検索条件の指定
8
11
  ========================
9
12
 
@@ -2,8 +2,8 @@
2
2
 
3
3
  .. highlightlang:: none
4
4
 
5
- チュートリアル
6
- ==============
5
+ Tutorial
6
+ ========
7
7
 
8
8
  .. toctree::
9
9
  :maxdepth: 2
@@ -108,12 +108,12 @@ groongaのデータベースでは、テーブルの主キーや、カラムの
108
108
 
109
109
  Text型とLongText型については、テーブルの主キーに指定することはできません。
110
110
 
111
- ベクトルとして格納できない型
111
+ ベクターとして格納できない型
112
112
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
113
113
 
114
- groongaのカラムは、ある型のベクトルを保存することができます。しかし、ShortText, Text, LongTextの3つの型についてはベクトルとして保存することはできません。
114
+ groongaのカラムは、ある型のベクターを保存することができます。しかし、ShortText, Text, LongTextの3つの型についてはベクターとして保存したり出力したりすることはできますが、検索条件やドリルダウン条件に指定することができません。
115
115
 
116
- テーブル型は、ベクトルとして格納することができます。よって、ShortTextのベクトルを保存したい場合には、主キーがShortText型のテーブルを別途作成し、そのテーブルを型として利用します。
116
+ テーブル型は、ベクターとして格納することができます。よって、ShortTextのベクターを検索条件やドリルダウン条件に使用したい場合には、主キーがShortText型のテーブルを別途作成し、そのテーブルを型として利用します。
117
117
 
118
118
  .. rubric:: 脚注
119
119
 
@@ -79,6 +79,14 @@ div.sphinxsidebar input {
79
79
  font-size: 1em;
80
80
  }
81
81
 
82
+ div.sphinxsidebar #searchbox input[type="text"] {
83
+ width: 170px;
84
+ }
85
+
86
+ div.sphinxsidebar #searchbox input[type="submit"] {
87
+ width: 30px;
88
+ }
89
+
82
90
  img {
83
91
  border: 0;
84
92
  }
@@ -236,7 +244,6 @@ img.align-center, .figure.align-center, object.align-center {
236
244
  }
237
245
 
238
246
  .align-center {
239
- clear: both;
240
247
  text-align: center;
241
248
  }
242
249
 
@@ -440,6 +447,11 @@ dl.glossary dt {
440
447
  font-style: oblique;
441
448
  }
442
449
 
450
+ abbr, acronym {
451
+ border-bottom: dotted 1px;
452
+ cursor: help;
453
+ }
454
+
443
455
  /* -- code displays --------------------------------------------------------- */
444
456
 
445
457
  pre {
@@ -2,7 +2,7 @@
2
2
  * doctools.js
3
3
  * ~~~~~~~~~~~
4
4
  *
5
- * Sphinx JavaScript utilties for all documentation.
5
+ * Sphinx JavaScript utilities for all documentation.
6
6
  *
7
7
  * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS.
8
8
  * :license: BSD, see LICENSE for details.
@@ -185,9 +185,9 @@ var Documentation = {
185
185
  body.highlightText(this.toLowerCase(), 'highlighted');
186
186
  });
187
187
  }, 10);
188
- $('<li class="highlight-link"><a href="javascript:Documentation.' +
189
- 'hideSearchWords()">' + _('Hide Search Matches') + '</a></li>')
190
- .appendTo($('.sidebar .this-page-menu'));
188
+ $('<p class="highlight-link"><a href="javascript:Documentation.' +
189
+ 'hideSearchWords()">' + _('Hide Search Matches') + '</a></p>')
190
+ .appendTo($('#searchbox'));
191
191
  }
192
192
  },
193
193
 
@@ -213,7 +213,7 @@ var Documentation = {
213
213
  * helper function to hide the search marks again
214
214
  */
215
215
  hideSearchWords : function() {
216
- $('.sidebar .this-page-menu li.highlight-link').fadeOut(300);
216
+ $('#searchbox .highlight-link').fadeOut(300);
217
217
  $('span.highlighted').removeClass('highlighted');
218
218
  },
219
219
 
@@ -356,8 +356,8 @@ var Search = {
356
356
 
357
357
  // lookup as object
358
358
  for (var i = 0; i < objectterms.length; i++) {
359
- var others = Array.concat(objectterms.slice(0,i),
360
- objectterms.slice(i+1, objectterms.length))
359
+ var others = [].concat(objectterms.slice(0,i),
360
+ objectterms.slice(i+1, objectterms.length))
361
361
  var results = this.performObjectSearch(objectterms[i], others);
362
362
  // Assume first word is most likely to be the object,
363
363
  // other words more likely to be in description.
@@ -504,12 +504,13 @@ var Search = {
504
504
  var fullname = (prefix ? prefix + '.' : '') + name;
505
505
  if (fullname.toLowerCase().indexOf(object) > -1) {
506
506
  var match = objects[prefix][name];
507
- var objname = objnames[match[1]];
507
+ var objname = objnames[match[1]][2];
508
508
  var title = titles[match[0]];
509
509
  // If more than one term searched for, we require other words to be
510
510
  // found in the name/title/description
511
511
  if (otherterms.length > 0) {
512
- var haystack = (prefix + ' ' + name + ' ' + objname + ' ' + title).toLowerCase();
512
+ var haystack = (prefix + ' ' + name + ' ' +
513
+ objname + ' ' + title).toLowerCase();
513
514
  var allfound = true;
514
515
  for (var i = 0; i < otherterms.length; i++) {
515
516
  if (haystack.indexOf(otherterms[i]) == -1) {
@@ -522,9 +523,12 @@ var Search = {
522
523
  }
523
524
  }
524
525
  var descr = objname + _(', in ') + title;
525
- // XXX the generated anchors are not generally correct
526
- // XXX there may be custom prefixes
527
- result = [filenames[match[0]], fullname, '#'+fullname, descr];
526
+ anchor = match[3];
527
+ if (anchor == '')
528
+ anchor = fullname;
529
+ else if (anchor == '-')
530
+ anchor = objnames[match[1]][1] + '-' + fullname;
531
+ result = [filenames[match[0]], fullname, '#'+anchor, descr];
528
532
  switch (match[2]) {
529
533
  case 1: objectResults.push(result); break;
530
534
  case 0: importantResults.push(result); break;
@@ -566,7 +566,7 @@
566
566
  var context = $.extend({}, opts, comment);
567
567
  var div = $(renderTemplate(commentTemplate, context));
568
568
 
569
- // If the user has voted on this comment, highblight the correct arrow.
569
+ // If the user has voted on this comment, highlight the correct arrow.
570
570
  if (comment.vote) {
571
571
  var direction = (comment.vote == 1) ? 'u' : 'd';
572
572
  div.find('#' + direction + 'v' + comment.id).hide();
@@ -9,7 +9,7 @@
9
9
  <head>
10
10
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
11
11
 
12
- <title>1. The characteristics of groonga &mdash; groonga v1.2.7 documentation</title>
12
+ <title>1. Characteristics of groonga &mdash; groonga v1.2.9 documentation</title>
13
13
 
14
14
  <link rel="stylesheet" href="_static/groonga.css" type="text/css" />
15
15
  <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -17,7 +17,7 @@
17
17
  <script type="text/javascript">
18
18
  var DOCUMENTATION_OPTIONS = {
19
19
  URL_ROOT: '',
20
- VERSION: '1.2.7',
20
+ VERSION: '1.2.9',
21
21
  COLLAPSE_INDEX: false,
22
22
  FILE_SUFFIX: '.html',
23
23
  HAS_SOURCE: true
@@ -27,9 +27,9 @@
27
27
  <script type="text/javascript" src="_static/underscore.js"></script>
28
28
  <script type="text/javascript" src="_static/doctools.js"></script>
29
29
  <link rel="shortcut icon" href="_static/favicon.ico"/>
30
- <link rel="top" title="groonga v1.2.7 documentation" href="index.html" />
30
+ <link rel="top" title="groonga v1.2.9 documentation" href="index.html" />
31
31
  <link rel="next" title="2. Install" href="install.html" />
32
- <link rel="prev" title="groonga ドキュメント" href="index.html" />
32
+ <link rel="prev" title="groonga documentation" href="index.html" />
33
33
  </head>
34
34
  <body>
35
35
  <div class="header">
@@ -59,9 +59,9 @@
59
59
  <a href="install.html" title="2. Install"
60
60
  accesskey="N">next</a> |</li>
61
61
  <li class="right" >
62
- <a href="index.html" title="groonga ドキュメント"
62
+ <a href="index.html" title="groonga documentation"
63
63
  accesskey="P">previous</a> |</li>
64
- <li><a href="index.html">groonga v1.2.7 documentation</a> &raquo;</li>
64
+ <li><a href="index.html">groonga v1.2.9 documentation</a> &raquo;</li>
65
65
  </ul>
66
66
  </div>
67
67
 
@@ -70,45 +70,52 @@
70
70
  <div class="bodywrapper">
71
71
  <div class="body">
72
72
 
73
- <div class="section" id="the-characteristics-of-groonga">
74
- <h1>1. The characteristics of groonga<a class="headerlink" href="#the-characteristics-of-groonga" title="Permalink to this headline">¶</a></h1>
75
- <div class="section" id="the-successor-to-the-senna-that-is-an-embeddable-full-text-search-engine">
76
- <h2>1.1. The successor to the Senna that is an embeddable full text search engine<a class="headerlink" href="#the-successor-to-the-senna-that-is-an-embeddable-full-text-search-engine" title="Permalink to this headline">¶</a></h2>
77
- <p>Groonga is developed as the successor project to Senna. Senna is an embeddable full text search engine and it is used widely. Groonga takes over from Senna's characteristics that are fast, high precision and high flexibility. We started to develop groonga to improve those Senna' characteristics.</p>
73
+ <div class="section" id="characteristics-of-groonga">
74
+ <h1>1. Characteristics of groonga<a class="headerlink" href="#characteristics-of-groonga" title="Permalink to this headline">¶</a></h1>
75
+ <div class="section" id="groonga-overview">
76
+ <h2>1.1. Groonga overview<a class="headerlink" href="#groonga-overview" title="Permalink to this headline">¶</a></h2>
77
+ <p>Groonga is a fast and accurate full text search engine based on inverted index. One of the characteristics of groonga is that a newly registered document instantly appears in search results. Also, groonga allows updates without read locks. These characteristics result in superior performance on real-time applications.</p>
78
+ <p>Groonga is also a column-oriented database management system (DBMS). Compared with well-known row-oriented systems, such as MySQL and PostgreSQL, column-oriented systems are more suited for aggregate queries. Due to this advantage, groonga can cover weakness of row-oriented systems.</p>
79
+ <p>The basic functions of groonga are provided in a C library. Also, libraries for using groonga in other languages, such as Ruby, are provided by related projects. In addition, groonga-based storage engines are provided for MySQL and PostgreSQL. These libraries and storage engines allow any application to use groonga. See <a class="reference external" href="http://groonga.org/users/">usage examples</a>.</p>
78
80
  </div>
79
- <div class="section" id="groonga-server-supports-multi-protocols-such-as-http">
80
- <h2>1.2. Groonga server supports multi-protocols such as HTTP<a class="headerlink" href="#groonga-server-supports-multi-protocols-such-as-http" title="Permalink to this headline">¶</a></h2>
81
- <p>Senna is an component for an application that supports full text search. Groonga can be a server that provides search service. The groonga server supports HTTP, memcached binary protocol and gqtp (groonga query transfer protocol). Clients can search by those protocols via TCP/IP connection. It makes easy to use on a rental server that can install a library.</p>
82
- <p>Groonga also can be used as a C library like Senna.</p>
81
+ <div class="section" id="full-text-search-and-instant-update">
82
+ <h2>1.2. Full text search and Instant update<a class="headerlink" href="#full-text-search-and-instant-update" title="Permalink to this headline">¶</a></h2>
83
+ <p>In widely used DBMSs, updates are immediately processed, for example, a newly registered record appears in the result of the next query. In contrast, some full text search engines do not support instant updates, because it is difficult to dynamically update inverted indexes, the underlying data structure.</p>
84
+ <p>Groonga also uses inverted indexes but supports instant updates. In addition, groonga allows you to search documents even when updating the document collection. Due to these superior characteristics, groonga is very flexible as a full text search engine. Also, groonga always shows good performance because it divides a large task, inverted index merging, into smaller tasks.</p>
83
85
  </div>
84
- <div class="section" id="fast-data-update">
85
- <h2>1.3. Fast data update<a class="headerlink" href="#fast-data-update" title="Permalink to this headline">¶</a></h2>
86
- <p>Senna that is predecessor of groonga is a full text search engine without storage. Senna was commonly used with MySQL or PostgreSQL. Tritonn is a custom MyISAM storage engine that uses Senna as full text search engine. Ludia is a extension module for a PostgreSQL to use Senna as full text search engine. But those approaches can't fully utilize the performance characteristics of Senna. Senna can update index without read lock.</p>
87
- <p>For example, MyISAM acquires table lock while updating records in many cases. In those cases, data update by MyISAM is a bottleneck however Senna updates an index full text search fast.</p>
88
- <p>Groonga implements a storage that doesn't acquires read lock to realize search service that has immediacy.</p>
86
+ <div class="section" id="column-store-and-aggregate-query">
87
+ <h2>1.3. Column store and aggregate query<a class="headerlink" href="#column-store-and-aggregate-query" title="Permalink to this headline">¶</a></h2>
88
+ <p>People can collect more than enough data in the Internet era. However, it is difficult to extract informative knowledge from a large database, and such a task requires a many-sided analysis through trial and error. For example, search refinement by date, time and location may reveal hidden patterns. Aggregate queries are useful to perform this kind of tasks.</p>
89
+ <p>An aggregate query groups search results by specified column values and then counts the number of records in each group. For example, an aggregate query in which a location column is specified counts the number of records per location. Making a graph from the result of an aggregate query against a date column is an easy way to visualize changes over time. Also, a combination of refinement by location and an aggregate query against a date column allows visualization of changes over time in specific location. Thus refinement and aggregation are important to perform data mining.</p>
90
+ <p>A column-oriented architecture allows groonga to efficiently process aggregate queries because a column-oriented database, which stores records by column, allows an aggregate query to access only a specified column. On the other hand, an aggregate query on a row-oriented database, which stores records by row, has to access neighbor columns, even though those columns are not required.</p>
89
91
  </div>
90
- <div class="section" id="storage-that-can-be-shared-with-multi-processes-and-multi-threads">
91
- <h2>1.4. Storage that can be shared with multi-processes and multi-threads<a class="headerlink" href="#storage-that-can-be-shared-with-multi-processes-and-multi-threads" title="Permalink to this headline">¶</a></h2>
92
- <p>Groonga's storage file can be shared with multi-processes and multi-threads. It doesn't require explicit lock.</p>
93
- <p><a class="reference external" href="http://mroonga.github.com/">Mroonga</a> that is the successor to the Tritonn is implemented as a MySQL pruggable storage engine. Groonga's storage files that are opened by mroonga can also be shared with groonga server. For example, you can update your data via SQL and search your data via HTTP.</p>
92
+ <div class="section" id="inverted-index-and-tokenizer">
93
+ <h2>1.4. Inverted index and tokenizer<a class="headerlink" href="#inverted-index-and-tokenizer" title="Permalink to this headline">¶</a></h2>
94
+ <p>An inverted index is a traditional data structure used for large-scale full text search. A search engine based on inverted index extracts index terms from a document when it is added. Then in retrieval, a query is divided into index terms to find documents containing those index terms. In this way, index terms play an important role in full text search and thus the way of extracting index terms is a key to a better search engine.</p>
95
+ <p>A tokenizer is a module to extract index terms. A Japanese full text search engine commonly uses a word-based tokenizer (hereafter referred to as a word tokenizer) and/or a character-based n-gram tokenizer (hereafter referred to as an n-gram tokenizer). A word tokenizer-based search engine is superior in time, space and precision, which is the fraction of relevant documents in a search result. On the other hand, an n-gram tokenizer-based search engine is superior in recall, which is the fraction of retrieved documents in the perfect search result. The best choice depends on the application in practice.</p>
96
+ <p>Groonga supports both word and n-gram tokenizers. The simplest built-in tokenizer uses spaces as word delimiters. Built-in n-gram tokenizers (n = 1, 2, 3) are also available by default. In addition, a yet another built-in word tokenizer is available if MeCab, a part-of-speech and morphological analyzer, is embedded. Note that a tokenizer is pluggable and you can develop your own tokenizer, such as a tokenizer based on another part-of-speech tagger or a named-entity recognizer.</p>
94
97
  </div>
95
- <div class="section" id="fast-aggregate-query-processing-such-as-drilldown">
96
- <h2>1.5. Fast aggregate query processing such as drilldown<a class="headerlink" href="#fast-aggregate-query-processing-such-as-drilldown" title="Permalink to this headline">¶</a></h2>
97
- <p>Groonga's storage uses column oriented database model that stores data for each column. Column oriented database is suitable for fast aggregate query processing such as OLAP.</p>
98
- <p>&quot;Drilldown&quot; is a processing that groups full text search result by each specified column values and counts number of records in each group. Groonga does the processing fast because groonga uses column oriented database.</p>
98
+ <div class="section" id="sharable-storage-and-read-lock-free">
99
+ <h2>1.5. Sharable storage and read lock-free<a class="headerlink" href="#sharable-storage-and-read-lock-free" title="Permalink to this headline">¶</a></h2>
100
+ <p>Multi-core processors are mainstream today and the number of cores per processor is increasing. In order to exploit multiple cores, executing multiple queries in parallel or dividing a query into sub-queries for parallel processing is becoming more important.</p>
101
+ <p>A database of groonga can be shared with multiple threads/processes. Also, multiple threads/processes can execute read queries in parallel even when another thread/process is executing an update query because groonga uses read lock-free data structures. This feature is suited to a real-time application that needs to update a database while executing read queries. In addition, groonga allows you to build flexible systems. For example, a database can receive read queries through the built-in HTTP server of groonga while accepting update queries through MySQL.</p>
99
102
  </div>
100
- <div class="section" id="improved-senna-s-inverted-index-implementation">
101
- <h2>1.6. Improved Senna's inverted index implementation<a class="headerlink" href="#improved-senna-s-inverted-index-implementation" title="Permalink to this headline">¶</a></h2>
102
- <p>Groonga's inverted index is the improved Senna's inverted index. It is more faster and more versatile.</p>
103
- <p>Groonga can also process some complex queries fast by utilizing inverted index. Those queries are difficult to process with SQL and RDB. For example, tag search and drilldown can be processed fast by utilizing inverted index.</p>
103
+ <div class="section" id="geo-location-latitude-and-longitude-search">
104
+ <h2>1.6. Geo-location (latitude and longitude) search<a class="headerlink" href="#geo-location-latitude-and-longitude-search" title="Permalink to this headline">¶</a></h2>
105
+ <p>Location services are getting more convenient because of mobile devices with GPS. For example, if you are going to have lunch or dinner at a nearby restaurant, a local search service for restaurants may be very useful, and for such services, fast geo-location search is becoming more important.</p>
106
+ <p>Groonga provides inverted index-based fast geo-location search, which supports a query to find points in a rectangle or circle. Groonga gives high priority to points near the center of an area. Also, groonga supports distance measurement and you can sort points by distance from any point.</p>
104
107
  </div>
105
- <div class="section" id="geolocation-latitude-and-longitude-search">
106
- <h2>1.7. Geolocation (latitude and longitude) search<a class="headerlink" href="#geolocation-latitude-and-longitude-search" title="Permalink to this headline">¶</a></h2>
107
- <p>Groonga supports geolocation search. Supported geodetic systems are Japan geodetic system and world geodetic system (WGS 84). Supported geolocation refinement region types are circle and rectangle. Groonga also supports distance between two coordinates.</p>
108
+ <div class="section" id="groonga-library">
109
+ <h2>1.7. Groonga library<a class="headerlink" href="#groonga-library" title="Permalink to this headline">¶</a></h2>
110
+ <p>The basic functions of groonga are provided in a C library and any application can use groonga as a full text search engine or a column-oriented database. Also, libraries for languages other than C/C++, such as Ruby, are provided in related projects. See <a class="reference external" href="http://groonga.org/related-projects.html">related projects</a> for details.</p>
108
111
  </div>
109
- <div class="section" id="auto-query-cache-mechanism">
110
- <h2>1.8. Auto query cache mechanism<a class="headerlink" href="#auto-query-cache-mechanism" title="Permalink to this headline">¶</a></h2>
111
- <p>Groonga caches reference queries automatically.</p>
112
+ <div class="section" id="groonga-server">
113
+ <h2>1.8. Groonga server<a class="headerlink" href="#groonga-server" title="Permalink to this headline">¶</a></h2>
114
+ <p>Groonga provides a built-in server command which supports HTTP, the memcached binary protocol and the groonga query transfer protocol (gqtp). Also, a groonga server supports query caching, which significantly reduces response time for repeated read queries. Using this command, groonga is available even on a server that does not allow you to install new libraries.</p>
115
+ </div>
116
+ <div class="section" id="groonga-storage-engine">
117
+ <h2>1.9. Groonga storage engine<a class="headerlink" href="#groonga-storage-engine" title="Permalink to this headline">¶</a></h2>
118
+ <p>Groonga works not only as an independent column-oriented DBMS but also as storage engines of well-known DBMSs. For example, <a class="reference external" href="http://mroonga.github.com/">mroonga</a> is a MySQL pluggable storage engine using groonga. By using mroonga, you can use groonga for column-oriented storage and full text search. A combination of a built-in storage engine, MyISAM or InnoDB, and a groonga-based full text search engine is also available. All the combinations have good and bad points and the best one depends on the application. See <a class="reference external" href="http://groonga.org/related-projects.html">related projects</a> for details.</p>
112
119
  </div>
113
120
  </div>
114
121
 
@@ -120,22 +127,23 @@
120
127
  <div class="sphinxsidebarwrapper">
121
128
  <h3><a href="index.html">Table Of Contents</a></h3>
122
129
  <ul>
123
- <li><a class="reference internal" href="#">1. The characteristics of groonga</a><ul>
124
- <li><a class="reference internal" href="#the-successor-to-the-senna-that-is-an-embeddable-full-text-search-engine">1.1. The successor to the Senna that is an embeddable full text search engine</a></li>
125
- <li><a class="reference internal" href="#groonga-server-supports-multi-protocols-such-as-http">1.2. Groonga server supports multi-protocols such as HTTP</a></li>
126
- <li><a class="reference internal" href="#fast-data-update">1.3. Fast data update</a></li>
127
- <li><a class="reference internal" href="#storage-that-can-be-shared-with-multi-processes-and-multi-threads">1.4. Storage that can be shared with multi-processes and multi-threads</a></li>
128
- <li><a class="reference internal" href="#fast-aggregate-query-processing-such-as-drilldown">1.5. Fast aggregate query processing such as drilldown</a></li>
129
- <li><a class="reference internal" href="#improved-senna-s-inverted-index-implementation">1.6. Improved Senna's inverted index implementation</a></li>
130
- <li><a class="reference internal" href="#geolocation-latitude-and-longitude-search">1.7. Geolocation (latitude and longitude) search</a></li>
131
- <li><a class="reference internal" href="#auto-query-cache-mechanism">1.8. Auto query cache mechanism</a></li>
130
+ <li><a class="reference internal" href="#">1. Characteristics of groonga</a><ul>
131
+ <li><a class="reference internal" href="#groonga-overview">1.1. Groonga overview</a></li>
132
+ <li><a class="reference internal" href="#full-text-search-and-instant-update">1.2. Full text search and Instant update</a></li>
133
+ <li><a class="reference internal" href="#column-store-and-aggregate-query">1.3. Column store and aggregate query</a></li>
134
+ <li><a class="reference internal" href="#inverted-index-and-tokenizer">1.4. Inverted index and tokenizer</a></li>
135
+ <li><a class="reference internal" href="#sharable-storage-and-read-lock-free">1.5. Sharable storage and read lock-free</a></li>
136
+ <li><a class="reference internal" href="#geo-location-latitude-and-longitude-search">1.6. Geo-location (latitude and longitude) search</a></li>
137
+ <li><a class="reference internal" href="#groonga-library">1.7. Groonga library</a></li>
138
+ <li><a class="reference internal" href="#groonga-server">1.8. Groonga server</a></li>
139
+ <li><a class="reference internal" href="#groonga-storage-engine">1.9. Groonga storage engine</a></li>
132
140
  </ul>
133
141
  </li>
134
142
  </ul>
135
143
 
136
144
  <h4>Previous topic</h4>
137
145
  <p class="topless"><a href="index.html"
138
- title="previous chapter">groonga ドキュメント</a></p>
146
+ title="previous chapter">groonga documentation</a></p>
139
147
  <h4>Next topic</h4>
140
148
  <p class="topless"><a href="install.html"
141
149
  title="next chapter">2. Install</a></p>
@@ -147,7 +155,7 @@
147
155
  <div id="searchbox" style="display: none">
148
156
  <h3>Quick search</h3>
149
157
  <form class="search" action="search.html" method="get">
150
- <input type="text" name="q" size="18" />
158
+ <input type="text" name="q" />
151
159
  <input type="submit" value="Go" />
152
160
  <input type="hidden" name="check_keywords" value="yes" />
153
161
  <input type="hidden" name="area" value="default" />
@@ -171,13 +179,13 @@
171
179
  <a href="install.html" title="2. Install"
172
180
  >next</a> |</li>
173
181
  <li class="right" >
174
- <a href="index.html" title="groonga ドキュメント"
182
+ <a href="index.html" title="groonga documentation"
175
183
  >previous</a> |</li>
176
- <li><a href="index.html">groonga v1.2.7 documentation</a> &raquo;</li>
184
+ <li><a href="index.html">groonga v1.2.9 documentation</a> &raquo;</li>
177
185
  </ul>
178
186
  </div>
179
187
  <div class="footer">
180
- &copy; Copyright 2009-2011, Brazil, Inc.
188
+ &copy; Copyright 2009-2012, Brazil, Inc.
181
189
  </div>
182
190
  </body>
183
191
  </html>