rroonga 1.2.7-x86-mingw32 → 1.3.0-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (548) hide show
  1. data/Gemfile +1 -0
  2. data/Rakefile +1 -0
  3. data/bin/grntest-log-analyze +123 -0
  4. data/bin/groonga-query-log-extract +117 -0
  5. data/ext/groonga/rb-grn-accessor.c +7 -5
  6. data/ext/groonga/rb-grn-array-cursor.c +1 -1
  7. data/ext/groonga/rb-grn-array.c +34 -44
  8. data/ext/groonga/rb-grn-column.c +74 -38
  9. data/ext/groonga/rb-grn-context.c +41 -16
  10. data/ext/groonga/rb-grn-database.c +50 -43
  11. data/ext/groonga/rb-grn-double-array-trie-cursor.c +40 -0
  12. data/ext/groonga/rb-grn-double-array-trie.c +530 -0
  13. data/ext/groonga/rb-grn-encoding-support.c +1 -1
  14. data/ext/groonga/rb-grn-encoding.c +1 -1
  15. data/ext/groonga/rb-grn-exception.c +1 -1
  16. data/ext/groonga/rb-grn-expression-builder.c +1 -1
  17. data/ext/groonga/rb-grn-expression.c +63 -51
  18. data/ext/groonga/rb-grn-fix-size-column.c +7 -7
  19. data/ext/groonga/rb-grn-hash-cursor.c +1 -1
  20. data/ext/groonga/rb-grn-hash.c +42 -39
  21. data/ext/groonga/rb-grn-index-column.c +35 -31
  22. data/ext/groonga/rb-grn-index-cursor.c +1 -1
  23. data/ext/groonga/rb-grn-logger.c +23 -18
  24. data/ext/groonga/rb-grn-object.c +69 -40
  25. data/ext/groonga/rb-grn-operator.c +1 -1
  26. data/ext/groonga/rb-grn-patricia-trie-cursor.c +1 -1
  27. data/ext/groonga/rb-grn-patricia-trie.c +122 -90
  28. data/ext/groonga/rb-grn-plugin.c +8 -7
  29. data/ext/groonga/rb-grn-posting.c +1 -1
  30. data/ext/groonga/rb-grn-procedure.c +1 -1
  31. data/ext/groonga/rb-grn-query.c +12 -12
  32. data/ext/groonga/rb-grn-record.c +1 -1
  33. data/ext/groonga/rb-grn-snippet.c +26 -19
  34. data/ext/groonga/rb-grn-table-cursor-key-support.c +1 -1
  35. data/ext/groonga/rb-grn-table-cursor.c +4 -3
  36. data/ext/groonga/rb-grn-table-key-support.c +23 -23
  37. data/ext/groonga/rb-grn-table.c +280 -149
  38. data/ext/groonga/rb-grn-type.c +11 -7
  39. data/ext/groonga/rb-grn-utils.c +81 -9
  40. data/ext/groonga/rb-grn-variable-size-column.c +1 -1
  41. data/ext/groonga/rb-grn-variable.c +2 -2
  42. data/ext/groonga/rb-grn-view-accessor.c +1 -1
  43. data/ext/groonga/rb-grn-view-cursor.c +1 -1
  44. data/ext/groonga/rb-grn-view-record.c +1 -1
  45. data/ext/groonga/rb-grn-view.c +43 -34
  46. data/ext/groonga/rb-grn.h +10 -2
  47. data/ext/groonga/rb-groonga.c +1 -1
  48. data/lib/1.8/groonga.so +0 -0
  49. data/lib/1.9/groonga.so +0 -0
  50. data/lib/groonga/context.rb +16 -41
  51. data/lib/groonga/dumper.rb +41 -10
  52. data/lib/groonga/expression-builder-19.rb +40 -0
  53. data/lib/groonga/expression-builder.rb +56 -26
  54. data/lib/groonga/grntest-log.rb +206 -0
  55. data/lib/groonga/pagination.rb +21 -19
  56. data/lib/groonga/patricia-trie.rb +7 -10
  57. data/lib/groonga/posting.rb +1 -1
  58. data/lib/groonga/query-log.rb +348 -0
  59. data/lib/groonga/record.rb +47 -143
  60. data/lib/groonga/schema.rb +679 -406
  61. data/lib/groonga/view-record.rb +4 -10
  62. data/lib/groonga.rb +4 -2
  63. data/rroonga-build.rb +1 -1
  64. data/test/groonga-test-utils.rb +8 -0
  65. data/test/test-array.rb +25 -4
  66. data/test/test-column.rb +8 -8
  67. data/test/test-database.rb +2 -3
  68. data/test/test-double-array-trie.rb +164 -0
  69. data/test/test-expression-builder.rb +2 -2
  70. data/test/test-expression.rb +10 -9
  71. data/test/test-gqtp.rb +2 -2
  72. data/test/test-hash.rb +32 -8
  73. data/test/test-patricia-trie.rb +34 -10
  74. data/test/test-query-log.rb +258 -0
  75. data/test/test-record.rb +6 -5
  76. data/test/test-schema-create-table.rb +8 -0
  77. data/test/test-schema-dumper.rb +6 -0
  78. data/test/test-schema.rb +491 -234
  79. data/test/test-table-select.rb +9 -0
  80. data/test/test-table.rb +17 -24
  81. data/vendor/local/bin/grntest.exe +0 -0
  82. data/vendor/local/bin/groonga-query-log-analyzer +22 -17
  83. data/vendor/local/bin/groonga.exe +0 -0
  84. data/vendor/local/bin/libgroonga-0.dll +0 -0
  85. data/vendor/local/bin/libmecab-1.dll +0 -0
  86. data/vendor/local/bin/mecab-config +2 -2
  87. data/vendor/local/bin/mecab.exe +0 -0
  88. data/vendor/local/include/groonga/groonga.h +251 -5
  89. data/vendor/local/lib/groonga/plugins/suggest/suggest.a +0 -0
  90. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll +0 -0
  91. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll.a +0 -0
  92. data/vendor/local/lib/groonga/plugins/suggest/suggest.la +2 -2
  93. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.a +0 -0
  94. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll +0 -0
  95. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll.a +0 -0
  96. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.la +2 -2
  97. data/vendor/local/lib/libgroonga.a +0 -0
  98. data/vendor/local/lib/libgroonga.dll.a +0 -0
  99. data/vendor/local/lib/libgroonga.la +1 -1
  100. data/vendor/local/lib/libmecab.a +0 -0
  101. data/vendor/local/lib/libmecab.dll.a +0 -0
  102. data/vendor/local/lib/libmecab.la +1 -1
  103. data/vendor/local/lib/pkgconfig/groonga.pc +3 -2
  104. data/vendor/local/libexec/mecab/mecab-cost-train.exe +0 -0
  105. data/vendor/local/libexec/mecab/mecab-dict-gen.exe +0 -0
  106. data/vendor/local/libexec/mecab/mecab-dict-index.exe +0 -0
  107. data/vendor/local/libexec/mecab/mecab-system-eval.exe +0 -0
  108. data/vendor/local/libexec/mecab/mecab-test-gen.exe +0 -0
  109. data/vendor/local/share/doc/groonga/en/html/.buildinfo +1 -1
  110. data/vendor/local/share/doc/groonga/en/html/_images/geo-points.png +0 -0
  111. data/vendor/local/share/doc/groonga/en/html/_sources/characteristic.txt +32 -31
  112. data/vendor/local/share/doc/groonga/en/html/_sources/commands/select.txt +7 -1
  113. data/vendor/local/share/doc/groonga/en/html/_sources/contribution/documentation/i18n.txt +6 -0
  114. data/vendor/local/share/doc/groonga/en/html/_sources/executables/grntest.txt +6 -6
  115. data/vendor/local/share/doc/groonga/en/html/_sources/geolocation_search.txt +52 -0
  116. data/vendor/local/share/doc/groonga/en/html/_sources/index.txt +1 -0
  117. data/vendor/local/share/doc/groonga/en/html/_sources/install.txt +31 -40
  118. data/vendor/local/share/doc/groonga/en/html/_sources/news/senna.txt +109 -0
  119. data/vendor/local/share/doc/groonga/en/html/_sources/news.txt +118 -0
  120. data/vendor/local/share/doc/groonga/{ja/html/_sources/tutorial/tutorial03.txt → en/html/_sources/tutorial/data.txt} +5 -5
  121. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/{tutorial05.txt → drilldown.txt} +8 -7
  122. data/vendor/local/share/doc/groonga/{source/tutorial/tutorial06.txt → en/html/_sources/tutorial/index.txt} +8 -8
  123. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/introduction.txt +297 -0
  124. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/{tutorial09.txt → lexicon.txt} +0 -0
  125. data/vendor/local/share/doc/groonga/{source/tutorial/tutorial07.txt → en/html/_sources/tutorial/match_columns.txt} +4 -4
  126. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/{tutorial10.txt → micro_blog.txt} +17 -17
  127. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/network.txt +103 -0
  128. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/{tutorial08.txt → patricia_trie.txt} +4 -4
  129. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/query_expansion.txt +57 -0
  130. data/vendor/local/share/doc/groonga/{source/tutorial/tutorial04.txt → en/html/_sources/tutorial/search.txt} +17 -12
  131. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial.txt +11 -2
  132. data/vendor/local/share/doc/groonga/en/html/_static/groonga.css +9 -0
  133. data/vendor/local/share/doc/groonga/en/html/characteristic.html +46 -46
  134. data/vendor/local/share/doc/groonga/en/html/command_version.html +30 -30
  135. data/vendor/local/share/doc/groonga/en/html/commands/cache_limit.html +34 -34
  136. data/vendor/local/share/doc/groonga/en/html/commands/check.html +34 -34
  137. data/vendor/local/share/doc/groonga/en/html/commands/clearlock.html +34 -34
  138. data/vendor/local/share/doc/groonga/en/html/commands/column_create.html +34 -34
  139. data/vendor/local/share/doc/groonga/en/html/commands/column_list.html +34 -34
  140. data/vendor/local/share/doc/groonga/en/html/commands/column_remove.html +34 -34
  141. data/vendor/local/share/doc/groonga/en/html/commands/define_selector.html +36 -36
  142. data/vendor/local/share/doc/groonga/en/html/commands/defrag.html +34 -34
  143. data/vendor/local/share/doc/groonga/en/html/commands/delete.html +34 -34
  144. data/vendor/local/share/doc/groonga/en/html/commands/dump.html +32 -32
  145. data/vendor/local/share/doc/groonga/en/html/commands/load.html +36 -36
  146. data/vendor/local/share/doc/groonga/en/html/commands/log_level.html +36 -36
  147. data/vendor/local/share/doc/groonga/en/html/commands/log_put.html +36 -36
  148. data/vendor/local/share/doc/groonga/en/html/commands/log_reopen.html +38 -38
  149. data/vendor/local/share/doc/groonga/en/html/commands/quit.html +32 -32
  150. data/vendor/local/share/doc/groonga/en/html/commands/select.html +44 -39
  151. data/vendor/local/share/doc/groonga/en/html/commands/shutdown.html +32 -32
  152. data/vendor/local/share/doc/groonga/en/html/commands/status.html +34 -34
  153. data/vendor/local/share/doc/groonga/en/html/commands/suggest.html +47 -47
  154. data/vendor/local/share/doc/groonga/en/html/commands/table_create.html +34 -34
  155. data/vendor/local/share/doc/groonga/en/html/commands/table_list.html +34 -34
  156. data/vendor/local/share/doc/groonga/en/html/commands/table_remove.html +34 -34
  157. data/vendor/local/share/doc/groonga/en/html/commands/view_add.html +34 -34
  158. data/vendor/local/share/doc/groonga/en/html/commands.html +41 -41
  159. data/vendor/local/share/doc/groonga/en/html/community.html +5 -5
  160. data/vendor/local/share/doc/groonga/en/html/contribution/development/com.html +7 -7
  161. data/vendor/local/share/doc/groonga/en/html/contribution/development/document.html +7 -7
  162. data/vendor/local/share/doc/groonga/en/html/contribution/development/query.html +7 -7
  163. data/vendor/local/share/doc/groonga/en/html/contribution/development/test.html +7 -7
  164. data/vendor/local/share/doc/groonga/en/html/contribution/development.html +8 -8
  165. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/c-api.html +7 -7
  166. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/i18n.html +13 -7
  167. data/vendor/local/share/doc/groonga/en/html/contribution/documentation.html +8 -8
  168. data/vendor/local/share/doc/groonga/en/html/contribution/report.html +12 -12
  169. data/vendor/local/share/doc/groonga/en/html/contribution.html +10 -10
  170. data/vendor/local/share/doc/groonga/en/html/executables/grnslap.html +32 -32
  171. data/vendor/local/share/doc/groonga/en/html/executables/grntest.html +55 -55
  172. data/vendor/local/share/doc/groonga/en/html/executables/groonga-http.html +30 -30
  173. data/vendor/local/share/doc/groonga/en/html/executables/groonga-suggest-create-dataset.html +36 -36
  174. data/vendor/local/share/doc/groonga/en/html/executables/groonga.html +36 -36
  175. data/vendor/local/share/doc/groonga/en/html/executables.html +22 -22
  176. data/vendor/local/share/doc/groonga/en/html/expr.html +26 -26
  177. data/vendor/local/share/doc/groonga/en/html/functions/edit_distance.html +32 -32
  178. data/vendor/local/share/doc/groonga/en/html/functions/geo_distance.html +32 -32
  179. data/vendor/local/share/doc/groonga/en/html/functions/geo_in_circle.html +32 -32
  180. data/vendor/local/share/doc/groonga/en/html/functions/geo_in_rectangle.html +32 -32
  181. data/vendor/local/share/doc/groonga/en/html/functions/now.html +30 -30
  182. data/vendor/local/share/doc/groonga/en/html/functions/rand.html +32 -32
  183. data/vendor/local/share/doc/groonga/en/html/functions.html +23 -23
  184. data/vendor/local/share/doc/groonga/en/html/genindex.html +17 -17
  185. data/vendor/local/share/doc/groonga/en/html/geolocation_search.html +176 -0
  186. data/vendor/local/share/doc/groonga/en/html/index.html +149 -138
  187. data/vendor/local/share/doc/groonga/en/html/install.html +57 -65
  188. data/vendor/local/share/doc/groonga/en/html/limitations.html +17 -17
  189. data/vendor/local/share/doc/groonga/en/html/log.html +26 -26
  190. data/vendor/local/share/doc/groonga/en/html/news/0.x.html +5 -5
  191. data/vendor/local/share/doc/groonga/en/html/news/1.0.x.html +5 -5
  192. data/vendor/local/share/doc/groonga/en/html/news/1.1.x.html +5 -5
  193. data/vendor/local/share/doc/groonga/en/html/news/senna.html +281 -0
  194. data/vendor/local/share/doc/groonga/en/html/news.html +219 -65
  195. data/vendor/local/share/doc/groonga/en/html/objects.inv +0 -0
  196. data/vendor/local/share/doc/groonga/en/html/pseudo_column.html +22 -22
  197. data/vendor/local/share/doc/groonga/en/html/reference.html +69 -69
  198. data/vendor/local/share/doc/groonga/en/html/search.html +5 -5
  199. data/vendor/local/share/doc/groonga/en/html/searchindex.js +1 -1
  200. data/vendor/local/share/doc/groonga/en/html/spec/search.html +28 -28
  201. data/vendor/local/share/doc/groonga/en/html/spec.html +15 -15
  202. data/vendor/local/share/doc/groonga/en/html/suggest/completion.html +7 -7
  203. data/vendor/local/share/doc/groonga/en/html/suggest/correction.html +7 -7
  204. data/vendor/local/share/doc/groonga/en/html/suggest/introduction.html +5 -5
  205. data/vendor/local/share/doc/groonga/en/html/suggest/suggestion.html +12 -12
  206. data/vendor/local/share/doc/groonga/en/html/suggest/tutorial.html +5 -5
  207. data/vendor/local/share/doc/groonga/en/html/suggest.html +10 -10
  208. data/vendor/local/share/doc/groonga/en/html/troubleshooting/different_results_with_the_same_keyword.html +26 -26
  209. data/vendor/local/share/doc/groonga/en/html/troubleshooting.html +19 -19
  210. data/vendor/local/share/doc/groonga/en/html/tutorial/{tutorial03.html → data.html} +32 -32
  211. data/vendor/local/share/doc/groonga/en/html/tutorial/{tutorial05.html → drilldown.html} +31 -31
  212. data/vendor/local/share/doc/groonga/en/html/tutorial/{tutorial06.html → index.html} +44 -44
  213. data/vendor/local/share/doc/groonga/en/html/tutorial/introduction.html +438 -0
  214. data/vendor/local/share/doc/groonga/en/html/tutorial/{tutorial09.html → lexicon.html} +16 -16
  215. data/vendor/local/share/doc/groonga/en/html/tutorial/{tutorial07.html → match_columns.html} +39 -39
  216. data/vendor/local/share/doc/groonga/en/html/tutorial/{tutorial10.html → micro_blog.html} +43 -43
  217. data/vendor/local/share/doc/groonga/en/html/tutorial/network.html +236 -0
  218. data/vendor/local/share/doc/groonga/en/html/tutorial/{tutorial08.html → patricia_trie.html} +27 -27
  219. data/vendor/local/share/doc/groonga/en/html/tutorial/query_expansion.html +197 -0
  220. data/vendor/local/share/doc/groonga/en/html/tutorial/{tutorial04.html → search.html} +41 -35
  221. data/vendor/local/share/doc/groonga/en/html/tutorial.html +60 -55
  222. data/vendor/local/share/doc/groonga/en/html/type.html +30 -30
  223. data/vendor/local/share/doc/groonga/ja/html/.buildinfo +1 -1
  224. data/vendor/local/share/doc/groonga/ja/html/_images/geo-points.png +0 -0
  225. data/vendor/local/share/doc/groonga/ja/html/_sources/characteristic.txt +32 -31
  226. data/vendor/local/share/doc/groonga/ja/html/_sources/commands/select.txt +7 -1
  227. data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/documentation/i18n.txt +6 -0
  228. data/vendor/local/share/doc/groonga/ja/html/_sources/executables/grntest.txt +6 -6
  229. data/vendor/local/share/doc/groonga/ja/html/_sources/geolocation_search.txt +52 -0
  230. data/vendor/local/share/doc/groonga/ja/html/_sources/index.txt +1 -0
  231. data/vendor/local/share/doc/groonga/ja/html/_sources/install.txt +31 -40
  232. data/vendor/local/share/doc/groonga/ja/html/_sources/news/senna.txt +109 -0
  233. data/vendor/local/share/doc/groonga/ja/html/_sources/news.txt +118 -0
  234. data/vendor/local/share/doc/groonga/{en/html/_sources/tutorial/tutorial03.txt → ja/html/_sources/tutorial/data.txt} +5 -5
  235. data/vendor/local/share/doc/groonga/{source/tutorial/tutorial05.txt → ja/html/_sources/tutorial/drilldown.txt} +8 -7
  236. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/{tutorial06.txt → index.txt} +8 -8
  237. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/introduction.txt +297 -0
  238. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/{tutorial09.txt → lexicon.txt} +0 -0
  239. data/vendor/local/share/doc/groonga/{en/html/_sources/tutorial/tutorial07.txt → ja/html/_sources/tutorial/match_columns.txt} +4 -4
  240. data/vendor/local/share/doc/groonga/{source/tutorial/tutorial10.txt → ja/html/_sources/tutorial/micro_blog.txt} +17 -17
  241. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/network.txt +103 -0
  242. data/vendor/local/share/doc/groonga/{source/tutorial/tutorial08.txt → ja/html/_sources/tutorial/patricia_trie.txt} +4 -4
  243. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/query_expansion.txt +57 -0
  244. data/vendor/local/share/doc/groonga/{en/html/_sources/tutorial/tutorial04.txt → ja/html/_sources/tutorial/search.txt} +17 -12
  245. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial.txt +11 -2
  246. data/vendor/local/share/doc/groonga/ja/html/_static/groonga.css +9 -0
  247. data/vendor/local/share/doc/groonga/ja/html/characteristic.html +32 -32
  248. data/vendor/local/share/doc/groonga/ja/html/command_version.html +30 -30
  249. data/vendor/local/share/doc/groonga/ja/html/commands/cache_limit.html +34 -34
  250. data/vendor/local/share/doc/groonga/ja/html/commands/check.html +34 -34
  251. data/vendor/local/share/doc/groonga/ja/html/commands/clearlock.html +34 -34
  252. data/vendor/local/share/doc/groonga/ja/html/commands/column_create.html +34 -34
  253. data/vendor/local/share/doc/groonga/ja/html/commands/column_list.html +34 -34
  254. data/vendor/local/share/doc/groonga/ja/html/commands/column_remove.html +34 -34
  255. data/vendor/local/share/doc/groonga/ja/html/commands/define_selector.html +36 -36
  256. data/vendor/local/share/doc/groonga/ja/html/commands/defrag.html +34 -34
  257. data/vendor/local/share/doc/groonga/ja/html/commands/delete.html +34 -34
  258. data/vendor/local/share/doc/groonga/ja/html/commands/dump.html +32 -32
  259. data/vendor/local/share/doc/groonga/ja/html/commands/load.html +36 -36
  260. data/vendor/local/share/doc/groonga/ja/html/commands/log_level.html +36 -36
  261. data/vendor/local/share/doc/groonga/ja/html/commands/log_put.html +36 -36
  262. data/vendor/local/share/doc/groonga/ja/html/commands/log_reopen.html +38 -38
  263. data/vendor/local/share/doc/groonga/ja/html/commands/quit.html +32 -32
  264. data/vendor/local/share/doc/groonga/ja/html/commands/select.html +44 -39
  265. data/vendor/local/share/doc/groonga/ja/html/commands/shutdown.html +32 -32
  266. data/vendor/local/share/doc/groonga/ja/html/commands/status.html +34 -34
  267. data/vendor/local/share/doc/groonga/ja/html/commands/suggest.html +47 -47
  268. data/vendor/local/share/doc/groonga/ja/html/commands/table_create.html +34 -34
  269. data/vendor/local/share/doc/groonga/ja/html/commands/table_list.html +34 -34
  270. data/vendor/local/share/doc/groonga/ja/html/commands/table_remove.html +34 -34
  271. data/vendor/local/share/doc/groonga/ja/html/commands/view_add.html +34 -34
  272. data/vendor/local/share/doc/groonga/ja/html/commands.html +41 -41
  273. data/vendor/local/share/doc/groonga/ja/html/community.html +5 -5
  274. data/vendor/local/share/doc/groonga/ja/html/contribution/development/com.html +7 -7
  275. data/vendor/local/share/doc/groonga/ja/html/contribution/development/document.html +7 -7
  276. data/vendor/local/share/doc/groonga/ja/html/contribution/development/query.html +7 -7
  277. data/vendor/local/share/doc/groonga/ja/html/contribution/development/test.html +7 -7
  278. data/vendor/local/share/doc/groonga/ja/html/contribution/development.html +8 -8
  279. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/c-api.html +7 -7
  280. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/i18n.html +13 -8
  281. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation.html +8 -8
  282. data/vendor/local/share/doc/groonga/ja/html/contribution/report.html +12 -12
  283. data/vendor/local/share/doc/groonga/ja/html/contribution.html +10 -10
  284. data/vendor/local/share/doc/groonga/ja/html/executables/grnslap.html +32 -32
  285. data/vendor/local/share/doc/groonga/ja/html/executables/grntest.html +55 -55
  286. data/vendor/local/share/doc/groonga/ja/html/executables/groonga-http.html +30 -30
  287. data/vendor/local/share/doc/groonga/ja/html/executables/groonga-suggest-create-dataset.html +36 -36
  288. data/vendor/local/share/doc/groonga/ja/html/executables/groonga.html +36 -36
  289. data/vendor/local/share/doc/groonga/ja/html/executables.html +22 -22
  290. data/vendor/local/share/doc/groonga/ja/html/expr.html +26 -26
  291. data/vendor/local/share/doc/groonga/ja/html/functions/edit_distance.html +32 -32
  292. data/vendor/local/share/doc/groonga/ja/html/functions/geo_distance.html +32 -32
  293. data/vendor/local/share/doc/groonga/ja/html/functions/geo_in_circle.html +32 -32
  294. data/vendor/local/share/doc/groonga/ja/html/functions/geo_in_rectangle.html +32 -32
  295. data/vendor/local/share/doc/groonga/ja/html/functions/now.html +30 -30
  296. data/vendor/local/share/doc/groonga/ja/html/functions/rand.html +32 -32
  297. data/vendor/local/share/doc/groonga/ja/html/functions.html +23 -23
  298. data/vendor/local/share/doc/groonga/ja/html/genindex.html +17 -17
  299. data/vendor/local/share/doc/groonga/ja/html/geolocation_search.html +165 -0
  300. data/vendor/local/share/doc/groonga/ja/html/index.html +144 -133
  301. data/vendor/local/share/doc/groonga/ja/html/install.html +52 -65
  302. data/vendor/local/share/doc/groonga/ja/html/limitations.html +17 -17
  303. data/vendor/local/share/doc/groonga/ja/html/log.html +26 -26
  304. data/vendor/local/share/doc/groonga/ja/html/news/0.x.html +5 -5
  305. data/vendor/local/share/doc/groonga/ja/html/news/1.0.x.html +5 -5
  306. data/vendor/local/share/doc/groonga/ja/html/news/1.1.x.html +5 -5
  307. data/vendor/local/share/doc/groonga/ja/html/news/senna.html +282 -0
  308. data/vendor/local/share/doc/groonga/ja/html/news.html +203 -63
  309. data/vendor/local/share/doc/groonga/ja/html/objects.inv +0 -0
  310. data/vendor/local/share/doc/groonga/ja/html/pseudo_column.html +22 -22
  311. data/vendor/local/share/doc/groonga/ja/html/reference.html +69 -69
  312. data/vendor/local/share/doc/groonga/ja/html/search.html +5 -5
  313. data/vendor/local/share/doc/groonga/ja/html/searchindex.js +1 -1
  314. data/vendor/local/share/doc/groonga/ja/html/spec/search.html +28 -28
  315. data/vendor/local/share/doc/groonga/ja/html/spec.html +15 -15
  316. data/vendor/local/share/doc/groonga/ja/html/suggest/completion.html +7 -7
  317. data/vendor/local/share/doc/groonga/ja/html/suggest/correction.html +7 -7
  318. data/vendor/local/share/doc/groonga/ja/html/suggest/introduction.html +5 -5
  319. data/vendor/local/share/doc/groonga/ja/html/suggest/suggestion.html +12 -12
  320. data/vendor/local/share/doc/groonga/ja/html/suggest/tutorial.html +5 -5
  321. data/vendor/local/share/doc/groonga/ja/html/suggest.html +10 -10
  322. data/vendor/local/share/doc/groonga/ja/html/troubleshooting/different_results_with_the_same_keyword.html +26 -26
  323. data/vendor/local/share/doc/groonga/ja/html/troubleshooting.html +19 -19
  324. data/vendor/local/share/doc/groonga/ja/html/tutorial/{tutorial03.html → data.html} +31 -31
  325. data/vendor/local/share/doc/groonga/ja/html/tutorial/{tutorial05.html → drilldown.html} +31 -31
  326. data/vendor/local/share/doc/groonga/ja/html/tutorial/{tutorial06.html → index.html} +44 -44
  327. data/vendor/local/share/doc/groonga/ja/html/tutorial/{tutorial01.html → introduction.html} +140 -129
  328. data/vendor/local/share/doc/groonga/ja/html/tutorial/{tutorial09.html → lexicon.html} +16 -16
  329. data/vendor/local/share/doc/groonga/ja/html/tutorial/{tutorial07.html → match_columns.html} +39 -39
  330. data/vendor/local/share/doc/groonga/ja/html/tutorial/{tutorial10.html → micro_blog.html} +43 -43
  331. data/vendor/local/share/doc/groonga/ja/html/tutorial/{tutorial02.html → network.html} +56 -58
  332. data/vendor/local/share/doc/groonga/ja/html/tutorial/{tutorial08.html → patricia_trie.html} +27 -27
  333. data/vendor/local/share/doc/groonga/ja/html/tutorial/query_expansion.html +198 -0
  334. data/vendor/local/share/doc/groonga/ja/html/tutorial/{tutorial04.html → search.html} +41 -35
  335. data/vendor/local/share/doc/groonga/ja/html/tutorial.html +59 -54
  336. data/vendor/local/share/doc/groonga/ja/html/type.html +30 -30
  337. data/vendor/local/share/doc/groonga/source/characteristic.txt +32 -31
  338. data/vendor/local/share/doc/groonga/source/commands/select.txt +7 -1
  339. data/vendor/local/share/doc/groonga/source/commands/suggest-completion.log +5 -0
  340. data/vendor/local/share/doc/groonga/source/commands/suggest-correction.log +5 -0
  341. data/vendor/local/share/doc/groonga/source/commands/suggest-learn-completion.log +13 -0
  342. data/vendor/local/share/doc/groonga/source/commands/suggest-learn-correction.log +15 -0
  343. data/vendor/local/share/doc/groonga/source/commands/suggest-learn-suggestion.log +9 -0
  344. data/vendor/local/share/doc/groonga/source/commands/suggest-mixed.log +5 -0
  345. data/vendor/local/share/doc/groonga/source/commands/suggest-suggestion.log +5 -0
  346. data/vendor/local/share/doc/groonga/source/conf.py +1 -1
  347. data/vendor/local/share/doc/groonga/source/contribution/documentation/i18n.txt +6 -0
  348. data/vendor/local/share/doc/groonga/source/example/completion-1.log +2 -2
  349. data/vendor/local/share/doc/groonga/source/example/correction-1.log +2 -2
  350. data/vendor/local/share/doc/groonga/source/example/suggestion-1.log +2 -2
  351. data/vendor/local/share/doc/groonga/source/example/{tutorial03-1.log → tutorial/data-1.log} +0 -0
  352. data/vendor/local/share/doc/groonga/source/example/{tutorial03-2.log → tutorial/data-2.log} +0 -0
  353. data/vendor/local/share/doc/groonga/source/example/{tutorial03-3.log → tutorial/data-3.log} +0 -0
  354. data/vendor/local/share/doc/groonga/source/example/{tutorial05-1.log → tutorial/drilldown-1.log} +6 -6
  355. data/vendor/local/share/doc/groonga/source/example/tutorial/drilldown-2.log +5 -0
  356. data/vendor/local/share/doc/groonga/source/example/{tutorial05-3.log → tutorial/drilldown-3.log} +2 -2
  357. data/vendor/local/share/doc/groonga/source/example/tutorial/drilldown-4.log +5 -0
  358. data/vendor/local/share/doc/groonga/source/example/{tutorial05-5.log → tutorial/drilldown-5.log} +2 -2
  359. data/vendor/local/share/doc/groonga/source/example/{tutorial05-6.log → tutorial/drilldown-6.log} +2 -2
  360. data/vendor/local/share/doc/groonga/source/example/tutorial/index-1.log +25 -0
  361. data/vendor/local/share/doc/groonga/source/example/{tutorial06-2.log → tutorial/index-2.log} +4 -4
  362. data/vendor/local/share/doc/groonga/source/example/tutorial/index-3.log +21 -0
  363. data/vendor/local/share/doc/groonga/source/example/{tutorial06-4.log → tutorial/index-4.log} +3 -3
  364. data/vendor/local/share/doc/groonga/source/example/{tutorial06-5.log → tutorial/index-5.log} +2 -2
  365. data/vendor/local/share/doc/groonga/source/example/{tutorial06-6.log → tutorial/index-6.log} +5 -5
  366. data/vendor/local/share/doc/groonga/source/example/{tutorial06-7.log → tutorial/index-7.log} +2 -2
  367. data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-1.log +18 -0
  368. data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-10.log +5 -0
  369. data/vendor/local/share/doc/groonga/source/example/{tutorial01-11.log → tutorial/introduction-11.log} +2 -2
  370. data/vendor/local/share/doc/groonga/source/example/{tutorial01-12.log → tutorial/introduction-12.log} +2 -2
  371. data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-13.log +5 -0
  372. data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-14.log +9 -0
  373. data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-15.log +5 -0
  374. data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-16.log +5 -0
  375. data/vendor/local/share/doc/groonga/source/example/{tutorial01-17.log → tutorial/introduction-17.log} +2 -2
  376. data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-2.log +10 -0
  377. data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-3.log +10 -0
  378. data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-4.log +7 -0
  379. data/vendor/local/share/doc/groonga/source/example/{tutorial01-5.log → tutorial/introduction-5.log} +2 -2
  380. data/vendor/local/share/doc/groonga/source/example/{tutorial01-6.log → tutorial/introduction-6.log} +2 -2
  381. data/vendor/local/share/doc/groonga/source/example/{tutorial01-7.log → tutorial/introduction-7.log} +2 -2
  382. data/vendor/local/share/doc/groonga/source/example/{tutorial01-8.log → tutorial/introduction-8.log} +2 -2
  383. data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-9.log +5 -0
  384. data/vendor/local/share/doc/groonga/source/example/{tutorial07-1.log → tutorial/match_columns-1.log} +8 -8
  385. data/vendor/local/share/doc/groonga/source/example/{tutorial07-2.log → tutorial/match_columns-2.log} +4 -4
  386. data/vendor/local/share/doc/groonga/source/example/{tutorial07-3.log → tutorial/match_columns-3.log} +7 -7
  387. data/vendor/local/share/doc/groonga/source/example/{tutorial07-4.log → tutorial/match_columns-4.log} +4 -4
  388. data/vendor/local/share/doc/groonga/source/example/{tutorial10-1.log → tutorial/micro_blog-1.log} +2 -2
  389. data/vendor/local/share/doc/groonga/source/example/{tutorial10-10.log → tutorial/micro_blog-10.log} +2 -2
  390. data/vendor/local/share/doc/groonga/source/example/{tutorial10-2.log → tutorial/micro_blog-2.log} +2 -2
  391. data/vendor/local/share/doc/groonga/source/example/{tutorial10-3.log → tutorial/micro_blog-3.log} +2 -2
  392. data/vendor/local/share/doc/groonga/source/example/{tutorial10-4.log → tutorial/micro_blog-4.log} +2 -2
  393. data/vendor/local/share/doc/groonga/source/example/{tutorial10-5.log → tutorial/micro_blog-5.log} +2 -2
  394. data/vendor/local/share/doc/groonga/source/example/tutorial/micro_blog-6.log +5 -0
  395. data/vendor/local/share/doc/groonga/source/example/{tutorial10-7.log → tutorial/micro_blog-7.log} +2 -2
  396. data/vendor/local/share/doc/groonga/source/example/{tutorial10-8.log → tutorial/micro_blog-8.log} +2 -2
  397. data/vendor/local/share/doc/groonga/source/example/{tutorial10-9.log → tutorial/micro_blog-9.log} +2 -2
  398. data/vendor/local/share/doc/groonga/source/example/tutorial/network-1.log +8 -0
  399. data/vendor/local/share/doc/groonga/source/example/{tutorial02-2.log → tutorial/network-2.log} +1 -1
  400. data/vendor/local/share/doc/groonga/source/example/{tutorial02-3.log → tutorial/network-3.log} +3 -3
  401. data/vendor/local/share/doc/groonga/source/example/{tutorial08-1.log → tutorial/patricia_trie-1.log} +4 -4
  402. data/vendor/local/share/doc/groonga/source/example/{tutorial08-2.log → tutorial/patricia_trie-2.log} +6 -6
  403. data/vendor/local/share/doc/groonga/source/example/tutorial/query_expansion-1.log +27 -0
  404. data/vendor/local/share/doc/groonga/source/example/tutorial/query_expansion-2.log +7 -0
  405. data/vendor/local/share/doc/groonga/source/example/tutorial/query_expansion-3.log +7 -0
  406. data/vendor/local/share/doc/groonga/source/example/{tutorial04-1.log → tutorial/search-1.log} +2 -2
  407. data/vendor/local/share/doc/groonga/source/example/tutorial/search-2.log +7 -0
  408. data/vendor/local/share/doc/groonga/source/example/tutorial/search-3.log +7 -0
  409. data/vendor/local/share/doc/groonga/source/example/{tutorial04-4.log → tutorial/search-4.log} +4 -4
  410. data/vendor/local/share/doc/groonga/source/example/{tutorial04-5.log → tutorial/search-5.log} +2 -2
  411. data/vendor/local/share/doc/groonga/source/example/tutorial/search-6.log +5 -0
  412. data/vendor/local/share/doc/groonga/source/example/{tutorial04-7.log → tutorial/search-7.log} +2 -2
  413. data/vendor/local/share/doc/groonga/source/executables/grntest.txt +6 -6
  414. data/vendor/local/share/doc/groonga/source/geolocation_search.txt +52 -0
  415. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/array.png +0 -0
  416. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/array.svg +188 -0
  417. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/columns.png +0 -0
  418. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/columns.svg +501 -0
  419. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/hash-table.png +0 -0
  420. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/hash-table.svg +275 -0
  421. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/index-column.png +0 -0
  422. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/index-column.svg +899 -0
  423. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/inverted-index.png +0 -0
  424. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/inverted-index.svg +249 -0
  425. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/patricia-trie.png +0 -0
  426. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/patricia-trie.svg +275 -0
  427. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/prefix-search.png +0 -0
  428. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/prefix-search.svg +743 -0
  429. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/record-id.png +0 -0
  430. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/record-id.svg +261 -0
  431. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/record.png +0 -0
  432. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/record.svg +228 -0
  433. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/scalar-column.png +0 -0
  434. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/scalar-column.svg +241 -0
  435. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-bigram-index-column-value.png +0 -0
  436. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-bigram-index-column-value.svg +879 -0
  437. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-bigram-token-id.png +0 -0
  438. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-bigram-token-id.svg +879 -0
  439. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-bigram.png +0 -0
  440. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-bigram.svg +879 -0
  441. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-choose-tokenizer.png +0 -0
  442. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-choose-tokenizer.svg +602 -0
  443. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-first-index-column-value.png +0 -0
  444. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-first-index-column-value.svg +600 -0
  445. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-first-token-id.png +0 -0
  446. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-first-token-id.svg +600 -0
  447. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-initial-state.png +0 -0
  448. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-initial-state.svg +600 -0
  449. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-on-key-table.png +0 -0
  450. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-on-key-table.svg +917 -0
  451. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-result.png +0 -0
  452. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-result.svg +600 -0
  453. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-second-index-column-value.png +0 -0
  454. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-second-index-column-value.svg +600 -0
  455. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-second-token-id.png +0 -0
  456. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/search-second-token-id.svg +600 -0
  457. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/tokenizer.png +0 -0
  458. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/tokenizer.svg +561 -0
  459. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-initial.png +0 -0
  460. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-initial.svg +389 -0
  461. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-process-first-data-first-token.png +0 -0
  462. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-process-first-data-first-token.svg +469 -0
  463. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-process-first-data-second-token.png +0 -0
  464. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-process-first-data-second-token.svg +514 -0
  465. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-process-second-data-first-token.png +0 -0
  466. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-process-second-data-first-token.svg +595 -0
  467. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-process-second-data-second-token.png +0 -0
  468. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-process-second-data-second-token.svg +600 -0
  469. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-save-first-data.png +0 -0
  470. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-save-first-data.svg +424 -0
  471. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-save-second-data.png +0 -0
  472. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/update-save-second-data.svg +549 -0
  473. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/vector-column.png +0 -0
  474. data/vendor/local/share/doc/groonga/source/images/fulltext-introduction/vector-column.svg +241 -0
  475. data/vendor/local/share/doc/groonga/source/images/geo-encode-leading-2bit.png +0 -0
  476. data/vendor/local/share/doc/groonga/source/images/geo-encode-leading-2bit.svg +203 -0
  477. data/vendor/local/share/doc/groonga/source/images/geo-encode-leading-4bit.png +0 -0
  478. data/vendor/local/share/doc/groonga/source/images/geo-encode-leading-4bit.svg +264 -0
  479. data/vendor/local/share/doc/groonga/source/images/geo-in-rectangle.png +0 -0
  480. data/vendor/local/share/doc/groonga/source/images/geo-points-distance.png +0 -0
  481. data/vendor/local/share/doc/groonga/source/images/geo-points-distance.svg +317 -0
  482. data/vendor/local/share/doc/groonga/source/images/geo-points-in-circle.png +0 -0
  483. data/vendor/local/share/doc/groonga/source/images/geo-points-in-circle.svg +306 -0
  484. data/vendor/local/share/doc/groonga/source/images/geo-points-in-rectangle.png +0 -0
  485. data/vendor/local/share/doc/groonga/source/images/geo-points-in-rectangle.svg +304 -0
  486. data/vendor/local/share/doc/groonga/source/images/geo-points-sort.png +0 -0
  487. data/vendor/local/share/doc/groonga/source/images/geo-points-sort.svg +383 -0
  488. data/vendor/local/share/doc/groonga/source/images/geo-points.png +0 -0
  489. data/vendor/local/share/doc/groonga/source/images/geo-points.svg +296 -0
  490. data/vendor/local/share/doc/groonga/source/images/geo-search-in-circle.png +0 -0
  491. data/vendor/local/share/doc/groonga/source/images/geo-search-in-circle.svg +287 -0
  492. data/vendor/local/share/doc/groonga/source/images/geo-search-in-rectangle.png +0 -0
  493. data/vendor/local/share/doc/groonga/source/images/geo-search-in-rectangle.svg +174 -0
  494. data/vendor/local/share/doc/groonga/source/index.txt +1 -0
  495. data/vendor/local/share/doc/groonga/source/install.txt +31 -40
  496. data/vendor/local/share/doc/groonga/source/news/senna.txt +109 -0
  497. data/vendor/local/share/doc/groonga/source/news.txt +118 -0
  498. data/vendor/local/share/doc/groonga/source/tutorial/{tutorial03.txt → data.txt} +5 -5
  499. data/vendor/local/share/doc/groonga/{ja/html/_sources/tutorial/tutorial05.txt → source/tutorial/drilldown.txt} +8 -7
  500. data/vendor/local/share/doc/groonga/{en/html/_sources/tutorial/tutorial06.txt → source/tutorial/index.txt} +8 -8
  501. data/vendor/local/share/doc/groonga/source/tutorial/introduction.txt +297 -0
  502. data/vendor/local/share/doc/groonga/source/tutorial/{tutorial09.txt → lexicon.txt} +0 -0
  503. data/vendor/local/share/doc/groonga/{ja/html/_sources/tutorial/tutorial07.txt → source/tutorial/match_columns.txt} +4 -4
  504. data/vendor/local/share/doc/groonga/{ja/html/_sources/tutorial/tutorial10.txt → source/tutorial/micro_blog.txt} +17 -17
  505. data/vendor/local/share/doc/groonga/source/tutorial/network.txt +103 -0
  506. data/vendor/local/share/doc/groonga/{ja/html/_sources/tutorial/tutorial08.txt → source/tutorial/patricia_trie.txt} +4 -4
  507. data/vendor/local/share/doc/groonga/source/tutorial/query_expansion.txt +57 -0
  508. data/vendor/local/share/doc/groonga/{ja/html/_sources/tutorial/tutorial04.txt → source/tutorial/search.txt} +17 -12
  509. data/vendor/local/share/doc/groonga/source/tutorial.txt +11 -2
  510. data/vendor/local/share/man/ja/man1/groonga.1 +449 -772
  511. data/vendor/local/share/man/man1/groonga.1 +591 -875
  512. metadata +232 -124
  513. data/vendor/local/etc/groonga/init.d/redhat/groonga +0 -160
  514. data/vendor/local/etc/groonga/init.d/redhat/sysconfig/groonga +0 -8
  515. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/tutorial01.txt +0 -296
  516. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/tutorial02.txt +0 -102
  517. data/vendor/local/share/doc/groonga/en/html/tutorial/tutorial01.html +0 -409
  518. data/vendor/local/share/doc/groonga/en/html/tutorial/tutorial02.html +0 -235
  519. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/tutorial01.txt +0 -296
  520. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/tutorial02.txt +0 -102
  521. data/vendor/local/share/doc/groonga/source/example/tutorial01-1.log +0 -6
  522. data/vendor/local/share/doc/groonga/source/example/tutorial01-10.log +0 -5
  523. data/vendor/local/share/doc/groonga/source/example/tutorial01-13.log +0 -5
  524. data/vendor/local/share/doc/groonga/source/example/tutorial01-14.log +0 -9
  525. data/vendor/local/share/doc/groonga/source/example/tutorial01-15.log +0 -5
  526. data/vendor/local/share/doc/groonga/source/example/tutorial01-16.log +0 -5
  527. data/vendor/local/share/doc/groonga/source/example/tutorial01-2.log +0 -5
  528. data/vendor/local/share/doc/groonga/source/example/tutorial01-3.log +0 -5
  529. data/vendor/local/share/doc/groonga/source/example/tutorial01-4.log +0 -7
  530. data/vendor/local/share/doc/groonga/source/example/tutorial01-9.log +0 -5
  531. data/vendor/local/share/doc/groonga/source/example/tutorial02-1.log +0 -8
  532. data/vendor/local/share/doc/groonga/source/example/tutorial04-2.log +0 -7
  533. data/vendor/local/share/doc/groonga/source/example/tutorial04-3.log +0 -7
  534. data/vendor/local/share/doc/groonga/source/example/tutorial04-6.log +0 -5
  535. data/vendor/local/share/doc/groonga/source/example/tutorial05-2.log +0 -5
  536. data/vendor/local/share/doc/groonga/source/example/tutorial05-4.log +0 -5
  537. data/vendor/local/share/doc/groonga/source/example/tutorial06-1.log +0 -25
  538. data/vendor/local/share/doc/groonga/source/example/tutorial06-3.log +0 -21
  539. data/vendor/local/share/doc/groonga/source/example/tutorial10-6.log +0 -5
  540. data/vendor/local/share/doc/groonga/source/tutorial/tutorial01.txt +0 -296
  541. data/vendor/local/share/doc/groonga/source/tutorial/tutorial02.txt +0 -102
  542. data/vendor/local/share/groonga/munin/plugins/groonga_cpu_load +0 -47
  543. data/vendor/local/share/groonga/munin/plugins/groonga_cpu_time +0 -57
  544. data/vendor/local/share/groonga/munin/plugins/groonga_disk +0 -162
  545. data/vendor/local/share/groonga/munin/plugins/groonga_memory +0 -51
  546. data/vendor/local/share/groonga/munin/plugins/groonga_n_records +0 -110
  547. data/vendor/local/share/groonga/munin/plugins/groonga_query_performance +0 -133
  548. data/vendor/local/share/groonga/munin/plugins/groonga_status +0 -84
@@ -1,4 +1,4 @@
1
- .TH "GROONGA" "1" "August 28, 2011" "1.2.5" "groonga"
1
+ .TH "GROONGA" "1" "November 27, 2011" "1.2.7" "groonga"
2
2
  .SH NAME
3
3
  groonga \- groonga documentation
4
4
  .
@@ -32,56 +32,51 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
32
32
  .
33
33
  .INDENT 0.0
34
34
  .IP \(bu 2
35
- .
36
35
  \fBnews\fP
37
36
  .UNINDENT
38
- .SH GROONGAの特徴
39
- .SS 全文検索ライブラリSennaの後継
37
+ .SH THE CHARACTERISTICS OF GROONGA
38
+ .SS The successor to the Senna that is an embeddable full text search engine
40
39
  .sp
41
- groongaは、広く使われている全文検索ライブラリSennaの後継として開発されています。Sennaの特徴である、高速・高精度・高柔軟性という特徴を引き継ぎつつ、さらにそれらの特徴を追求するために開発が始められました。
42
- .SS HTTPなどの複数プロトコルに対応したサーバ
40
+ 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\(aqs characteristics that are fast, high precision and high flexibility. We started to develop groonga to improve those Senna\(aq characteristics.
41
+ .SS Groonga server supports multi\-protocols such as HTTP
43
42
  .sp
44
- Sennaは、全文検索を行うアプリケーションで用いるための部品でした。groongaでは、全文検索サービスを行うためのサーバが存在します。groongaサーバは、HTTPmemcached binaryプロトコル、独自プロトコルであるgqtpを用いてクライアントとTCP/IP通信を行うことができます。よって、ライブラリをインストールできないレンタルサーバなどの環境でも利用しやすくなりました。
43
+ 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.
45
44
  .sp
46
- Sennaと同様に、groongaもC言語のライブラリとして利用できます。
47
- .SS 高速なデータ更新
45
+ Groonga also can be used as a C library like Senna.
46
+ .SS Fast data update
48
47
  .sp
49
- groongaの前身であるSennaは、ストレージを持たない全文検索ライブラリでした。そのため、MySQLMyISAMストレージエンジンと組み合わせて用いるTritonnや、PostgreSQLと組み合わせて用いるLudiaを通じて利用するのが一般的でした。しかし、これらの形態では、全文検索インデックス更新における参照lockが不要というSennaの性能特性を生かすことができませんでした。
48
+ 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\(aqt fully utilize the performance characteristics of Senna. Senna can update index without read lock.
50
49
  .sp
51
- たとえば、MyISAMではレコードが更新される際には、多くの場合テーブルロックが必要となります。このような場合には、いかに全文検索インデックスの更新が速くとも、MyISAMでのデータ更新がボトルネックとなってしまいます。
50
+ 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.
52
51
  .sp
53
- より即時性の高い検索サービスを実現するために、groongaでは参照lockが不要なストレージを実装しました。
54
- .SS 複数プロセス・複数スレッドで共有できるストレージ
52
+ Groonga implements a storage that doesn\(aqt acquires read lock to realize search service that has immediacy.
53
+ .SS Storage that can be shared with multi\-processes and multi\-threads
55
54
  .sp
56
- groongaのストレージファイルは、複数プロセスや複数スレッドで共有することができます。明示的なロックなどは必要ありません。
55
+ Groonga\(aqs storage file can be shared with multi\-processes and multi\-threads. It doesn\(aqt require explicit lock.
57
56
  .sp
58
- Tritonnの次期バージョンは、MySQLのプラガブルストレージエンジンとして実装予定です。Tritonnで開いているgroongaストレージファイルも共有可能です。たとえば、MySQLプロトコルでデータの更新を行い、HTTPでデータの参照を行うことができます。
59
- .SS ドリルダウンなどの集計系クエリを高速に実現
57
+ \fI\%Mroonga\fP that is the successor to the Tritonn is implemented as a MySQL pruggable storage engine. Groonga\(aqs 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.
58
+ .SS Fast aggregate query processing such as drilldown
60
59
  .sp
61
- groongaのストレージは、カラムごとにデータを保存するカラム指向データベースを採用しています。カラム指向データベースはOLAPなどの集計クエリを高速に実現するのに向いています。
60
+ Groonga\(aqs 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.
62
61
  .sp
63
- 全文検索結果のうち、特定のカラム値ごとにグループ分けをし、それぞれのグループのレコード数を数えるような処理をドリルダウンといいます。groongaはカラム指向データベースを生かして、このような処理を高速に実行します。
64
- .SS Sennaの転置インデックス実装をさらに改良
62
+ "Drilldown" 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.
63
+ .SS Improved Senna\(aqs inverted index implementation
65
64
  .sp
66
- groongaの転置インデックスは、Sennaにおける転置インデックスの実装を改良し、より高速かつ汎用的なものとなりました。
65
+ Groonga\(aqs inverted index is the improved Senna\(aqs inverted index. It is more faster and more versatile.
67
66
  .sp
68
- 転置インデックスを生かすことにより、SQLでも実現が難しい複雑なクエリを高速に実行することができます。いわゆるタグ検索やドリルダウンにおいて、転置インデックスを利用した高速な処理を行うことができます。
69
- .SS 位置情報(緯度・経度)検索
67
+ 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.
68
+ .SS Geolocation (latitude and longitude) search
70
69
  .sp
71
- 日本測地系のみならず、世界測地系にも対応した位置情報での絞込が可能です。位置情報の範囲は、円や矩形を指定することができます。また、任意の2点間の距離も計算可能です。
72
- .SS 自動クエリキャッシュ機構
70
+ 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.
71
+ .SS Auto query cache mechanism
73
72
  .sp
74
- 参照系のクエリについて、自動的にクエリキャッシュを行います。
73
+ Groonga caches reference queries automatically.
75
74
  .SH INSTALL
76
75
  .sp
77
76
  We will explain of how to install Groonga for each environments.
78
77
  .sp
79
- The packages for 64\-bit binary are only distributed. Please attention not to distributing others for 32\-bit binaly.
78
+ We distribute packages for both 32\-bit and 64\-bit but we recommend that you should use 64\-bit package for server. You should use 32\-bit package just only for test or development. You will get no memory error with 32\-bit package even if you just process medium size data.
80
79
  .SS Debian GNU/Linux squeeze
81
- .IP Note
82
- .
83
- We only distribute the package for amd64.
84
- .RE
85
80
  .sp
86
81
  /etc/apt/sources.list.d/groonga.list:
87
82
  .sp
@@ -102,10 +97,6 @@ Install:
102
97
  .ft P
103
98
  .fi
104
99
  .SS Debian GNU/Linux wheezy
105
- .IP Note
106
- .
107
- We only distribute the package for amd64.
108
- .RE
109
100
  .sp
110
101
  /etc/apt/sources.list.d/groonga.list:
111
102
  .sp
@@ -126,10 +117,6 @@ Install:
126
117
  .ft P
127
118
  .fi
128
119
  .SS Debian GNU/Linux sid
129
- .IP Note
130
- .
131
- We only distribute the package for amd64.
132
- .RE
133
120
  .sp
134
121
  /etc/apt/sources.list.d/groonga.list:
135
122
  .sp
@@ -151,13 +138,8 @@ Install:
151
138
  .fi
152
139
  .SS Ubuntu 10.04 LTS Lucid Lynx
153
140
  .IP Note
154
- .
155
- We only distribute the package for amd64.
156
- .RE
157
- .IP Note
158
- .
159
- You should specify universe section of Ubuntu for
160
- installing by add file(ex. below\-mentioned).
141
+ You should add universe section in the official Ubuntu
142
+ repository. The following describes how to add it.
161
143
  .RE
162
144
  .sp
163
145
  /etc/apt/sources.list.d/groonga.list:
@@ -180,13 +162,8 @@ Install:
180
162
  .fi
181
163
  .SS Ubuntu 11.04 Natty Narwhal
182
164
  .IP Note
183
- .
184
- We only distribute the package for amd64.
185
- .RE
186
- .IP Note
187
- .
188
- You should specify universe section of Ubuntu for
189
- installing by add file(ex. below\-mentioned).
165
+ You should add universe section in the official Ubuntu
166
+ repository. The following describes how to add it.
190
167
  .RE
191
168
  .sp
192
169
  /etc/apt/sources.list.d/groonga.list:
@@ -207,12 +184,43 @@ Install:
207
184
  % sudo aptitude \-V \-D \-y install groonga
208
185
  .ft P
209
186
  .fi
210
- .SS CentOS 5
187
+ .SS Ubuntu 11.10 Oneiric Ocelot
211
188
  .IP Note
212
- .
213
- We only distribute the package for amd64.
189
+ You should add universe section in the official Ubuntu
190
+ repository. The following describes how to add it.
214
191
  .RE
215
192
  .sp
193
+ /etc/apt/sources.list.d/groonga.list:
194
+ .sp
195
+ .nf
196
+ .ft C
197
+ deb http://packages.groonga.org/ubuntu/ oneiric universe
198
+ deb\-src http://packages.groonga.org/ubuntu/ oneiric universe
199
+ .ft P
200
+ .fi
201
+ .sp
202
+ Install:
203
+ .sp
204
+ .nf
205
+ .ft C
206
+ % sudo apt\-key adv \-\-recv\-keys \-\-keyserver keyserver.ubuntu.com 1C837F31
207
+ % sudo aptitude update
208
+ % sudo aptitude \-V \-D \-y install groonga
209
+ .ft P
210
+ .fi
211
+ .SS CentOS 5
212
+ .sp
213
+ Install:
214
+ .sp
215
+ .nf
216
+ .ft C
217
+ % sudo rpm \-ivh http://packages.groonga.org/centos/groonga\-repository\-1.0.0\-0.noarch.rpm
218
+ % sudo yum update
219
+ % sudo yum install \-y groonga
220
+ .ft P
221
+ .fi
222
+ .SS CentOS 6
223
+ .sp
216
224
  Install:
217
225
  .sp
218
226
  .nf
@@ -223,10 +231,6 @@ Install:
223
231
  .ft P
224
232
  .fi
225
233
  .SS Fedora 15
226
- .IP Note
227
- .
228
- We only distribute the package for amd64.
229
- .RE
230
234
  .sp
231
235
  Install:
232
236
  .sp
@@ -243,8 +247,6 @@ Install:
243
247
  .sp
244
248
  .nf
245
249
  .ft C
246
- % git clone https://github.com/groonga/macports.git ~/groonga\-macports
247
- % (echo; echo file://$HOME/groonga\-macports) | sudo sh \-c "cat >> /opt/local/etc/macports/sources.conf"
248
250
  % sudo port install groonga
249
251
  .ft P
250
252
  .fi
@@ -258,19 +260,11 @@ Install:
258
260
  .ft P
259
261
  .fi
260
262
  .SS Windows (Installer)
261
- .IP Note
262
- .
263
- We only distribute the package for x64.
264
- .RE
265
263
  .sp
266
264
  You just download installer (.exe file) from
267
265
  \fI\%packages.groonga.org/windows/\fP
268
266
  and execute it.
269
267
  .SS Windows (zip)
270
- .IP Note
271
- .
272
- We only distribute the package for x64.
273
- .RE
274
268
  .sp
275
269
  You just download zip\-file from
276
270
  \fI\%packages.groonga.org/windows/\fP
@@ -305,36 +299,31 @@ There are mailing lists for discussion about groonga.
305
299
  .INDENT 0.0
306
300
  .TP
307
301
  .B For Japanese developers
308
- .
309
302
  \fI\%groonga-dev@lists.sourceforge.jp\fP
310
303
  .UNINDENT
311
304
  .SH チュートリアル
312
- .SS 基本的な操作
313
- .sp
314
- groongaは、Cのライブラリとして使用する方法と、groonga実行ファイルを通して使用する方法があります。
305
+ .SS Fundamental operation
315
306
  .sp
316
- 本チュートリアルでは、groonga実行ファイルを使用する方法について説明します。
307
+ You can use groonga as a library of programming language C or an executable file.
308
+ This tutorial explains how to use groonga as an executable file.
309
+ Using its file, you can create and operate databases, start and connect to server, and so on.
310
+ .SS Create database
317
311
  .sp
318
- groonga実行ファイルを使って、DBの作成・操作・サーバの起動・サーバへの接続などの操作が行えます。
319
- .SS DBの作成
312
+ You can create a new database in the following command.
320
313
  .sp
321
- 以下のようなコマンドを実行すると、データベースを新規に作成することができます。
322
- .sp
323
- 書式
314
+ Form
324
315
  .sp
325
316
  .nf
326
317
  .ft C
327
- groonga \-n データベースパス名
318
+ groonga \-n DB_PATH_NAME
328
319
  .ft P
329
320
  .fi
330
321
  .sp
331
- \-nオプションは、データベースを作ることを示します。
332
- .sp
333
- データベースパス名には、新しく作成するデータベースのフルパス名を指定します。
322
+ \(aq\-n\(aq option specifies to create a database. DB_PATH_NAME specifies full\-path of new database.
334
323
  .sp
335
- 上記コマンドでデータベースを作成すると、そのまま対話モードと呼ばれるコマンドを受け付けるモードになります。Ctrlキーを押しながらdキーを押すと、対話モードから抜けることができます。
324
+ Groonga starts as interactive mode after you create a database with this command, and so groonga accepts commands from standard input. This mode is terminated with Ctrl\-d.
336
325
  .sp
337
- 実行例:
326
+ Execution example:
338
327
  .sp
339
328
  .nf
340
329
  .ft C
@@ -343,186 +332,205 @@ groonga \-n データベースパス名
343
332
  %
344
333
  .ft P
345
334
  .fi
346
- .SS DBの操作
335
+ .SS Operate database
347
336
  .sp
348
- 書式
337
+ Form
349
338
  .sp
350
339
  .nf
351
340
  .ft C
352
- groonga DBパス名 [コマンド]
341
+ groonga DB_PATH_NAME [COMMAND]
353
342
  .ft P
354
343
  .fi
355
344
  .sp
356
- 既存のデータベースのフルパス名をDBパス名に指定します。
357
- コマンドを指定すると、実行結果を返します。
345
+ DB_PATH_NAME specifies full\-path of existing database.
346
+ If COMMAND is specified, result of COMMAND is returned.
358
347
  .sp
359
- コマンドを指定しない場合には、対話モードに入ります。
360
- 対話モードでは、標準入力からコマンドを読み込み、順次実行します。
361
- 本チュートリアルでは、対話モードを主に使用します。
348
+ With no COMMAND, this command starts groonga as interactive\-mode.
349
+ Groonga of this mode reads a command from standard input evaluates it repeatedly.
350
+ This tutorial uses interactive\-mode mainly.
362
351
  .sp
363
- たとえば、statusというコマンドを実行してみましょう。statusコマンドは、groongaの実行状態を返すコマンドです。
352
+ For example, we will run the \fIstatus\fP command.
353
+ This command returns status of groonga\(aqs execution.
364
354
  .sp
365
- 実行例
355
+ Execution example:
366
356
  .sp
367
357
  .nf
368
358
  .ft C
369
- % groonga /tmp/tutorial.db
370
- > status
371
- [[0,1308820929.89434,5.7777e\-05],{"alloc_count":525,"starttime":1308820641,"uptime":288,"version":"1.2.2\-104\-gf48051d","n_queries":376,"cache_hit_rate":0.797872340425532,"command_version":1,"default_command_version":1,"max_command_version":2}]
359
+ > table_create \-\-name Type \-\-flags TABLE_HASH_KEY \-\-key_type ShortText
360
+ [[0,1317212791.02322,0.03942904],true]
361
+ > column_create \-\-table Type \-\-name number \-\-type Int32
362
+ [[0,1317212791.26314,0.124383285],true]
363
+ > column_create \-\-table Type \-\-name float \-\-type Float
364
+ [[0,1317212791.58803,0.027924039],true]
365
+ > column_create \-\-table Type \-\-name string \-\-type ShortText
366
+ [[0,1317212791.81654,0.040399047],true]
367
+ > column_create \-\-table Type \-\-name time \-\-type Time
368
+ [[0,1317212792.05751,0.027354067],true]
369
+ > load \-\-table Type
370
+ > [{"_key":"sample","number":12345,"float":42.195,"string":"GROONGA","time":1234567890.12}]
371
+ [[0,1317212792.28516,0.200775839],1]
372
+ > select \-\-table Type
373
+ [[0,1317212792.68655,0.000199477],[[[1],[["_id","UInt32"],["_key","ShortText"],["time","Time"],["string","ShortText"],["number","Int32"],["float","Float"]],[1,"sample",1234567890.12,"GROONGA",12345,42.195]]]]
372
374
  .ft P
373
375
  .fi
374
376
  .sp
375
- 以上のように、コマンドの実行結果は基本的にjson形式で返却されます。jsonの配列の0番目の要素に、エラーコードや実行時間などの情報が入ります。jsonの配列の1番目の様子に、コマンドの実行結果が入ります。
376
- .SS コマンド
377
+ The mentioned above, results of executed commands are generally JSON style.
378
+ The first element in a array of JSON has information of error\-code, execution time, and so on.
379
+ The second element has a result of exectuted command.
380
+ .SS Commands
377
381
  .sp
378
- groonga実行ファイルやgroongaサーバを介して様々なコマンドを実行して、DBを操作することができます。
379
- コマンドは以下の書式のうちいずれかで与えることができます。
382
+ You can operate database with various commands via execution file of groonga or groonga server.
383
+ There are forms of commands in the following:
380
384
  .sp
381
385
  .nf
382
386
  .ft C
383
- 書式1: コマンド名 引数1 引数2 ..
387
+ Form1: COMMAND ARGUMENT1 ARGUMENT2 ..
384
388
 
385
- 書式2: コマンド名 \-\-引数名1 値1 \-\-引数名2 値2 ..
389
+ Form2: COMMAND \-\-ARAGUMENT1 VALUE1 \-\-ARGUMENT2 VALUE2 ..
386
390
  .ft P
387
391
  .fi
388
392
  .sp
389
- 書式1と2は混ぜて使うことができます。
393
+ You can mix these forms in commands running.
390
394
  .sp
391
- 書式2において、空白や、記号「"\(aq()」のうちいずれかを含む値を指定したい場合は、シングルクォート(\(aq)かダブルクォート(")で値を囲みます。
395
+ In Form2, if you want to specify a value including some spaces or symbols("\(aq()/), you should enclose its value with single\-quote or double\-quote.
392
396
  .sp
393
- 詳しくは、 \fB/executables/groonga\fP のコマンドの項を参考にしてください。
394
- .SS 主なコマンド
397
+ For detail, you can see paragraph of "command" in \fB/executables/groonga\fP.
398
+ .SS Basicaly commands
395
399
  .INDENT 0.0
396
400
  .INDENT 3.5
397
401
  .INDENT 0.0
398
402
  .TP
399
403
  .B \fB/commands/status\fP
400
- .sp
401
- groongaプロセスの状態を表示します。
404
+ Show status of groonga process.
402
405
  .TP
403
406
  .B \fB/commands/table_list\fP
404
- .sp
405
- DBに定義されているテーブルのリストを表示します。
407
+ Show lists of tables defined in a database.
406
408
  .TP
407
409
  .B \fB/commands/column_list\fP
408
- .sp
409
- テーブルに定義されているカラムのリストを表示します。
410
+ Show lists of columns defined in a table.
410
411
  .TP
411
412
  .B \fB/commands/table_create\fP
412
- .sp
413
- DBにテーブルを追加します。
413
+ Add table to a database.
414
414
  .TP
415
415
  .B \fB/commands/column_create\fP
416
- .sp
417
- テーブルにカラムを追加します。
416
+ Add column to a table.
418
417
  .TP
419
418
  .B \fB/commands/select\fP
420
- .sp
421
- テーブルに含まれるレコードを検索して表示します。
419
+ Search and show records included a table.
422
420
  .TP
423
421
  .B \fB/commands/load\fP
424
- .sp
425
- テーブルにレコードを挿入します。
422
+ Insert record to a table.
426
423
  .UNINDENT
427
424
  .UNINDENT
428
425
  .UNINDENT
429
- .SS テーブルの作成
426
+ .SS Create table
430
427
  .sp
431
- \fB/commands/table_create\fP コマンドを使用してテーブルを作成します。
428
+ \fB/commands/table_create\fP creates table.
432
429
  .sp
433
- groongaでは、多くの場合テーブルを作成する際に主キーが必要となります。また、主キーには型と、その格納方法を指定する必要があります。
430
+ In using groonga, to creating tables generally needed master key.
431
+ Master key should be specified the types and the way to store.
434
432
  .sp
435
- 型については、のちのチュートリアルで触れます。データの種類をあらわしているもの、とイメージしてください。
433
+ We\(aqre going to explain the types in tutorial after.
434
+ Please imagine it as expressing sort of data.
435
+ How to store master key defines speed of search with master key and advisability of begins\-with\-match search. This is also explained in this tutorial later.
436
436
  .sp
437
- 主キーの格納方法によって、主キーでの検索速度や、前方一致検索の可否が決まります。これも、のちのチュートリアルで触れます。
437
+ For example, we create \(aqSite\(aq table. This table has master key of ShortText type, and the way to store its key is HASH.
438
438
  .sp
439
- ここでは、ShortText型の主キー値を持ち、主キーの格納方法はHASHである、\(aqSite\(aqという名前のテーブルを作成します。
440
- .sp
441
- 実行例
439
+ Execution example:
442
440
  .sp
443
441
  .nf
444
442
  .ft C
445
- > table_create \-\-name Site \-\-flags TABLE_HASH_KEY \-\-key_type ShortText
446
- [[0,1308820930.09682,0.063827982],true]
443
+ > column_create \-\-table Site \-\-name link \-\-type Site
444
+ [[0,1317212792.88872,0.060705006],true]
445
+ > load \-\-table Site
446
+ > [{"_key":"http://example.org/","link":"http://example.net/"}]
447
+ [[0,1317212793.14984,0.200481934],1]
448
+ > select \-\-table Site \-\-output_columns _key,title,link._key,link.title \-\-query title:@this
449
+ [[0,1317212793.55084,0.000485897],[[[1],[["_key","ShortText"],["title","ShortText"],["link._key","ShortText"],["link.title","ShortText"]],["http://example.org/","This is test record 1!","http://example.net/","test record 2."]]]]
447
450
  .ft P
448
451
  .fi
449
- .SS 検索
452
+ .SS Search
450
453
  .sp
451
- \fB/commands/select\fP コマンドを用いて、テーブルの中身を表示することができます。
454
+ \fB/commands/select\fP shows contents of table.
452
455
  .sp
453
- 実行例
456
+ Execution example:
454
457
  .sp
455
458
  .nf
456
459
  .ft C
457
- > select \-\-table Site
458
- [[0,1308820930.36252,0.000151605],[[[0],[["_id","UInt32"],["_key","ShortText"]]]]]
460
+ > column_create \-\-table Site \-\-name links \-\-flags COLUMN_VECTOR \-\-type Site
461
+ [[0,1317212793.75262,0.049658904],true]
462
+ > load \-\-table Site
463
+ > [{"_key":"http://example.org/","links":["http://example.net/","http://example.org/","http://example.com/"]}]
464
+ [[0,1317212794.00274,0.200473621],1]
465
+ > select \-\-table Site \-\-output_columns _key,title,links._key,links.title \-\-query title:@this
466
+ [[0,1317212794.40349,0.000384272],[[[1],[["_key","ShortText"],["title","ShortText"],["links._key","ShortText"],["links.title","ShortText"]],["http://example.org/","This is test record 1!",["http://example.net/","http://example.org/","http://example.com/"],["test record 2.","This is test record 1!","test test record three."]]]]]
459
467
  .ft P
460
468
  .fi
461
469
  .sp
462
- selectにテーブル名を指定すると、指定したテーブルの中身を10件表示します。[0]は検索されたレコードの件数、["_id","Uint32"]は値がUInt32型である"_id\(aqという名前のカラム、["_key","ShortText"]は値がShortText型である\(aq_key\(aqという名前のカラムを示しています。
470
+ With name of a table, \(aqselect\(aq command shows 10 contents of its table. [0] shows the number of searched records. ["_id","Uint32"] is column named "_id" and type of this column\(aqs value is UInt32. ["_key","ShortText"] is "_key" column, type of this column\(aqs value is ShortText.
463
471
  .sp
464
- table_createコマンドで作成したテーブルには、最初から\(aq_id\(aq/\(aq_key\(aqという2つのカラムがあります。\(aq_id\(aqgroongaが自動的に付与するID番号が格納されるカラムです。\(aq_key\(aqは主キーが格納されるカラムです。これらのカラム名を変更することはできません。
465
- .SS カラムの作成
472
+ \(aqtable_create\(aq command creates table including two columns, \(aq_id\(aq and \(aq_key\(aq first. \(aq_id\(aq has ID\-number given automatically by groonga. \(aq_key\(aq column is stored master key. You cannot modify this column\(aqs name.
473
+ .SS Create columns
466
474
  .sp
467
- \fB/commands/column_create\fP コマンドを用いて、カラムを作成することができます。
475
+ \fB/commands/column_create\fP command create columns.
468
476
  .sp
469
- ShortText型の値を持つ、\(aqcomment\(aqという名前のカラムを\(aqSite\(aqテーブルに追加しましょう。
477
+ We add a column named \(aqcomment\(aq that lets us store value whose type is ShortText.
470
478
  .sp
471
- 実行例
479
+ Execution example:
472
480
  .sp
473
481
  .nf
474
482
  .ft C
475
483
  > column_create \-\-table Site \-\-name title \-\-flags COLUMN_SCALAR \-\-type ShortText
476
- [[0,1308820930.56469,0.052566362],true]
484
+ [[0,1317212712.91734,0.077833747],true]
477
485
  > select \-\-table Site
478
- [[0,1308820930.81869,9.5061e\-05],[[[0],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]]]]]
486
+ [[0,1317212713.19572,0.000121119],[[[0],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]]]]]
479
487
  .ft P
480
488
  .fi
481
489
  .sp
482
- COLUMN_SCALARについては、通常のカラムであることを示しています。
483
- .SS 全文検索用の語彙表の作成
490
+ COLUMN_SCALAR means this is normal column.
491
+ .SS Create terminology table with fulltext\-searching
484
492
  .sp
485
- このチュートリアルでは、groongaに登録したデータを用いた全文検索を行います。
493
+ This tutorial explains fulltext searching with entried data in groonga table.
486
494
  .sp
487
- 全文検索を行う場合は、まず語彙表を作成する必要があります。
488
- 語彙表とは、文書の中にある単語が主キーとなるテーブルです。
489
- ここでは、ShortText型の主キー値を持つ、\(aqTerms\(aqという名前のテーブルを作成しました。
495
+ We need terminology table in fulltext\-searching.
496
+ Terminology table is a table whose master key\(aqs values are words in text.
497
+ We create \(aqTerms\(aq table, it has type of master key value is ShortText.
490
498
  .sp
491
- 実行例
499
+ Execution example:
492
500
  .sp
493
501
  .nf
494
502
  .ft C
495
503
  > table_create \-\-name Terms \-\-flags TABLE_PAT_KEY|KEY_NORMALIZE \-\-key_type ShortText \-\-default_tokenizer TokenBigram
496
- [[0,1308820931.02058,0.054235759],true]
504
+ [[0,1317212713.39679,0.092312046],true]
497
505
  .ft P
498
506
  .fi
499
507
  .sp
500
- この実行例には、多くのパラメータが指定されています。本チュートリアルでは、これらをすべて理解する必要はありません。以下に簡単な説明を記しますが、読み飛ばしてもらってかまいません。
501
- .sp
502
- 実行例にある、TABLE_PAT_KEY|KEY_NORMALIZEという値は、主キー値をパトリシア木に格納し、各語彙を正規化して登録することを示しています。
508
+ Many parameters is specified in this execution example.
509
+ You don\(aqt hove to understand all parameters.
510
+ There are the simple explaination, but you can skipped.
503
511
  .sp
504
- 実行例にある、TokenBigramという値は、 語彙表として使用するテーブルは、対象の文書をトークナイズする方式を、default_tokenizerパラメータで与えます。この例ではTokenBigramを指定しています。よって、一般的にN\-gramと呼ばれるようなインデックス方式を選択しています。
505
- .SS 全文検索用のインデックスカラムの作成
512
+ In this examples, \(aqTABLE_PAT_KEY|KEY_NORMALIZE\(aq stores master key in patricia\-trie and entries each teminology after nomalized.
513
+ The \(aqdefault_tokenizer\(aq parametar specifies the way to tokenize target texts. In this examples, we specifies \(aqTokenBigram\(aq as this parameter, and so we choose \(aqN\-gram\(aq generally called.
514
+ .SS Create index\-column with fulltext search
506
515
  .sp
507
- Siteテーブルのtitleカラムを全文検索の対象としたいとしましょう。その場合には、語彙表にインデックス型のカラムを作成します。
516
+ We will fulltext search \(aqtitle\(aq column in \(aqSite\(aq table. In this case, we create column whose type index in terminology table.
508
517
  .sp
509
- 実行例
518
+ Execution example:
510
519
  .sp
511
520
  .nf
512
521
  .ft C
513
522
  > column_create \-\-table Terms \-\-name blog_title \-\-flags COLUMN_INDEX|WITH_POSITION \-\-type Site \-\-source title
514
- [[0,1308820931.27655,0.173806991],true]
523
+ [[0,1317212713.68994,0.19739078],true]
515
524
  .ft P
516
525
  .fi
517
526
  .sp
518
- Siteテーブルのtitleカラムを検索対象とする、\(aqblog_title\(aqという名前のインデックス型カラムをTermsテーブルに作成しました。インデックス対象となるテーブルをtypeに、インデックス対象となるカラムをsourceに指定します。
527
+ This command creates index column \(aqblog_title\(aq in \(aqTerm\(aq table. \(aq\-\-type\(aq option specifies target indexed table, and \(aq\-\-source\(aq option does target index column.
528
+ In execution example, \(aqCOLUMN_INDEX|WITH_POSITION\(aq for \(aq\-\-flags\(aq option specifies that this column is index column for storing information of terminology existing position. This option should be specified \(aqCOLUMN_INDEX|WITH_POSITION\(aq in generally fulltext searching. This tutorial does not deal with the reason why store information of terminology existing position.
529
+ .SS Load data
519
530
  .sp
520
- 実行例のflagsのCOLUMN_INDEX|WITH_POSITIONという値は、語彙の位置情報を格納するインデックス型のカラムであることを示しています。通常の全文検索インデックスでは、COLUMN_INDEX|WITH_POSITIONを指定してください。語彙の位置情報を格納する意味については、本チュートリアルでは触れません。
521
- .SS データのロード
522
- .sp
523
- \fB/commands/load\fP コマンドを使用します。loadコマンドでは、jsonで受け取ったデータをテーブルに格納します。
531
+ \fB/commands/load\fP is used to load data for groonga database. This command stores json\-formatted data in a table.
524
532
  .sp
525
- 実行例
533
+ Execution example:
526
534
  .sp
527
535
  .nf
528
536
  .ft C
@@ -538,215 +546,217 @@ Siteテーブルのtitleカラムを検索対象とする、\(aqblog_title\(aq
538
546
  > {"_key":"http://example.org/gat","title":"test test record eight."},
539
547
  > {"_key":"http://example.com/vdw","title":"test test record nine."},
540
548
  > ]
541
- [[0,1308820931.65233,2.210007023],9]
549
+ [[0,1317212714.08816,2.203527402],9]
542
550
  .ft P
543
551
  .fi
544
552
  .sp
545
- selectコマンドで、データが入っていることを確認しましょう。
553
+ Let\(aqs make sure that its table has data with \(aqselect\(aq command.
546
554
  .sp
547
- 実行例
555
+ Execution example:
548
556
  .sp
549
557
  .nf
550
558
  .ft C
551
559
  > select \-\-table Site
552
- [[0,1308820934.06389,0.000123535],[[[9],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[1,"http://example.org/","This is test record 1!"],[2,"http://example.net/","test record 2."],[3,"http://example.com/","test test record three."],[4,"http://example.net/afr","test record four."],[5,"http://example.org/aba","test test test record five."],[6,"http://example.com/rab","test test test test record six."],[7,"http://example.net/atv","test test test record seven."],[8,"http://example.org/gat","test test record eight."],[9,"http://example.com/vdw","test test record nine."]]]]
560
+ [[0,1317212716.49285,0.000270908],[[[9],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[1,"http://example.org/","This is test record 1!"],[2,"http://example.net/","test record 2."],[3,"http://example.com/","test test record three."],[4,"http://example.net/afr","test record four."],[5,"http://example.org/aba","test test test record five."],[6,"http://example.com/rab","test test test test record six."],[7,"http://example.net/atv","test test test record seven."],[8,"http://example.org/gat","test test record eight."],[9,"http://example.com/vdw","test test record nine."]]]]
553
561
  .ft P
554
562
  .fi
555
- .SS データの検索
563
+ .SS Search data
556
564
  .sp
557
- groongaでは、\(aq_id\(aqカラムと\(aq_key\(aqカラムの値はテーブル中で一意です。よって、それを用いて検索してみましょう。
565
+ \(aq_id\(aq and \(aq_key\(aq columns are unique in groonga\(aqs table, so let\(aqs search data in table using these columns.
558
566
  .sp
559
- selectコマンドにおいて、queryパラメータを用いるとデータの検索を行うことができます。
567
+ You can search data using \(aqselect\(aq command with \(aqquery\(aq parameter.
560
568
  .sp
561
- 実行例
569
+ Execution example:
562
570
  .sp
563
571
  .nf
564
572
  .ft C
565
573
  > select \-\-table Site \-\-query _id:1
566
- [[0,1308820934.2671,0.000244984],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[1,"http://example.org/","This is test record 1!"]]]]
574
+ [[0,1317212716.69871,0.000308514],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[1,"http://example.org/","This is test record 1!"]]]]
567
575
  .ft P
568
576
  .fi
569
577
  .sp
570
- queryパラメータに与えた「_id:1」というのは、\(aq_id\(aqという名前のカラムに\(aq1\(aqという値が入っているレコードを検索する、という意味です。
578
+ \(aq_id:1\(aq specified \(aqquery\(aq parameter means to search records whose \(aq_id\(aq column has \(aq1\(aq.
571
579
  .sp
572
- _keyでも検索してみましょう。
580
+ Let\(aqs search records with \(aq_key\(aq column.
573
581
  .sp
574
- 実行例
582
+ Execution example:
575
583
  .sp
576
584
  .nf
577
585
  .ft C
578
586
  > select \-\-table Site \-\-query "_key:\e"http://example.org/\e""
579
- [[0,1308820934.46932,0.000421384],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[1,"http://example.org/","This is test record 1!"]]]]
587
+ [[0,1317212716.9005,0.000478343],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[1,"http://example.org/","This is test record 1!"]]]]
580
588
  .ft P
581
589
  .fi
582
590
  .sp
583
- queryパラメータに与えた「_key:"\fI\%http://example.org/\fP"」というのは、\(aq_key\(aqという名前のカラムに\(aq"\fI\%http://example.org/\fP"\(aqという値が入っているレコードを検索する、という意味です。
584
- .SS 全文検索
591
+ \(aq_key:"\fI\%http://example.org/\fP"\(aq specified \(aqquery\(aq parameter means to search records whose \(aq_key\(aq column has \(aq"\fI\%http://example.org/\fP"\(aq.
592
+ .SS Fulltext searching
585
593
  .sp
586
- queryパラメータでは、インデックスを用いた全文検索を行うこともできます。
594
+ Using \(aqquery\(aq parameter, you can fulltext search with index.
587
595
  .sp
588
- 実行例
596
+ Execution example:
589
597
  .sp
590
598
  .nf
591
599
  .ft C
592
600
  > select \-\-table Site \-\-query title:@this
593
- [[0,1308820934.67264,0.000440628],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[1,"http://example.org/","This is test record 1!"]]]]
601
+ [[0,1317212717.10303,0.000581287],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[1,"http://example.org/","This is test record 1!"]]]]
594
602
  .ft P
595
603
  .fi
596
604
  .sp
597
- titleカラムに対して、\(aqthis\(aqという文字列で全文検索を行った結果を返します。
605
+ This command shows result of fulltext searching by string \(aqthis\(aq for \(aqtitle\(aq column.
598
606
  .sp
599
- queryパラメータに与えた「title:@this」というのが、\(aqtitle\(aqという名前のカラムに\(aqthis\(aqという文字列が含まれているレコードを検索する、という意味です。
607
+ "title:@this" specified \(aqquery\(aq parameter means to search records whose \(aqtitle\(aq column including \(aqthis\(aq string.
600
608
  .sp
601
- selectコマンドには、match_columnsというパラメータが存在します。これを指定すると、query内にカラム名を指定しない条件があった場合、match_columnsで指定されたカラムに対しての検索であることを示します。[1]_
609
+ \(aqselect\(aq command has parameter \(aqmatch_columns\(aq.
602
610
  .sp
603
- match_columnsパラメータに\(aqtitle\(aq、queryパラメータに\(aqthis\(aqという文字列を指定すると、上記のクエリと同じ結果を得ることができます。
611
+ If this parameter is specified, it means to search in columns specified \(aqmatch_columns\(aq when \(aqquery\(aq parameter doesn\(aqt specify column\-name condition.[1]_
604
612
  .sp
605
- 実行例
613
+ If you specify \(aqmatch_columns\(aq is \(aqtitle\(aq and \(aqquery\(aq is \(aqthis\(aq, you can take same result as above query.
614
+ .sp
615
+ Execution example:
606
616
  .sp
607
617
  .nf
608
618
  .ft C
609
619
  > select \-\-table Site \-\-match_columns title \-\-query this
610
- [[0,1308820934.87474,0.000280727],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[1,"http://example.org/","This is test record 1!"]]]]
620
+ [[0,1317212717.30596,0.000716439],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[1,"http://example.org/","This is test record 1!"]]]]
611
621
  .ft P
612
622
  .fi
613
- .SS 出力カラムの指定
623
+ .SS Specify output column
614
624
  .sp
615
- selectコマンドにおいて、output_columnsパラメータを用いることで、検索結果で表示するカラムを指定することが出来ます。
625
+ \(aqoutput_columns\(aq parameter in \(aqselect\(aq command specifies columns shown in result of search.
616
626
  .sp
617
- 複数のカラムを指定する場合は、カンマ(,)区切りで指定します。
627
+ If you want to specify some columns, you should separate column names by comma(,).
618
628
  .sp
619
- 実行例
629
+ Execution example:
620
630
  .sp
621
631
  .nf
622
632
  .ft C
623
633
  > select \-\-table Site \-\-output_columns _key,title,_score \-\-query title:@test
624
- [[0,1308820935.07756,0.000495772],[[[9],[["_key","ShortText"],["title","ShortText"],["_score","Int32"]],["http://example.org/","This is test record 1!",1],["http://example.net/","test record 2.",1],["http://example.com/","test test record three.",2],["http://example.net/afr","test record four.",1],["http://example.org/aba","test test test record five.",3],["http://example.com/rab","test test test test record six.",4],["http://example.net/atv","test test test record seven.",3],["http://example.org/gat","test test record eight.",2],["http://example.com/vdw","test test record nine.",2]]]]
634
+ [[0,1317212717.50916,0.00060758],[[[9],[["_key","ShortText"],["title","ShortText"],["_score","Int32"]],["http://example.org/","This is test record 1!",1],["http://example.net/","test record 2.",1],["http://example.com/","test test record three.",2],["http://example.net/afr","test record four.",1],["http://example.org/aba","test test test record five.",3],["http://example.com/rab","test test test test record six.",4],["http://example.net/atv","test test test record seven.",3],["http://example.org/gat","test test record eight.",2],["http://example.com/vdw","test test record nine.",2]]]]
625
635
  .ft P
626
636
  .fi
627
637
  .sp
628
- groongaの検索結果には、「_score」という名前のカラムが追加されています。このカラムは、全文検索の条件が合致する文書ほど高い数値が入ります。
629
- .SS 表示範囲指定
638
+ "_score" column is added to The groonga\(aqs result. This column has the higher number, the more condition of fulltext seaching matches text.
639
+ .SS Ranges to display
630
640
  .sp
631
- selectコマンドにおいて、offset,limitパラメータを用いることで、検索結果から指定された範囲のみを表示することが出来ます。大量の検索結果をページで分けて、1ページ分のみを表示したい場合に有効です。
641
+ \(aqselect\(aq command can display result in only specified ranges using \(aqoffset\(aq and \(aqlimit\(aq parameter. This parameters is useful when you want to show only a page in much result of searching.
632
642
  .sp
633
- offsetパラメータには、検索結果を返す始点を指定します。1件目から結果を返す場合には、0を指定します。
643
+ \(aqoffset\(aq parameter specifies starting point of result. If you want \(aqselect\(aq command to return from first records, this parameter specifies \(aq0\(aq.
634
644
  .sp
635
- limitパラメータには、検索結果を何件表示するのかを指定します。
645
+ \(aqlimit\(aq parameter specifies how many records of searching result.
636
646
  .sp
637
- 実行例
647
+ Execution example:
638
648
  .sp
639
649
  .nf
640
650
  .ft C
641
651
  > select \-\-table Site \-\-offset 0 \-\-limit 3
642
- [[0,1308820935.28442,0.000252225],[[[9],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[1,"http://example.org/","This is test record 1!"],[2,"http://example.net/","test record 2."],[3,"http://example.com/","test test record three."]]]]
652
+ [[0,1317212717.71574,0.000238544],[[[9],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[1,"http://example.org/","This is test record 1!"],[2,"http://example.net/","test record 2."],[3,"http://example.com/","test test record three."]]]]
643
653
  > select \-\-table Site \-\-offset 3 \-\-limit 3
644
- [[0,1308820935.48834,0.000202216],[[[9],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[4,"http://example.net/afr","test record four."],[5,"http://example.org/aba","test test test record five."],[6,"http://example.com/rab","test test test test record six."]]]]
654
+ [[0,1317212717.91925,0.00023617],[[[9],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[4,"http://example.net/afr","test record four."],[5,"http://example.org/aba","test test test record five."],[6,"http://example.com/rab","test test test test record six."]]]]
645
655
  > select \-\-table Site \-\-offset 7 \-\-limit 3
646
- [[0,1308820935.69195,0.000117711],[[[9],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[8,"http://example.org/gat","test test record eight."],[9,"http://example.com/vdw","test test record nine."]]]]
656
+ [[0,1317212718.12219,0.00019999],[[[9],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[8,"http://example.org/gat","test test record eight."],[9,"http://example.com/vdw","test test record nine."]]]]
647
657
  .ft P
648
658
  .fi
649
- .SS 並び替え
659
+ .SS Sort
650
660
  .sp
651
- selectコマンドにおいて、sortbyパラメータを用いることで、検索結果を並び替えることが出来ます。
661
+ If you use \(aqsortby\(aq parameter in \(aqselect\(aq command, this command sorts result of searching.
652
662
  .sp
653
- sortbyパラメータにカラム名を指定することで、そのカラムの値で昇順にソートします。また、カラム名の前にハイフン(\-)を付けることで、降順にソートすることも出来ます。
663
+ When \(aqsortby\(aq parameter specifies column name, result is sorted in ascending\-order to its column\(aqs value. This \(aqselect\(aq command also sort in descending\-order when you add hyphen(\-) before column name.
654
664
  .sp
655
- 実行例
665
+ Execution example:
656
666
  .sp
657
667
  .nf
658
668
  .ft C
659
669
  > select \-\-table Site \-\-sortby \-_id
660
- [[0,1308820935.8941,0.000183882],[[[9],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[9,"http://example.com/vdw","test test record nine."],[8,"http://example.org/gat","test test record eight."],[7,"http://example.net/atv","test test test record seven."],[6,"http://example.com/rab","test test test test record six."],[5,"http://example.org/aba","test test test record five."],[4,"http://example.net/afr","test record four."],[3,"http://example.com/","test test record three."],[2,"http://example.net/","test record 2."],[1,"http://example.org/","This is test record 1!"]]]]
670
+ [[0,1317212718.32565,0.000385755],[[[9],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[9,"http://example.com/vdw","test test record nine."],[8,"http://example.org/gat","test test record eight."],[7,"http://example.net/atv","test test test record seven."],[6,"http://example.com/rab","test test test test record six."],[5,"http://example.org/aba","test test test record five."],[4,"http://example.net/afr","test record four."],[3,"http://example.com/","test test record three."],[2,"http://example.net/","test record 2."],[1,"http://example.org/","This is test record 1!"]]]]
661
671
  .ft P
662
672
  .fi
663
673
  .sp
664
- 出力カラムの指定で紹介した「_score」カラムは、ソートの条件としても使うことができます。
674
+ For condition of sort, you can use \(aq_score\(aq column introduced in the paragraph of "Specify output column".
665
675
  .sp
666
- 実行例
676
+ Execution example:
667
677
  .sp
668
678
  .nf
669
679
  .ft C
670
680
  > select \-\-table Site \-\-query title:@test \-\-output_columns _id,_score,title \-\-sortby _score
671
- [[0,1308820936.09781,0.000563749],[[[9],[["_id","UInt32"],["_score","Int32"],["title","ShortText"]],[1,1,"This is test record 1!"],[2,1,"test record 2."],[4,1,"test record four."],[3,2,"test test record three."],[9,2,"test test record nine."],[8,2,"test test record eight."],[7,3,"test test test record seven."],[5,3,"test test test record five."],[6,4,"test test test test record six."]]]]
681
+ [[0,1317212718.5331,0.000667311],[[[9],[["_id","UInt32"],["_score","Int32"],["title","ShortText"]],[1,1,"This is test record 1!"],[2,1,"test record 2."],[4,1,"test record four."],[3,2,"test test record three."],[9,2,"test test record nine."],[8,2,"test test record eight."],[7,3,"test test test record seven."],[5,3,"test test test record five."],[6,4,"test test test test record six."]]]]
672
682
  .ft P
673
683
  .fi
674
684
  .sp
675
- ソートするカラム名を複数指定したい場合は、カンマ(,)区切りで指定します。複数のカラムを指定した場合、最初のカラムで同一の値のレコードがあった場合に、次のカラムの値でソートさせることができます。
685
+ If you want to specify some column names, you should use comma(,) between these names. In this case, when same value of records is existed in first column, this command sorts result of searching to value of second column.
676
686
  .sp
677
- 実行例
687
+ Execution example:
678
688
  .sp
679
689
  .nf
680
690
  .ft C
681
691
  > select \-\-table Site \-\-query title:@test \-\-output_columns _id,_score,title \-\-sortby _score,_id
682
- [[0,1308820936.3086,0.000588846],[[[9],[["_id","UInt32"],["_score","Int32"],["title","ShortText"]],[1,1,"This is test record 1!"],[2,1,"test record 2."],[4,1,"test record four."],[3,2,"test test record three."],[8,2,"test test record eight."],[9,2,"test test record nine."],[5,3,"test test test record five."],[7,3,"test test test record seven."],[6,4,"test test test test record six."]]]]
692
+ [[0,1317212718.73819,0.00069225],[[[9],[["_id","UInt32"],["_score","Int32"],["title","ShortText"]],[1,1,"This is test record 1!"],[2,1,"test record 2."],[4,1,"test record four."],[3,2,"test test record three."],[8,2,"test test record eight."],[9,2,"test test record nine."],[5,3,"test test test record five."],[7,3,"test test test record seven."],[6,4,"test test test test record six."]]]]
683
693
  .ft P
684
694
  .fi
685
- 脚注
695
+ footnote
686
696
  .IP [1] 5
687
- .
688
- 現在のバージョンでは、全文検索インデックスが存在する場合にのみ、match_columnsパラメータを利用することができます。通常のカラムでの絞り込みには利用できません。
689
- .SS ネットワークを通じた利用
697
+ In now groonga\(aqs version, you can only use \(aqmatch_columns\(aq parameter in the case of existing index of fulltext searching. This parameter cannot be use in searching for ordinary columns.
698
+ .SS How to use groonga with network
690
699
  .sp
691
- groongaはネットワークを通じて利用することができます。groonga独自プロトコルもしくはHTTPのどちらかを選択してgroongaを起動することにより、groongaはネットワーク接続を待ち受けます。
692
- .SS groonga専用プロトコルによる通信
693
- .SS groongaデーモンの起動
700
+ You can use groonga with network. When you run groonga by using the groonga original protocol or HTTP, groonga accepts connection for network.
701
+ .SS Connect with groonga\(aqs original protocol
702
+ .SS Run groonga daemon
694
703
  .sp
695
- 書式
704
+ Form:
696
705
  .sp
697
706
  .nf
698
707
  .ft C
699
- groonga [\-p ポート番号] \-d DBパス名
708
+ groonga [\-p PORT_NUMBER] \-d DB_PATH_NAME
700
709
  .ft P
701
710
  .fi
702
711
  .sp
703
- 既存のデータベースのフルパス名をDBパス名に指定します。
704
- groongaがデーモンモードで起動し、指定したポート番号でgroongaの専用プロトコルを用いた通信をすることができます。
705
- (ポート番号を省略した場合は10041が使用されます)
712
+ The DB_PATH_NAME is set the full\-path of existing database.
713
+ With this form, you can run groonga as a daemon and connect by
714
+ with groonga original protocol on PORT_NUMBER.
715
+ (The port number is 10041 when you don\(aqt specify PORT_NUMBER.)
706
716
  .sp
707
- 実行例:
717
+ Execution example:
708
718
  .sp
709
719
  .nf
710
720
  .ft C
711
- % groonga \-d /tmp/tutorial.db
721
+ % groonga \-d /tmp/groonga\-databases/introduction.db
712
722
  12345
713
723
  %
714
724
  .ft P
715
725
  .fi
716
726
  .sp
717
- デーモンモードで起動後、プロセス番号が表示されます。
718
- .SS groongaサーバへの接続
727
+ Groonga shows its process ID on daemon mode.
728
+ .SS Connect to groonga server
719
729
  .sp
720
- 書式
730
+ Form:
721
731
  .sp
722
732
  .nf
723
733
  .ft C
724
- groonga [\-p ポート番号] \-c [対象ホスト名またはIPアドレス]
734
+ groonga [\-p PORT_NUMBER] \-c [HOST_NAME_OR_IP_ADDRESS]
725
735
  .ft P
726
736
  .fi
727
737
  .sp
728
- 対象ホストで動作しているgroongaサーバに接続します。
738
+ This command connects to groonga server running at specified HOST_NAME_OR_IP_ADDRESS.
729
739
  .sp
730
- 対象ホスト名を省略した場合はlocalhostに対して接続し、対象ポート番号を省略した場合は10041ポートに対して接続します。
740
+ When you don\(aqt specify HOST_NAME_OR_IP_ADDRESS, this command connects to groonga server running at localhost. When you don\(aqt specify PORT_NUMBER, 10041 is used.
731
741
  .sp
732
- 接続に成功すると対話モードに入り、標準入力からコマンドを読み込んで順次実行します。
742
+ Groonga runs in interactive mode after connect to groonga server successfully. Groonga reads command from standard input and evaluates it repeatedly.
733
743
  .sp
734
- 実行例
744
+ Execution example:
735
745
  .sp
736
746
  .nf
737
747
  .ft C
738
748
  % groonga \-c
739
749
  > status
740
- [[0,1308820928.88213,4.1937e\-05],{"alloc_count":548,"starttime":1308820641,"uptime":287,"version":"1.2.2\-104\-gf48051d","n_queries":375,"cache_hit_rate":0.533333333333333,"command_version":1,"default_command_version":1,"max_command_version":2}]
750
+ [[0,1317212813.13814,0.000102148],{"alloc_count":184,"starttime":1317212806,"uptime":7,"version":"1.2.5\-84\-g5c190df","n_queries":14,"cache_hit_rate":0.0,"command_version":1,"default_command_version":1,"max_command_version":2}]
741
751
  > ctrl\-d
742
752
  %
743
753
  .ft P
744
754
  .fi
745
- .SS groongaデーモンの終了
755
+ .SS Terminate groonga daemon
746
756
  .sp
747
- groongaデーモンにshutdownコマンドを発行することにより、終了させることができます。
757
+ You can terminate groonga daemon with shutdown command.
748
758
  .sp
749
- 実行例
759
+ Execution example:
750
760
  .sp
751
761
  .nf
752
762
  .ft C
@@ -755,46 +765,46 @@ groongaデーモンにshutdownコマンドを発行することにより、終
755
765
  %
756
766
  .ft P
757
767
  .fi
758
- .SS HTTPによる通信
768
+ .SS Connect with HTTP
759
769
  .sp
760
- groongaHTTP経由で利用したい場合には、HTTPプロトコルモードで起動します。
770
+ You need to run groonga in HTTP protocol mode when you want to use groonga via HTTP.
761
771
  .sp
762
- 書式
772
+ Form:
763
773
  .sp
764
774
  .nf
765
775
  .ft C
766
- groonga [\-p ポート番号] \-d \-\-protocol http DBパス名
776
+ groonga [\-p PORT_NUMBER] \-d \-\-protocol http DB_PATH_NAME
767
777
  .ft P
768
778
  .fi
769
779
  .sp
770
- protocolオプションで、groongaが受け付けるプロトコルを指定できます。httpを指定すると、groongaHTTPプロトコルでの通信を受け付けます。
771
- .SS HTML管理ツール
780
+ \fI\-\-protocol\fP option specifies a protocol of groonga server. \fIhttp\fP means that groonga accepts connections via HTTP.
781
+ .SS Administration tool based on HTML
772
782
  .sp
773
- コマンド実行後、http://[IPアドレスまたはホスト名]:[ポート番号]/ というURLにブラウザからアクセスすると、HTML管理ツールが表示されます。ブラウザは、JavaScriptの実行が有効になっている必要があります。
774
- .SS HTTPでのコマンド実行
783
+ You can access administration tool based on HTML at \fIhttp://[HOST_NAME_OR_IP_ADDRESS]:[PORT_NUMBER]/\fP after the above command is ran. Your browser must enable JavaScript.
784
+ .SS Run command with HTTP
775
785
  .sp
776
- groongaHTTPプロトコルモードで起動されているとき、「/d/コマンド名」というURLにアクセスすると、コマンドを実行することが出来ます。
786
+ You can run command at \fI/d/COMMAND_NAME\fP when groonga is ran in HTTP protocol mode.
777
787
  .sp
778
- コマンドのオプションは、HTTPGETパラメータで渡します。つまり、「?オプション=値&オプション=値 …」という書式になります。
788
+ Command options are passed as HTTP\(aqs GET parameters. They are in \fI?OPTION=VALUE&OPTION=VALUE&...\fP form.
779
789
  .sp
780
- 実行例
790
+ Execution example:
781
791
  .sp
782
792
  .nf
783
793
  .ft C
784
794
  http://[IPまたはホスト名]:[ポート番号]/d/status
785
795
  実行される処理:
786
796
  > status
787
- [[0,1308820929.085,4.9675e\-05],{"alloc_count":548,"starttime":1308820641,"uptime":288,"version":"1.2.2\-104\-gf48051d","n_queries":375,"cache_hit_rate":0.533333333333333,"command_version":1,"default_command_version":1,"max_command_version":2}]
797
+ [[0,1317212813.33982,0.000109691],{"alloc_count":184,"starttime":1317212806,"uptime":7,"version":"1.2.5\-84\-g5c190df","n_queries":14,"cache_hit_rate":0.0,"command_version":1,"default_command_version":1,"max_command_version":2}]
788
798
 
789
799
  http://[IPまたはホスト名]:[ポート番号]/d/select?table=Site&query=title:@this
790
800
  実行される処理:
791
801
  > select \-\-table Site \-\-query title:@this
792
- [[0,1308820929.28709,6.8668e\-05],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[1,"http://example.org/","This is test record 1!"]]]]
802
+ [[0,1317212813.54112,6.7993e\-05],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[1,"http://example.org/","This is test record 1!"]]]]
793
803
  .ft P
794
804
  .fi
795
- .SS セキュリティ
805
+ .SS Security
796
806
  .sp
797
- groongaのネットワークサービスにはは認証機能がありません。誰でもデータベースの内容を閲覧・修正することができます。iptablesなどを用いて、アクセス元IPアドレスを制限することを薦めます。
807
+ Network service of groonga doesn\(aqt support authentication. Everyone can view and modify the database. We recommend that you restrict client accesses by IP address. You can use iptables or any similar tool for it.
798
808
  .SS さまざまな種類をもったデータの保存
799
809
  .sp
800
810
  groongaでは、さまざまなデータを格納させることが出来ます。
@@ -804,27 +814,27 @@ groongaでは、数値(整数・小数)や文字列や時刻や経緯度な
804
814
  .sp
805
815
  ここでは、Int32型のカラムに整数を格納、Float型のカラムに浮動小数点の小数を、ShortText型のカラムに文字列を、Time型のカラムに時間を格納する例を示します。経緯度の格納については、のちのチュートリアルで触れます。
806
816
  .sp
807
- その他のデータ型の一覧は、 \fB../type\fP を参照してください。
817
+ その他のデータ型の一覧は、 \fB/type\fP を参照してください。
808
818
  .sp
809
- 実行例
819
+ Execution example:
810
820
  .sp
811
821
  .nf
812
822
  .ft C
813
823
  > table_create \-\-name Type \-\-flags TABLE_HASH_KEY \-\-key_type ShortText
814
- [[0,1308820985.62521,0.057448585],true]
824
+ [[0,1317212791.02322,0.03942904],true]
815
825
  > column_create \-\-table Type \-\-name number \-\-type Int32
816
- [[0,1308820985.88435,0.0506424],true]
826
+ [[0,1317212791.26314,0.124383285],true]
817
827
  > column_create \-\-table Type \-\-name float \-\-type Float
818
- [[0,1308820986.13667,0.06274076],true]
828
+ [[0,1317212791.58803,0.027924039],true]
819
829
  > column_create \-\-table Type \-\-name string \-\-type ShortText
830
+ [[0,1317212791.81654,0.040399047],true]
820
831
  > column_create \-\-table Type \-\-name time \-\-type Time
821
- [[0,1308820986.40111,0.207566663],true]
822
- [[0,1308820986.60872,0.060231324],true]
832
+ [[0,1317212792.05751,0.027354067],true]
823
833
  > load \-\-table Type
824
834
  > [{"_key":"sample","number":12345,"float":42.195,"string":"GROONGA","time":1234567890.12}]
825
- [[0,1308820986.87067,0.202168318],1]
835
+ [[0,1317212792.28516,0.200775839],1]
826
836
  > select \-\-table Type
827
- [[0,1308820987.27451,0.000171948],[[[1],[["_id","UInt32"],["_key","ShortText"],["time","Time"],["string","ShortText"],["number","Int32"],["float","Float"]],[1,"sample",1234567890.12,"GROONGA",12345,42.195]]]]
837
+ [[0,1317212792.68655,0.000199477],[[[1],[["_id","UInt32"],["_key","ShortText"],["time","Time"],["string","ShortText"],["number","Int32"],["float","Float"]],[1,"sample",1234567890.12,"GROONGA",12345,42.195]]]]
828
838
  .ft P
829
839
  .fi
830
840
  .SS テーブル型
@@ -837,17 +847,17 @@ table_createで作成したテーブルを、カラムの型として使うこ
837
847
  .sp
838
848
  他のテーブルを参照するカラムにデータを入力する場合には、参照先のテーブルの_keyカラムの値を代入する必要があります。
839
849
  .sp
840
- 実行例
850
+ Execution example:
841
851
  .sp
842
852
  .nf
843
853
  .ft C
844
854
  > column_create \-\-table Site \-\-name link \-\-type Site
845
- [[0,1308820987.47796,0.067493639],true]
855
+ [[0,1317212792.88872,0.060705006],true]
846
856
  > load \-\-table Site
847
857
  > [{"_key":"http://example.org/","link":"http://example.net/"}]
848
- [[0,1308820987.74711,0.201407365],1]
858
+ [[0,1317212793.14984,0.200481934],1]
849
859
  > select \-\-table Site \-\-output_columns _key,title,link._key,link.title \-\-query title:@this
850
- [[0,1308820988.15016,0.000502207],[[[1],[["_key","ShortText"],["title","ShortText"],["link._key","ShortText"],["link.title","ShortText"]],["http://example.org/","This is test record 1!","http://example.net/","test record 2."]]]]
860
+ [[0,1317212793.55084,0.000485897],[[[1],[["_key","ShortText"],["title","ShortText"],["link._key","ShortText"],["link.title","ShortText"]],["http://example.org/","This is test record 1!","http://example.net/","test record 2."]]]]
851
861
  .ft P
852
862
  .fi
853
863
  .sp
@@ -862,17 +872,17 @@ column_createコマンドでカラムを作成するとき、\-\-flagsオプシ
862
872
  .sp
863
873
  他のテーブルを参照するベクターカラムにデータを入力する場合には、参照先のテーブルの_keyカラムの値の「配列」を代入する必要があります。
864
874
  .sp
865
- 実行例
875
+ Execution example:
866
876
  .sp
867
877
  .nf
868
878
  .ft C
869
879
  > column_create \-\-table Site \-\-name links \-\-flags COLUMN_VECTOR \-\-type Site
870
- [[0,1308820988.35428,0.055857261],true]
880
+ [[0,1317212793.75262,0.049658904],true]
871
881
  > load \-\-table Site
872
882
  > [{"_key":"http://example.org/","links":["http://example.net/","http://example.org/","http://example.com/"]}]
873
- [[0,1308820988.61189,0.20152687],1]
883
+ [[0,1317212794.00274,0.200473621],1]
874
884
  > select \-\-table Site \-\-output_columns _key,title,links._key,links.title \-\-query title:@this
875
- [[0,1308820989.01506,0.000477611],[[[1],[["_key","ShortText"],["title","ShortText"],["links._key","ShortText"],["links.title","ShortText"]],["http://example.org/","This is test record 1!",["http://example.net/","http://example.org/","http://example.com/"],["test record 2.","This is test record 1!","test test record three."]]]]]
885
+ [[0,1317212794.40349,0.000384272],[[[1],[["_key","ShortText"],["title","ShortText"],["links._key","ShortText"],["links.title","ShortText"]],["http://example.org/","This is test record 1!",["http://example.net/","http://example.org/","http://example.com/"],["test record 2.","This is test record 1!","test test record three."]]]]]
876
886
  .ft P
877
887
  .fi
878
888
  .sp
@@ -884,19 +894,18 @@ groongaは、JavaScriptに似た文法での条件絞込や、計算した値を
884
894
  .sp
885
895
  selectコマンドのfilterパラメータは、queryパラメータと同様に、レコードの検索条件を指定します。filterパラメータとqueryパラメータが異なる点は、filterパラメータには、JavaScriptの式に似た文法で条件を指定する点です。
886
896
  .sp
887
- 実行例
897
+ Execution example:
888
898
  .sp
889
899
  .nf
890
900
  .ft C
891
901
  > select \-\-table Site \-\-filter "_id <= 1" \-\-output_columns _id,_key
892
- [[0,1308820947.12902,0.000234772],[[[1],[["_id","UInt32"],["_key","ShortText"]],[1,"http://example.org/"]]]]
902
+ [[0,1317212733.77852,0.000333188],[[[1],[["_id","UInt32"],["_key","ShortText"]],[1,"http://example.org/"]]]]
893
903
  .ft P
894
904
  .fi
895
905
  .sp
896
906
  ここで、filterパラメータには
897
907
  .INDENT 0.0
898
908
  .INDENT 3.5
899
- .sp
900
909
  _id <= 1
901
910
  .UNINDENT
902
911
  .UNINDENT
@@ -905,14 +914,14 @@ _id <= 1
905
914
  .sp
906
915
  また、&& や || を使って、条件のAND・OR指定をすることもできます。
907
916
  .sp
908
- 実行例
917
+ Execution example:
909
918
  .sp
910
919
  .nf
911
920
  .ft C
912
921
  > select \-\-table Site \-\-filter "_id >= 4 && _id <= 6" \-\-output_columns _id,_key
913
- [[0,1308820947.331,0.000465292],[[[3],[["_id","UInt32"],["_key","ShortText"]],[4,"http://example.net/afr"],[5,"http://example.org/aba"],[6,"http://example.com/rab"]]]]
922
+ [[0,1317212733.97986,0.000297681],[[[3],[["_id","UInt32"],["_key","ShortText"]],[4,"http://example.net/afr"],[5,"http://example.org/aba"],[6,"http://example.com/rab"]]]]
914
923
  > select \-\-table Site \-\-filter "_id <= 2 || _id >= 7" \-\-output_columns _id,_key
915
- [[0,1308820947.5341,0.00048586],[[[5],[["_id","UInt32"],["_key","ShortText"]],[1,"http://example.org/"],[2,"http://example.net/"],[7,"http://example.net/atv"],[8,"http://example.org/gat"],[9,"http://example.com/vdw"]]]]
924
+ [[0,1317212734.18118,0.000250524],[[[5],[["_id","UInt32"],["_key","ShortText"]],[1,"http://example.org/"],[2,"http://example.net/"],[7,"http://example.net/atv"],[8,"http://example.org/gat"],[9,"http://example.com/vdw"]]]]
916
925
  .ft P
917
926
  .fi
918
927
  .sp
@@ -925,14 +934,14 @@ selectコマンドのscorerパラメータは、
925
934
  filterパラメータと同様に、
926
935
  JavaScriptの式に似たな文法で様々な条件を指定することができます。
927
936
  .sp
928
- 実行例
937
+ Execution example:
929
938
  .sp
930
939
  .nf
931
940
  .ft C
932
941
  > select \-\-table Site \-\-filter "1" \-\-scorer "_score = rand()" \-\-output_columns _id,_key,_score \-\-sortby _score
933
- [[0,1308820947.7379,0.000649717],[[[9],[["_id","UInt32"],["_key","ShortText"],["_score","Int32"]],[9,"http://example.com/vdw",327254586],[6,"http://example.com/rab",498777856],[8,"http://example.org/gat",524872353],[5,"http://example.org/aba",631704567],[4,"http://example.net/afr",791698927],[2,"http://example.net/",822890675],[7,"http://example.net/atv",1255179497],[1,"http://example.org/",1469834481],[3,"http://example.com/",1610120709]]]]
942
+ [[0,1317212734.38283,0.000354558],[[[9],[["_id","UInt32"],["_key","ShortText"],["_score","Int32"]],[6,"http://example.com/rab",424238335],[9,"http://example.com/vdw",596516649],[7,"http://example.net/atv",719885386],[2,"http://example.net/",846930886],[8,"http://example.org/gat",1649760492],[3,"http://example.com/",1681692777],[4,"http://example.net/afr",1714636915],[1,"http://example.org/",1804289383],[5,"http://example.org/aba",1957747793]]]]
934
943
  > select \-\-table Site \-\-filter "1" \-\-scorer "_score = rand()" \-\-output_columns _id,_key,_score \-\-sortby _score
935
- [[0,1308820947.94322,0.000598748],[[[9],[["_id","UInt32"],["_key","ShortText"],["_score","Int32"]],[8,"http://example.org/gat",112805732],[6,"http://example.com/rab",160051528],[2,"http://example.net/",269455306],[4,"http://example.net/afr",352406219],[9,"http://example.com/vdw",1120048829],[1,"http://example.org/",1572276965],[5,"http://example.org/aba",1600028624],[3,"http://example.com/",1703964683],[7,"http://example.net/atv",2040332871]]]]
944
+ [[0,1317212734.58497,0.000350529],[[[9],[["_id","UInt32"],["_key","ShortText"],["_score","Int32"]],[4,"http://example.net/afr",783368690],[2,"http://example.net/",1025202362],[5,"http://example.org/aba",1102520059],[1,"http://example.org/",1189641421],[3,"http://example.com/",1350490027],[8,"http://example.org/gat",1365180540],[9,"http://example.com/vdw",1540383426],[7,"http://example.net/atv",1967513926],[6,"http://example.com/rab",2044897763]]]]
936
945
  .ft P
937
946
  .fi
938
947
  .sp
@@ -941,7 +950,6 @@ JavaScriptの式に似たな文法で様々な条件を指定することがで
941
950
  上記の実行例では、scorerパラメータに
942
951
  .INDENT 0.0
943
952
  .INDENT 3.5
944
- .sp
945
953
  _score = rand()
946
954
  .UNINDENT
947
955
  .UNINDENT
@@ -951,7 +959,6 @@ _score = rand()
951
959
  sortbyパラメータには、
952
960
  .INDENT 0.0
953
961
  .INDENT 3.5
954
- .sp
955
962
  _score
956
963
  .UNINDENT
957
964
  .UNINDENT
@@ -965,37 +972,47 @@ groongaでは、位置情報(経緯度)を保存することができます
965
972
  .sp
966
973
  位置情報を保存するためのカラムの型として、TokyoGeoPoint/WGS84GeoPointの2つの型があります。前者は日本測地系、後者は世界測地系(WGS84相当)の経緯度を保存します。
967
974
  .sp
968
- 経緯度をデータを入力するためには、"緯度のミリ秒x経度のミリ秒"という形式の文字列を代入する必要があります。
975
+ 経緯度は以下のいずれかの形式の文字列として指定します。
976
+ .INDENT 0.0
977
+ .IP \(bu 2
978
+ "[緯度のミリ秒]x[経度のミリ秒]"(例: "128452975x503157902")
979
+ .IP \(bu 2
980
+ "[緯度のミリ秒],[経度のミリ秒]"(例: "128452975,503157902")
981
+ .IP \(bu 2
982
+ "[緯度の小数表記の度数]x[経度の小数表記の度数]"(例: "35.6813819x139.7660839")
983
+ .IP \(bu 2
984
+ "[緯度の小数表記の度数],[経度の小数表記の度数]"(例: "35.6813819,139.7660839")
985
+ .UNINDENT
969
986
  .sp
970
- ここでは、ためしに東京駅と新宿駅とついて、世界測地系での位置情報を保存してみましょう。東京駅は緯度が35度40分52.975秒、経度が139度45分57.902秒です。新宿駅は緯度が35度41分27.316秒、経度が139度42分0.929秒です。よって、代入する文字列はそれぞれ"128452975x503157902"/"128487316x502920929"となります。
987
+ ここでは、ためしに東京駅と新宿駅とついて、世界測地系での位置情報を保存してみましょう。東京駅は緯度が35度40分52.975秒、経度が139度45分57.902秒です。新宿駅は緯度が35度41分27.316秒、経度が139度42分0.929秒です。よって、ミリ秒表記の場合はそれぞれ"128452975x503157902"/"128487316x502920929"となります。度数表記の場合はそれぞれ"35.6813819x139.7660839"/"35.6909211x139.7002581"となります。ここではミリ秒表記で登録しましょう。
971
988
  .sp
972
- 実行例
989
+ Execution example:
973
990
  .sp
974
991
  .nf
975
992
  .ft C
976
993
  > column_create \-\-table Site \-\-name location \-\-type WGS84GeoPoint
977
- [[0,1308820948.149,0.106673308],true]
994
+ [[0,1317212734.78744,0.047997601],true]
978
995
  > load \-\-table Site
979
996
  > [
980
997
  > {"_key":"http://example.org/","location":"128452975x503157902"}
981
998
  > {"_key":"http://example.net/","location":"128487316x502920929"},
982
999
  > ]
983
- [[0,1308820948.45731,0.804828624],2]
1000
+ [[0,1317212735.0361,0.801149613],2]
984
1001
  > select \-\-table Site \-\-query "_id:1 OR _id:2" \-\-output_columns _key,location
985
- [[0,1308820949.46367,0.000415883],[[[2],[["_key","ShortText"],["location","WGS84GeoPoint"]],["http://example.org/","128452975x503157902"],["http://example.net/","128487316x502920929"]]]]
1002
+ [[0,1317212736.03775,0.000261897],[[[2],[["_key","ShortText"],["location","WGS84GeoPoint"]],["http://example.org/","128452975x503157902"],["http://example.net/","128487316x502920929"]]]]
986
1003
  .ft P
987
1004
  .fi
988
1005
  .sp
989
- scorerパラメータにおいて、 \fB../functions/geo_distance\fP 関数を用いることにより、2点間の距離を計算することができます。
1006
+ scorerパラメータにおいて、 \fB/functions/geo_distance\fP 関数を用いることにより、2点間の距離を計算することができます。
990
1007
  .sp
991
1008
  ここでは、秋葉原駅からの距離を表示させてみましょう。世界測地系では、秋葉原駅の位置は緯度が35度41分55.259秒、経度が139度46分27.188秒です。よって、geo_distance関数に与える文字列は"128515259x503187188"となります。
992
1009
  .sp
993
- 実行例
1010
+ Execution example:
994
1011
  .sp
995
1012
  .nf
996
1013
  .ft C
997
1014
  > select \-\-table Site \-\-query "_id:1 OR _id:2" \-\-output_columns _key,location,_score \-\-scorer \(aq_score = geo_distance(location, "128515259x503187188")\(aq
998
- [[0,1308820949.66719,0.000579851],[[[2],[["_key","ShortText"],["location","WGS84GeoPoint"],["_score","Int32"]],["http://example.org/","128452975x503157902",2054],["http://example.net/","128487316x502920929",6720]]]]
1015
+ [[0,1317212736.23918,0.000393211],[[[2],[["_key","ShortText"],["location","WGS84GeoPoint"],["_score","Int32"]],["http://example.org/","128452975x503157902",2054],["http://example.net/","128487316x502920929",6720]]]]
999
1016
  .ft P
1000
1017
  .fi
1001
1018
  .sp
@@ -1003,27 +1020,27 @@ scorerパラメータにおいて、 \fB../functions/geo_distance\fP 関数を
1003
1020
  .sp
1004
1021
  geo_distance関数は、_scoreを通じてソートでも用いることができます。
1005
1022
  .sp
1006
- 実行例
1023
+ Execution example:
1007
1024
  .sp
1008
1025
  .nf
1009
1026
  .ft C
1010
1027
  > select \-\-table Site \-\-query "_id:1 OR _id:2" \-\-output_columns _key,location,_score \-\-scorer \(aq_score = geo_distance(location, "128515259x503187188")\(aq \-\-sortby \-_score
1011
- [[0,1308820949.87105,0.00059959],[[[2],[["_key","ShortText"],["location","WGS84GeoPoint"],["_score","Int32"]],["http://example.net/","128487316x502920929",6720],["http://example.org/","128452975x503157902",2054]]]]
1028
+ [[0,1317212736.44102,0.000345608],[[[2],[["_key","ShortText"],["location","WGS84GeoPoint"],["_score","Int32"]],["http://example.net/","128487316x502920929",6720],["http://example.org/","128452975x503157902",2054]]]]
1012
1029
  .ft P
1013
1030
  .fi
1014
1031
  .sp
1015
1032
  「ある地点から何m以内に存在する」といった絞込も可能です。
1016
1033
  .sp
1017
- filterパラメータにおいて、 \fB../functions/geo_in_circle\fP 関数を用いることにより、2点間の距離が指定のm以下におさまるかどうかを判定することができます。
1034
+ filterパラメータにおいて、 \fB/functions/geo_in_circle\fP 関数を用いることにより、2点間の距離が指定のm以下におさまるかどうかを判定することができます。
1018
1035
  .sp
1019
1036
  たとえば、秋葉原駅から5000m以内にあるレコードを検索してみましょう。
1020
1037
  .sp
1021
- 実行例
1038
+ Execution example:
1022
1039
  .sp
1023
1040
  .nf
1024
1041
  .ft C
1025
1042
  > select \-\-table Site \-\-output_columns _key,location \-\-filter \(aqgeo_in_circle(location, "128515259x503187188", 5000)\(aq
1026
- [[0,1308820950.07638,0.000388003],[[[1],[["_key","ShortText"],["location","WGS84GeoPoint"]],["http://example.org/","128452975x503157902"]]]]
1043
+ [[0,1317212736.64335,0.000245378],[[[1],[["_key","ShortText"],["location","WGS84GeoPoint"]],["http://example.org/","128452975x503157902"]]]]
1027
1044
  .ft P
1028
1045
  .fi
1029
1046
  .sp
@@ -1034,18 +1051,18 @@ groongaでは、特定のカラム値で検索結果をグループ化するこ
1034
1051
  .sp
1035
1052
  Siteテーブルに2つのカラムを追加します。TLDドメイン名を格納するdomainカラムと、国名を格納するcountryカラムです。これらのカラムの型は、それぞれドメイン名を主キーとするSiteDomainテーブルと、国名を主キーとするSiteCountryテーブルとします。
1036
1053
  .sp
1037
- 実行例
1054
+ Execution example:
1038
1055
  .sp
1039
1056
  .nf
1040
1057
  .ft C
1041
1058
  > table_create \-\-name SiteDomain \-\-flags TABLE_HASH_KEY \-\-key_type ShortText
1042
- [[0,1308821014.79373,0.08400713],true]
1059
+ [[0,1317212750.98228,0.098212593],true]
1043
1060
  > table_create \-\-name SiteCountry \-\-flags TABLE_HASH_KEY \-\-key_type ShortText
1044
- [[0,1308821015.07862,0.039604105],true]
1045
1061
  > column_create \-\-table Site \-\-name domain \-\-flags COLUMN_SCALAR \-\-type SiteDomain
1046
- [[0,1308821015.31978,0.038851776],true]
1062
+ [[0,1317212751.28095,0.256200943],true]
1063
+ [[0,1317212751.53719,0.085740621],true]
1047
1064
  > column_create \-\-table Site \-\-name country \-\-flags COLUMN_SCALAR \-\-type SiteCountry
1048
- [[0,1308821015.56016,0.038916093],true]
1065
+ [[0,1317212751.82329,0.064026147],true]
1049
1066
  > load \-\-table Site
1050
1067
  > [
1051
1068
  > {"_key":"http://example.org/","domain":".org","country":"japan"},
@@ -1058,62 +1075,62 @@ Siteテーブルに2つのカラムを追加します。TLDドメイン名を
1058
1075
  > {"_key":"http://example.org/gat","domain":".org","country":"usa"},
1059
1076
  > {"_key":"http://example.com/vdw","domain":".com","country":"japan"}
1060
1077
  > ]
1061
- [[0,1308821015.80061,2.21225519],9]
1078
+ [[0,1317212752.0878,2.202801388],9]
1062
1079
  .ft P
1063
1080
  .fi
1064
1081
  .sp
1065
1082
  domainカラムとcountryカラムでドリルダウンを行う例を以下に示します。
1066
1083
  .sp
1067
- 実行例
1084
+ Execution example:
1068
1085
  .sp
1069
1086
  .nf
1070
1087
  .ft C
1071
1088
  > select \-\-table Site \-\-limit 0 \-\-drilldown domain
1072
- [[0,1308821018.21592,0.000324538],[[[9],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["location","WGS84GeoPoint"],["links","Site"],["link","Site"],["domain","SiteDomain"],["country","SiteCountry"]]],[[3],[["_key","ShortText"],["_nsubrecs","Int32"]],[".org",3],[".net",3],[".com",3]]]]
1089
+ [[0,1317212754.4912,0.000250704],[[[9],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["location","WGS84GeoPoint"],["links","Site"],["link","Site"],["domain","SiteDomain"],["country","SiteCountry"]]],[[3],[["_key","ShortText"],["_nsubrecs","Int32"]],[".org",3],[".net",3],[".com",3]]]]
1073
1090
  .ft P
1074
1091
  .fi
1075
1092
  .sp
1076
1093
  テーブル型を持つカラムに対してドリルダウンを行った場合、参照先のテーブルに存在するカラム値を取得することもできます。ドリルダウンを行ったテーブルには、_nsubrecsという仮想的なカラムが追加されます。このカラムには、グループ化されたレコード数が入ります。
1077
1094
  .sp
1078
- 実行例
1095
+ Execution example:
1079
1096
  .sp
1080
1097
  .nf
1081
1098
  .ft C
1082
1099
  > select \-\-table Site \-\-limit 0 \-\-drilldown domain \-\-drilldown_output_columns _id,_key,_nsubrecs
1083
- [[0,1308821018.42021,0.000313807],[[[9],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["location","WGS84GeoPoint"],["links","Site"],["link","Site"],["domain","SiteDomain"],["country","SiteCountry"]]],[[3],[["_id","UInt32"],["_key","ShortText"],["_nsubrecs","Int32"]],[1,".org",3],[2,".net",3],[3,".com",3]]]]
1100
+ [[0,1317212754.69307,0.000359614],[[[9],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["location","WGS84GeoPoint"],["links","Site"],["link","Site"],["domain","SiteDomain"],["country","SiteCountry"]]],[[3],[["_id","UInt32"],["_key","ShortText"],["_nsubrecs","Int32"]],[1,".org",3],[2,".net",3],[3,".com",3]]]]
1084
1101
  .ft P
1085
1102
  .fi
1086
1103
  .sp
1087
1104
  複数のカラムに対してドリルダウンを行うことができます。複数のカラムに対してドリルダウンを行う場合には、drilldownパラメータにカラム名をカンマ区切りで与えます。
1088
1105
  .sp
1089
- 実行例
1106
+ Execution example:
1090
1107
  .sp
1091
1108
  .nf
1092
1109
  .ft C
1093
1110
  > select \-\-table Site \-\-limit 0 \-\-drilldown domain,country
1094
- [[0,1308821018.62463,0.00042405],[[[9],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["location","WGS84GeoPoint"],["links","Site"],["link","Site"],["domain","SiteDomain"],["country","SiteCountry"]]],[[3],[["_key","ShortText"],["_nsubrecs","Int32"]],[".org",3],[".net",3],[".com",3]],[[5],[["_key","ShortText"],["_nsubrecs","Int32"]],["japan",3],["brazil",1],["usa",2],["korea",1],["china",2]]]]
1111
+ [[0,1317212754.89542,0.000263258],[[[9],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["location","WGS84GeoPoint"],["links","Site"],["link","Site"],["domain","SiteDomain"],["country","SiteCountry"]]],[[3],[["_key","ShortText"],["_nsubrecs","Int32"]],[".org",3],[".net",3],[".com",3]],[[5],[["_key","ShortText"],["_nsubrecs","Int32"]],["japan",3],["brazil",1],["usa",2],["korea",1],["china",2]]]]
1095
1112
  .ft P
1096
1113
  .fi
1097
1114
  .sp
1098
1115
  ドリルダウン結果を並びかえることができます。例えば、_nsubrecsパラメータの降順で並び替えることができます。
1099
1116
  .sp
1100
- 実行例
1117
+ Execution example:
1101
1118
  .sp
1102
1119
  .nf
1103
1120
  .ft C
1104
1121
  > select \-\-table Site \-\-limit 0 \-\-drilldown country \-\-drilldown_sortby _nsubrecs
1105
- [[0,1308821018.83002,0.000406563],[[[9],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["location","WGS84GeoPoint"],["links","Site"],["link","Site"],["domain","SiteDomain"],["country","SiteCountry"]]],[[5],[["_key","ShortText"],["_nsubrecs","Int32"]],["brazil",1],["korea",1],["usa",2],["china",2],["japan",3]]]]
1122
+ [[0,1317212755.09777,0.000284575],[[[9],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["location","WGS84GeoPoint"],["links","Site"],["link","Site"],["domain","SiteDomain"],["country","SiteCountry"]]],[[5],[["_key","ShortText"],["_nsubrecs","Int32"]],["brazil",1],["korea",1],["usa",2],["china",2],["japan",3]]]]
1106
1123
  .ft P
1107
1124
  .fi
1108
1125
  .sp
1109
1126
  ドリルダウン結果は、デフォルトでは10件のみ表示されます。drilldown_offsetパラメータと、drilldown_limitパラメータによって、offsetとlimitを指定することができます。
1110
1127
  .sp
1111
- 実行例
1128
+ Execution example:
1112
1129
  .sp
1113
1130
  .nf
1114
1131
  .ft C
1115
1132
  > select \-\-table Site \-\-limit 0 \-\-drilldown country \-\-drilldown_sortby _nsubrecs \-\-drilldown_limit 2 \-\-drilldown_offset 2
1116
- [[0,1308821019.03466,0.000365367],[[[9],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["location","WGS84GeoPoint"],["links","Site"],["link","Site"],["domain","SiteDomain"],["country","SiteCountry"]]],[[5],[["_key","ShortText"],["_nsubrecs","Int32"]],["usa",2],["china",2]]]]
1133
+ [[0,1317212755.29988,0.000237191],[[[9],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["location","WGS84GeoPoint"],["links","Site"],["link","Site"],["domain","SiteDomain"],["country","SiteCountry"]]],[[5],[["_key","ShortText"],["_nsubrecs","Int32"]],["usa",2],["china",2]]]]
1117
1134
  .ft P
1118
1135
  .fi
1119
1136
  .sp
@@ -1132,20 +1149,20 @@ domainカラムとcountryカラムでドリルダウンを行う例を以下に
1132
1149
  動画の情報を保存する、Videoテーブルを作成します。Videoテーブルでは、動画のタイトルをtitleカラムに、動画のタグ情報をtagsカラムにTagテーブル型で複数格納しています。
1133
1150
  タグの情報を保存する、Tagテーブルを作成します。Tagテーブルでは、タグ文字列を主キーに格納し、Videoテーブルのtagsカラムに対するインデックスをindex_tagsカラムに格納しています。
1134
1151
  .sp
1135
- 実行例
1152
+ Execution example:
1136
1153
  .sp
1137
1154
  .nf
1138
1155
  .ft C
1139
1156
  > table_create \-\-name Video \-\-flags TABLE_HASH_KEY \-\-key_type UInt32
1140
- [[\-22,1308820912.80154,0.000455314,"already used name was assigned: <Video>",[["grn_obj_register","db.c",5938,"(stdin)",1274,"table_create \-\-name Video \-\-flags TABLE_HASH_KEY \-\-key_type UInt32"]]],false]
1157
+ [[0,1317212832.70606,0.061331715],true]
1141
1158
  > table_create \-\-name Tag \-\-flags TABLE_HASH_KEY \-\-key_type ShortText
1142
- [[\-22,1308820913.00517,0.00046206,"already used name was assigned: <Tag>",[["grn_obj_register","db.c",5938,"(stdin)",1275,"table_create \-\-name Tag \-\-flags TABLE_HASH_KEY \-\-key_type ShortText"]]],false]
1159
+ [[0,1317212832.968,0.039868236],true]
1143
1160
  > column_create \-\-table Video \-\-name title \-\-flags COLUMN_SCALAR \-\-type ShortText
1144
- [[\-22,1308820913.20848,0.000212757,"already used name was assigned: <Video.title>",[["grn_obj_register","db.c",5938,"(stdin)",1276,"column_create \-\-table Video \-\-name title \-\-flags COLUMN_SCALAR \-\-type ShortText"]]],false]
1161
+ [[0,1317212833.20833,0.040494862],true]
1145
1162
  > column_create \-\-table Video \-\-name tags \-\-flags COLUMN_VECTOR \-\-type Tag
1146
- [[\-22,1308820913.41095,0.000428695,"already used name was assigned: <Video.tags>",[["grn_obj_register","db.c",5938,"(stdin)",1277,"column_create \-\-table Video \-\-name tags \-\-flags COLUMN_VECTOR \-\-type Tag"]]],false]
1163
+ [[0,1317212833.44939,0.051861409],true]
1147
1164
  > column_create \-\-table Tag \-\-name index_tags \-\-flags COLUMN_INDEX \-\-type Video \-\-source tags
1148
- [[\-22,1308820913.61454,0.00024036,"already used name was assigned: <Tag.index_tags>",[["grn_obj_register","db.c",5938,"(stdin)",1278,"column_create \-\-table Tag \-\-name index_tags \-\-flags COLUMN_INDEX \-\-type Video \-\-source tags"]]],false]
1165
+ [[0,1317212833.70185,0.092878953],true]
1149
1166
  > load \-\-table Video
1150
1167
  > [
1151
1168
  > {"_key":1,"title":"Soccer 2010","tags":["Sports","Soccer"]},
@@ -1157,7 +1174,7 @@ domainカラムとcountryカラムでドリルダウンを行う例を以下に
1157
1174
  > {"_key":7,"title":"Draw 8 Month","tags":["Animation","Raccoon"]},
1158
1175
  > {"_key":8,"title":"K.O.","tags":["Animation","Music"]}
1159
1176
  > ]
1160
- [[0,1308820913.81791,2.009808857],8]
1177
+ [[0,1317212833.99531,2.002850011],8]
1161
1178
  .ft P
1162
1179
  .fi
1163
1180
  .sp
@@ -1165,16 +1182,16 @@ domainカラムとcountryカラムでドリルダウンを行う例を以下に
1165
1182
  .sp
1166
1183
  「ある語句が付与されている動画の一覧を取得する」検索を行いましょう。
1167
1184
  .sp
1168
- 実行例
1185
+ Execution example:
1169
1186
  .sp
1170
1187
  .nf
1171
1188
  .ft C
1172
1189
  > select \-\-table Video \-\-query tags:@Variety \-\-output_columns _key,title
1173
- [[0,1308820916.02932,0.000242814],[[[2],[["_key","UInt32"],["title","ShortText"]],[2,"Zenigata Kinjirou"],[5,"Hex Gone!"]]]]
1190
+ [[0,1317212836.19894,0.000330108],[[[2],[["_key","UInt32"],["title","ShortText"]],[2,"Zenigata Kinjirou"],[5,"Hex Gone!"]]]]
1174
1191
  > select \-\-table Video \-\-query tags:@Sports \-\-output_columns _key,title
1175
- [[0,1308820916.23053,0.000231493],[[[2],[["_key","UInt32"],["title","ShortText"]],[1,"Soccer 2010"],[4,"Moero!! Ultra Baseball"]]]]
1192
+ [[0,1317212836.39998,0.000316897],[[[2],[["_key","UInt32"],["title","ShortText"]],[1,"Soccer 2010"],[4,"Moero!! Ultra Baseball"]]]]
1176
1193
  > select \-\-table Video \-\-query tags:@Animation \-\-output_columns _key,title
1177
- [[0,1308820916.43258,0.000233013],[[[3],[["_key","UInt32"],["title","ShortText"]],[6,"Pikonyan 1"],[7,"Draw 8 Month"],[8,"K.O."]]]]
1194
+ [[0,1317212836.60111,0.000349157],[[[3],[["_key","UInt32"],["title","ShortText"]],[6,"Pikonyan 1"],[7,"Draw 8 Month"],[8,"K.O."]]]]
1178
1195
  .ft P
1179
1196
  .fi
1180
1197
  .sp
@@ -1187,18 +1204,18 @@ groongaはテーブル間の参照関係の逆引きを高速に行うための
1187
1204
  .sp
1188
1205
  以下の例では、ユーザー情報を格納するUserテーブルを作成し、ユーザー名を格納するusernameカラム、ユーザーの友人一覧を配列で格納するfriendsカラムとそのインデックスのindex_friendsカラムを追加しています。
1189
1206
  .sp
1190
- 実行例
1207
+ Execution example:
1191
1208
  .sp
1192
1209
  .nf
1193
1210
  .ft C
1194
1211
  > table_create \-\-name User \-\-flags TABLE_HASH_KEY \-\-key_type ShortText
1195
- [[\-22,1308820916.63478,0.000187163,"already used name was assigned: <User>",[["grn_obj_register","db.c",5938,"(stdin)",1293,"table_create \-\-name User \-\-flags TABLE_HASH_KEY \-\-key_type ShortText"]]],false]
1212
+ [[0,1317212836.80268,0.048923839],true]
1196
1213
  > column_create \-\-table User \-\-name username \-\-flags COLUMN_SCALAR \-\-type ShortText
1197
- [[\-22,1308820916.8372,0.000179938,"already used name was assigned: <User.username>",[["grn_obj_register","db.c",5938,"(stdin)",1294,"column_create \-\-table User \-\-name username \-\-flags COLUMN_SCALAR \-\-type ShortText"]]],false]
1214
+ [[0,1317212837.05226,0.040322616],true]
1198
1215
  > column_create \-\-table User \-\-name friends \-\-flags COLUMN_VECTOR \-\-type User
1199
- [[\-22,1308820917.03936,0.000393764,"already used name was assigned: <User.friends>",[["grn_obj_register","db.c",5938,"(stdin)",1295,"column_create \-\-table User \-\-name friends \-\-flags COLUMN_VECTOR \-\-type User"]]],false]
1216
+ [[0,1317212837.29306,0.039978793],true]
1200
1217
  > column_create \-\-table User \-\-name index_friends \-\-flags COLUMN_INDEX \-\-type User \-\-source friends
1201
- [[\-22,1308820917.24229,0.00020492,"already used name was assigned: <User.index_friends>",[["grn_obj_register","db.c",5938,"(stdin)",1296,"column_create \-\-table User \-\-name index_friends \-\-flags COLUMN_INDEX \-\-type User \-\-source friends"]]],false]
1218
+ [[0,1317212837.53369,0.067271637],true]
1202
1219
  > load \-\-table User
1203
1220
  > [
1204
1221
  > {"_key":"ken","username":"健作","friends":["taro","jiro","tomo","moritapo"]}
@@ -1208,31 +1225,31 @@ groongaはテーブル間の参照関係の逆引きを高速に行うための
1208
1225
  > {"_key":"tomo","username":"トモちゃん","friends":["ken","hana"]}
1209
1226
  > {"_key":"hana","username":"花子","friends":["ken","taro","jiro","moritapo","tomo"]}
1210
1227
  > ]
1211
- [[0,1308820917.44495,1.609341731],6]
1228
+ [[0,1317212837.80152,1.602221355],6]
1212
1229
  .ft P
1213
1230
  .fi
1214
1231
  .sp
1215
1232
  指定したユーザーを友人リストに入れているユーザーの一覧を表示してみましょう。
1216
1233
  .sp
1217
- 実行例
1234
+ Execution example:
1218
1235
  .sp
1219
1236
  .nf
1220
1237
  .ft C
1221
1238
  > select \-\-table User \-\-query friends:@tomo \-\-output_columns _key,username
1222
- [[0,1308820919.25622,0.000551379],[[[5],[["_key","ShortText"],["username","ShortText"]],["ken","健作"],["taro","ぐるんが太郎"],["jiro","ぐるんが次郎"],["moritapo","森田"],["hana","花子"]]]]
1239
+ [[0,1317212839.60442,0.000260617],[[[5],[["_key","ShortText"],["username","ShortText"]],["ken","健作"],["taro","ぐるんが太郎"],["jiro","ぐるんが次郎"],["moritapo","森田"],["hana","花子"]]]]
1223
1240
  > select \-\-table User \-\-query friends:@jiro \-\-output_columns _key,username
1224
- [[0,1308820919.46056,0.000443467],[[[3],[["_key","ShortText"],["username","ShortText"]],["ken","健作"],["taro","ぐるんが太郎"],["hana","花子"]]]]
1241
+ [[0,1317212839.80577,0.000253172],[[[3],[["_key","ShortText"],["username","ShortText"]],["ken","健作"],["taro","ぐるんが太郎"],["hana","花子"]]]]
1225
1242
  .ft P
1226
1243
  .fi
1227
1244
  .sp
1228
1245
  さらに、ドリルダウンを使って、友人リストに入っている数の一覧を表示してみましょう。
1229
1246
  .sp
1230
- 実行例
1247
+ Execution example:
1231
1248
  .sp
1232
1249
  .nf
1233
1250
  .ft C
1234
1251
  > select \-\-table User \-\-limit 0 \-\-drilldown friends
1235
- [[0,1308820919.66284,0.000254632],[[[6],[["_id","UInt32"],["_key","ShortText"],["username","ShortText"],["index_friends","User"],["friends","User"]]],[[6],[["_key","ShortText"],["_nsubrecs","Int32"]],["taro",3],["jiro",3],["tomo",5],["moritapo",2],["ken",3],["hana",1]]]]
1252
+ [[0,1317212840.00717,0.000223187],[[[6],[["_id","UInt32"],["_key","ShortText"],["username","ShortText"],["index_friends","User"],["friends","User"]]],[[6],[["_key","ShortText"],["_nsubrecs","Int32"]],["taro",3],["jiro",3],["tomo",5],["moritapo",2],["ken",3],["hana",1]]]]
1236
1253
  .ft P
1237
1254
  .fi
1238
1255
  .sp
@@ -1241,33 +1258,33 @@ groongaはテーブル間の参照関係の逆引きを高速に行うための
1241
1258
  .sp
1242
1259
  位置情報のカラムに対して、インデックスを付与することが出来ます。大量の位置情報レコードを検索する場合に、検索速度が速くなります。
1243
1260
  .sp
1244
- 実行例
1261
+ Execution example:
1245
1262
  .sp
1246
1263
  .nf
1247
1264
  .ft C
1248
1265
  > table_create \-\-name GeoIndex \-\-flags TABLE_PAT_KEY \-\-key_type WGS84GeoPoint
1249
- [[0,1308820919.86871,0.074996815],true]
1266
+ [[0,1317212840.20962,0.088534001],true]
1250
1267
  > column_create \-\-table GeoIndex \-\-name index_point \-\-type Site \-\-flags COLUMN_INDEX \-\-source location
1251
- [[0,1308820920.14512,0.125822381],true]
1268
+ [[0,1317212840.49869,0.093704431],true]
1252
1269
  > load \-\-table Site
1253
1270
  > [
1254
1271
  > {"_key":"http://example.org/","location":"128452975x503157902"},
1255
1272
  > {"_key":"http://example.net/","location":"128487316x502920929"}
1256
1273
  > ]
1257
- [[0,1308820920.47239,0.80439359],2]
1274
+ [[0,1317212840.79332,0.801438285],2]
1258
1275
  > select \-\-table Site \-\-filter \(aqgeo_in_circle(location, "128515259x503187188", 5000)\(aq \-\-output_columns _key,location
1259
- [[0,1308820921.4776,0.000305925],[[[1],[["_key","ShortText"],["location","WGS84GeoPoint"]],["http://example.org/","128452975x503157902"]]]]
1276
+ [[0,1317212841.79563,0.000626003],[[[1],[["_key","ShortText"],["location","WGS84GeoPoint"]],["http://example.org/","128452975x503157902"]]]]
1260
1277
  .ft P
1261
1278
  .fi
1262
1279
  .sp
1263
1280
  同様に、位置情報レコードを用いてソートする場合に、ソート速度が速くなります。
1264
1281
  .sp
1265
- 実行例
1282
+ Execution example:
1266
1283
  .sp
1267
1284
  .nf
1268
1285
  .ft C
1269
1286
  > select \-\-table Site \-\-filter \(aqgeo_in_circle(location, "128515259x503187188", 50000)\(aq \-\-output_columns _key,location,_score \-\-sortby \(aq\-geo_distance(location, "128515259x503187188")\(aq \-\-scorer \(aq_score = geo_distance(location, "128515259x503187188")\(aq
1270
- [[0,1308820921.67976,0.00036066],[[[2],[["_key","ShortText"],["location","WGS84GeoPoint"],["_score","Int32"]],["http://example.org/","128452975x503157902",2054],["http://example.net/","128487316x502920929",6720]]]]
1287
+ [[0,1317212841.99878,0.0011657],[[[2],[["_key","ShortText"],["location","WGS84GeoPoint"],["_score","Int32"]],["http://example.org/","128452975x503157902",2054],["http://example.net/","128487316x502920929",6720]]]]
1271
1288
  .ft P
1272
1289
  .fi
1273
1290
  .SS match_columnsパラメータ
@@ -1281,29 +1298,29 @@ groongaでは、複数のカラムを対象とした全文検索を行うこと
1281
1298
  Blog1テーブルを作り、タイトル文字列のtitleカラム、本文のmessageカラムを追加しています。
1282
1299
  インデックス用のIndexBlog1テーブルも作り、titleカラムのインデックス用にindex_titleカラム、messageカラムのインデック用にindex_messageカラムと、それぞれ1カラムごとに1つずつ追加しています。
1283
1300
  .sp
1284
- 実行例
1301
+ Execution example:
1285
1302
  .sp
1286
1303
  .nf
1287
1304
  .ft C
1288
1305
  > table_create \-\-name Blog1 \-\-flags TABLE_HASH_KEY \-\-key_type ShortText
1289
- [[0,1308820990.03354,0.035673804],true]
1306
+ [[0,1317212795.41036,0.047939793],true]
1290
1307
  > column_create \-\-table Blog1 \-\-name title \-\-flags COLUMN_SCALAR \-\-type ShortText
1291
- [[0,1308820990.27064,0.039038327],true]
1308
+ [[0,1317212795.65884,0.040658195],true]
1292
1309
  > column_create \-\-table Blog1 \-\-name message \-\-flags COLUMN_SCALAR \-\-type ShortText
1293
- [[0,1308820990.51063,0.02746529],true]
1310
+ [[0,1317212795.89978,0.029458384],true]
1294
1311
  > table_create \-\-name IndexBlog1 \-\-flags TABLE_PAT_KEY|KEY_NORMALIZE \-\-key_type ShortText \-\-default_tokenizer TokenBigram
1295
- [[0,1308820990.73983,0.050621344],true]
1312
+ [[0,1317212796.12974,0.183567683],true]
1296
1313
  > column_create \-\-table IndexBlog1 \-\-name index_title \-\-flags COLUMN_INDEX|WITH_POSITION \-\-type Blog1 \-\-source title
1297
- [[0,1308820990.99215,0.0775106330000001],true]
1314
+ [[0,1317212796.51381,0.092148792],true]
1298
1315
  > column_create \-\-table IndexBlog1 \-\-name index_message \-\-flags COLUMN_INDEX|WITH_POSITION \-\-type Blog1 \-\-source message
1316
+ [[0,1317212796.80646,0.088690675],true]
1299
1317
  > load \-\-table Blog1
1300
- [[0,1308820991.2714,0.374852452],true]
1301
1318
  > [
1302
1319
  > {"_key":"grn1","title":"groonga test","message":"groonga message"},
1303
1320
  > {"_key":"grn2","title":"baseball result","message":"rakutan eggs 4 \- 4 groonga moritars"},
1304
1321
  > {"_key":"grn3","title":"groonga message","message":"none"}
1305
1322
  > ]
1306
- [[0,1308820991.64629,1.006391124],3]
1323
+ [[0,1317212797.09575,1.001254761],3]
1307
1324
  .ft P
1308
1325
  .fi
1309
1326
  .sp
@@ -1311,16 +1328,16 @@ match_columnsオプションで、検索対象のカラムを複数指定する
1311
1328
  .sp
1312
1329
  実際に検索してみましょう。
1313
1330
  .sp
1314
- 実行例
1331
+ Execution example:
1315
1332
  .sp
1316
1333
  .nf
1317
1334
  .ft C
1318
1335
  > select \-\-table Blog1 \-\-match_columns title||message \-\-query groonga
1319
- [[0,1308820992.85475,0.000567046],[[[3],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["message","ShortText"]],[1,"grn1","groonga test","groonga message"],[3,"grn3","groonga message","none"],[2,"grn2","baseball result","rakutan eggs 4 \- 4 groonga moritars"]]]]
1336
+ [[0,1317212798.29761,0.000365318],[[[3],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["message","ShortText"]],[1,"grn1","groonga test","groonga message"],[3,"grn3","groonga message","none"],[2,"grn2","baseball result","rakutan eggs 4 \- 4 groonga moritars"]]]]
1320
1337
  > select \-\-table Blog1 \-\-match_columns title||message \-\-query message
1321
- [[0,1308820993.05879,0.000509674],[[[2],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["message","ShortText"]],[3,"grn3","groonga message","none"],[1,"grn1","groonga test","groonga message"]]]]
1338
+ [[0,1317212798.49954,0.000310648],[[[2],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["message","ShortText"]],[3,"grn3","groonga message","none"],[1,"grn1","groonga test","groonga message"]]]]
1322
1339
  > select \-\-table Blog1 \-\-match_columns title \-\-query message
1323
- [[0,1308820993.26226,0.000493886],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["message","ShortText"]],[3,"grn3","groonga message","none"]]]]
1340
+ [[0,1317212798.70102,0.000314581],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["message","ShortText"]],[3,"grn3","groonga message","none"]]]]
1324
1341
  .ft P
1325
1342
  .fi
1326
1343
  .SS 複数のカラムにまたがったインデックスを付与する場合
@@ -1329,42 +1346,42 @@ match_columnsオプションで、検索対象のカラムを複数指定する
1329
1346
  .sp
1330
1347
  共通のインデックスを用いても、titleカラムのみでの検索、messageカラムのみでの検索、titleもしくはmessageカラムでの検索、全ての検索を行うことができます。
1331
1348
  .sp
1332
- 実行例
1349
+ Execution example:
1333
1350
  .sp
1334
1351
  .nf
1335
1352
  .ft C
1336
1353
  > table_create \-\-name Blog2 \-\-flags TABLE_HASH_KEY \-\-key_type ShortText
1337
- [[0,1308820993.46608,0.05057593],true]
1354
+ [[0,1317212798.90253,0.052986511],true]
1338
1355
  > column_create \-\-table Blog2 \-\-name title \-\-flags COLUMN_SCALAR \-\-type ShortText
1339
- [[0,1308820993.71836,0.038892177],true]
1356
+ [[0,1317212799.156,0.028355347],true]
1340
1357
  > column_create \-\-table Blog2 \-\-name message \-\-flags COLUMN_SCALAR \-\-type ShortText
1341
- [[0,1308820993.95896,0.050752981],true]
1358
+ [[0,1317212799.38486,0.040142104],true]
1342
1359
  > table_create \-\-name IndexBlog2 \-\-flags TABLE_PAT_KEY|KEY_NORMALIZE \-\-key_type ShortText \-\-default_tokenizer TokenBigram
1343
- [[0,1308820994.21131,0.038689527],true]
1360
+ [[0,1317212799.62539,0.039673533],true]
1344
1361
  > column_create \-\-table IndexBlog2 \-\-name index_blog \-\-flags COLUMN_INDEX|WITH_POSITION|WITH_SECTION \-\-type Blog2 \-\-source title,message
1345
- [[0,1308820994.45174,0.089530422],true]
1362
+ [[0,1317212799.86551,0.079790187],true]
1346
1363
  > load \-\-table Blog2
1347
1364
  > [
1348
1365
  > {"_key":"grn1","title":"groonga test","message":"groonga message"},
1349
1366
  > {"_key":"grn2","title":"baseball result","message":"rakutan eggs 4 \- 4 groonga moritars"},
1350
1367
  > {"_key":"grn3","title":"groonga message","message":"none"}
1351
1368
  > ]
1352
- [[0,1308820994.74295,1.006034383],3]
1369
+ [[0,1317212800.14589,1.001367315],3]
1353
1370
  .ft P
1354
1371
  .fi
1355
1372
  .sp
1356
1373
  実際に検索してみましょう。結果は上の例と同じになります。
1357
1374
  .sp
1358
- 実行例
1375
+ Execution example:
1359
1376
  .sp
1360
1377
  .nf
1361
1378
  .ft C
1362
1379
  > select \-\-table Blog2 \-\-match_columns title||message \-\-query groonga
1363
- [[0,1308820995.95094,0.000554864],[[[3],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["message","ShortText"]],[1,"grn1","groonga test","groonga message"],[2,"grn2","baseball result","rakutan eggs 4 \- 4 groonga moritars"],[3,"grn3","groonga message","none"]]]]
1380
+ [[0,1317212801.34801,0.000328232],[[[3],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["message","ShortText"]],[1,"grn1","groonga test","groonga message"],[2,"grn2","baseball result","rakutan eggs 4 \- 4 groonga moritars"],[3,"grn3","groonga message","none"]]]]
1364
1381
  > select \-\-table Blog2 \-\-match_columns title||message \-\-query message
1365
- [[0,1308820996.1552,0.000481635],[[[2],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["message","ShortText"]],[1,"grn1","groonga test","groonga message"],[3,"grn3","groonga message","none"]]]]
1382
+ [[0,1317212801.54962,0.000320935],[[[2],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["message","ShortText"]],[1,"grn1","groonga test","groonga message"],[3,"grn3","groonga message","none"]]]]
1366
1383
  > select \-\-table Blog2 \-\-match_columns title \-\-query message
1367
- [[0,1308820996.35865,0.000473223],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["message","ShortText"]],[3,"grn3","groonga message","none"]]]]
1384
+ [[0,1317212801.75107,0.000323124],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["message","ShortText"]],[3,"grn3","groonga message","none"]]]]
1368
1385
  .ft P
1369
1386
  .fi
1370
1387
  .SS インデックス名を指定した全文検索
@@ -1373,28 +1390,28 @@ match_columnsオプションで、検索対象のカラムを複数指定する
1373
1390
  .SS インデックスの重み
1374
1391
  .sp
1375
1392
  執筆中です。
1376
- .SS 主キーによる前方一致検索
1393
+ .SS パトリシア木による前方一致検索
1377
1394
  .sp
1378
1395
  groongaのテーブルは、テーブル作成時にパトリシア木オプションを指定すると、前方一致検索を行うことができます。また、追加のオプションを指定することにより、主キーの後方一致検索をも行うことができます。
1379
1396
  .SS 主キーによる前方一致検索
1380
1397
  .sp
1381
1398
  table_createコマンドのflagsオプションにTABLE_PAT_KEYを指定することで、主キーによる前方一致検索ができるようになります。
1382
1399
  .sp
1383
- 実行例
1400
+ Execution example:
1384
1401
  .sp
1385
1402
  .nf
1386
1403
  .ft C
1387
1404
  > table_create \-\-name PatPrefix \-\-flags TABLE_PAT_KEY \-\-key_type ShortText
1388
- [[0,1308820996.96716,0.044653865],true]
1405
+ [[0,1317212719.34619,0.047490604],true]
1389
1406
  > load \-\-table PatPrefix
1390
1407
  > [
1391
1408
  > {"_key":"ひろゆき"},
1392
1409
  > {"_key":"まろゆき"},
1393
1410
  > {"_key":"ひろあき"}
1394
1411
  > ]
1395
- [[0,1308820997.21348,1.005917803],3]
1412
+ [[0,1317212719.59456,1.001406593],3]
1396
1413
  > select \-\-table PatPrefix \-\-query _key:@ひろ
1397
- [[0,1308820998.42103,0.000401963],[[[2],[["_id","UInt32"],["_key","ShortText"]],[3,"ひろあき"],[1,"ひろゆき"]]]]
1414
+ [[0,1317212720.79648,0.00031203],[[[2],[["_id","UInt32"],["_key","ShortText"]],[3,"ひろあき"],[1,"ひろゆき"]]]]
1398
1415
  .ft P
1399
1416
  .fi
1400
1417
  .SS 主キーによる後方一致検索
@@ -1405,25 +1422,25 @@ KEY_WITH_SISフラグを付与すると、データを追加する際に後方
1405
1422
  .sp
1406
1423
  例えば、元のレコードと自動的に追加されたレコードとの区別をつけるために、元のレコードであることを示すoriginalカラムを追加して、検索時にはoriginalカラムが \fBtrue\fP も検索条件に加えます。
1407
1424
  .sp
1408
- 実行例
1425
+ Execution example:
1409
1426
  .sp
1410
1427
  .nf
1411
1428
  .ft C
1412
1429
  > table_create \-\-name PatSuffix \-\-flags TABLE_PAT_KEY|KEY_WITH_SIS \-\-key_type ShortText
1413
- [[0,1308820998.62409,0.056108533],true]
1430
+ [[0,1317212720.99778,0.0531648179999999],true]
1414
1431
  > column_create \-\-table PatSuffix \-\-name original \-\-type Bool
1415
- [[0,1308820998.8819,0.038650376],true]
1432
+ [[0,1317212721.25163,0.099479727],true]
1416
1433
  > load \-\-table PatSuffix
1417
1434
  > [
1418
1435
  > {"_key":"ひろゆき","original":true},
1419
1436
  > {"_key":"まろゆき","original":true},
1420
1437
  > {"_key":"ひろあき","original":true}
1421
1438
  > ]
1422
- [[0,1308820999.12224,1.0055318],3]
1439
+ [[0,1317212721.55167,1.001449341],3]
1423
1440
  > select \-\-table PatSuffix \-\-query _key:@ゆき
1424
- [[0,1308821000.32928,0.000440379],[[[4],[["_id","UInt32"],["_key","ShortText"],["original","Bool"]],[1,"ひろゆき",true],[5,"まろゆき",true],[3,"ゆき",false],[2,"ろゆき",false]]]]
1441
+ [[0,1317212722.75369,0.000313623],[[[4],[["_id","UInt32"],["_key","ShortText"],["original","Bool"]],[1,"ひろゆき",true],[5,"まろゆき",true],[3,"ゆき",false],[2,"ろゆき",false]]]]
1425
1442
  > select \-\-table PatSuffix \-\-query "_key:@ゆき original:true"
1426
- [[0,1308821000.5325,0.000412256],[[[2],[["_id","UInt32"],["_key","ShortText"],["original","Bool"]],[1,"ひろゆき",true],[5,"まろゆき",true]]]]
1443
+ [[0,1317212722.95502,0.00032577],[[[2],[["_id","UInt32"],["_key","ShortText"],["original","Bool"]],[1,"ひろゆき",true],[5,"まろゆき",true]]]]
1427
1444
  .ft P
1428
1445
  .fi
1429
1446
  .SS 全文検索の語彙表に対する追加情報
@@ -1474,35 +1491,27 @@ column_create \-\-table Bigram \-\-name comment_index \-\-flags COLUMN_INDEX|WIT
1474
1491
  .INDENT 0.0
1475
1492
  .TP
1476
1493
  .B \fB_key\fP
1477
- .sp
1478
1494
  ユーザーID
1479
1495
  .TP
1480
1496
  .B \fBname\fP
1481
- .sp
1482
1497
  ユーザー名
1483
1498
  .TP
1484
1499
  .B \fBfollower\fP
1485
- .sp
1486
1500
  フォローしているユーザーの一覧
1487
1501
  .TP
1488
1502
  .B \fBfavorites\fP
1489
- .sp
1490
1503
  お気に入りのコメント一覧
1491
1504
  .TP
1492
1505
  .B \fBlocation\fP
1493
- .sp
1494
1506
  ユーザーの現在地(緯度経度座標)
1495
1507
  .TP
1496
1508
  .B \fBlocation_str\fP
1497
- .sp
1498
1509
  ユーザーの現在地(文字列)
1499
1510
  .TP
1500
1511
  .B \fBdescription\fP
1501
- .sp
1502
1512
  ユーザーの自己紹介
1503
1513
  .TP
1504
1514
  .B \fBfollowee\fP
1505
- .sp
1506
1515
  Usersテーブルのfollowerカラムに対するインデックス。
1507
1516
  このインデックスを作ることで、あるユーザーをフォローしているユーザーを検索できるようになります。
1508
1517
  .UNINDENT
@@ -1512,39 +1521,30 @@ Usersテーブルのfollowerカラムに対するインデックス。
1512
1521
  .INDENT 0.0
1513
1522
  .TP
1514
1523
  .B \fB_key\fP
1515
- .sp
1516
1524
  コメントID
1517
1525
  .TP
1518
1526
  .B \fBcomment\fP
1519
- .sp
1520
1527
  コメント内容
1521
1528
  .TP
1522
1529
  .B \fBlast_modified\fP
1523
- .sp
1524
1530
  投稿日時
1525
1531
  .TP
1526
1532
  .B \fBreplied_to\fP
1527
- .sp
1528
1533
  返信元のコメント内容
1529
1534
  .TP
1530
1535
  .B \fBreplied_users\fP
1531
- .sp
1532
1536
  返信先のユーザーの一覧
1533
1537
  .TP
1534
1538
  .B \fBhash_tags\fP
1535
- .sp
1536
1539
  コメントのハッシュタグの一覧
1537
1540
  .TP
1538
1541
  .B \fBlocation\fP
1539
- .sp
1540
1542
  投稿場所(緯度経度座標のため)
1541
1543
  .TP
1542
1544
  .B \fBposted_by\fP
1543
- .sp
1544
1545
  コメントを書いたユーザー
1545
1546
  .TP
1546
1547
  .B \fBfavorited_by\fP
1547
- .sp
1548
1548
  Usersテーブルのfavoritesカラムに対するインデックス。
1549
1549
  このインデックスを作ることで、指定したコメントを誰がお気に入りに入れているのかを検索できるようになります。
1550
1550
  .UNINDENT
@@ -1554,11 +1554,9 @@ Usersテーブルのfavoritesカラムに対するインデックス。
1554
1554
  .INDENT 0.0
1555
1555
  .TP
1556
1556
  .B \fB_key\fP
1557
- .sp
1558
1557
  ハッシュタグ
1559
1558
  .TP
1560
1559
  .B \fBhash_index\fP
1561
- .sp
1562
1560
  「Comments.hash_tags」のインデックス。
1563
1561
  このインデックスを作ることで、指定したハッシュタグのついているコメントの一覧を出すことが出来るようになります。
1564
1562
  .UNINDENT
@@ -1568,16 +1566,13 @@ Usersテーブルのfavoritesカラムに対するインデックス。
1568
1566
  .INDENT 0.0
1569
1567
  .TP
1570
1568
  .B \fB_key\fP
1571
- .sp
1572
1569
  単語
1573
1570
  .TP
1574
1571
  .B \fBusers_index\fP
1575
- .sp
1576
1572
  ユーザー情報のインデックス。
1577
1573
  このカラムは、ユーザー名「Users.name」、現在地「Users.location_str」、自己紹介文「Users.description」のインデックスになっています。
1578
1574
  .TP
1579
1575
  .B \fBcomment_index\fP
1580
- .sp
1581
1576
  コメント内容「Comments.comment」のインデックス
1582
1577
  .UNINDENT
1583
1578
  .SS データのロード
@@ -1692,45 +1687,45 @@ Commentsテーブルのlast_modifiedカラムは、Time型です。この型で
1692
1687
  それでは、実際に検索をしてみましょう。
1693
1688
  .SS キーワードでユーザー検索
1694
1689
  .sp
1695
- ここでは、 \fBtutorial07\fP で扱った、複数カラムを対象とした検索を行います。
1690
+ ここでは、 \fBmatch_columns\fP で扱った、複数カラムを対象とした検索を行います。
1696
1691
  指定された文字列で、ユーザー名・現在地・自己紹介文を対象に検索をします。
1697
1692
  .sp
1698
- 実行例
1693
+ Execution example:
1699
1694
  .sp
1700
1695
  .nf
1701
1696
  .ft C
1702
1697
  > select \-\-table Users \-\-match_columns name,location_str,description \-\-query 東京 \-\-output_columns _key,name
1703
- [[0,1308820976.45769,0.000541951],[[[2],[["_key","ShortText"],["name","ShortText"]],["tasukuchan","グニャラくん"],["OffGao","OffGao"]]]]
1698
+ [[0,1317212781.80175,0.000302755],[[[2],[["_key","ShortText"],["name","ShortText"]],["tasukuchan","グニャラくん"],["OffGao","OffGao"]]]]
1704
1699
  .ft P
1705
1700
  .fi
1706
1701
  .sp
1707
1702
  「東京」をキーワードにユーザー検索した結果、東京都に住んでいる「グニャラくん」と「OffGao」がヒットしました。
1708
1703
  .SS GeoPointでユーザー検索
1709
1704
  .sp
1710
- ここでは、 \fBtutorial04\fP で扱った、GeoPoint型のカラムで検索をします。
1705
+ ここでは、 \fBsearch\fP で扱った、GeoPoint型のカラムで検索をします。
1711
1706
  以下の例では、指定された位置から5000m以内にいるユーザーを検索しています。
1712
1707
  .sp
1713
- 実行例
1708
+ Execution example:
1714
1709
  .sp
1715
1710
  .nf
1716
1711
  .ft C
1717
1712
  > select \-\-table Users \-\-filter \(aqgeo_in_circle(location,"128484216x502919856",5000)\(aq \-\-output_columns _key,name
1718
- [[0,1308820976.66084,0.000278696],[[[2],[["_key","ShortText"],["name","ShortText"]],["tasukuchan","グニャラくん"],["OffGao","OffGao"]]]]
1713
+ [[0,1317212782.00321,0.000241271],[[[2],[["_key","ShortText"],["name","ShortText"]],["tasukuchan","グニャラくん"],["OffGao","OffGao"]]]]
1719
1714
  .ft P
1720
1715
  .fi
1721
1716
  .sp
1722
1717
  新宿駅から5km以内にすんでいるユーザーを検索したところ、「グニャラくん」と「OffGao」がヒットしました。
1723
1718
  .SS あるユーザーをフォローしているユーザーの検索
1724
1719
  .sp
1725
- ここでは、 \fBtutorial06\fP で扱った、参照関係の逆引きをします。
1720
+ ここでは、 \fBindex\fP で扱った、参照関係の逆引きをします。
1726
1721
  以下の例では、Usersテーブルのfollowerカラムにあるフォローリストを逆引きします。
1727
1722
  .sp
1728
- 実行例
1723
+ Execution example:
1729
1724
  .sp
1730
1725
  .nf
1731
1726
  .ft C
1732
1727
  > select \-\-table Users \-\-query follower:@tasukuchan \-\-output_columns _key,name
1733
- [[0,1308820976.86282,0.000287394],[[[2],[["_key","ShortText"],["name","ShortText"]],["daijiro","hsiomaneki"],["OffGao","OffGao"]]]]
1728
+ [[0,1317212782.20472,0.000231885],[[[2],[["_key","ShortText"],["name","ShortText"]],["daijiro","hsiomaneki"],["OffGao","OffGao"]]]]
1734
1729
  .ft P
1735
1730
  .fi
1736
1731
  .sp
@@ -1738,14 +1733,14 @@ Commentsテーブルのlast_modifiedカラムは、Time型です。この型で
1738
1733
  .SS GeoPointでコメント検索
1739
1734
  .sp
1740
1735
  ある範囲内で書かれたコメントを検索します。
1741
- また、 \fBtutorial05\fP で扱ったドリルダウンも行います。検索結果をハッシュタグとユーザーでドリルダウンし、ユーザー別・ハッシュタグ別のカウントを出します。
1736
+ また、 \fBdrilldown\fP で扱ったドリルダウンも行います。検索結果をハッシュタグとユーザーでドリルダウンし、ユーザー別・ハッシュタグ別のカウントを出します。
1742
1737
  .sp
1743
- 実行例
1738
+ Execution example:
1744
1739
  .sp
1745
1740
  .nf
1746
1741
  .ft C
1747
1742
  > select \-\-table Comments \-\-filter \(aqgeo_in_circle(location,"127975798x502919856",20000)\(aq \-\-output_columns posted_by.name,comment \-\-drilldown hash_tags,posted_by
1748
- [[0,1308820977.06572,0.000719797],[[[4],[["posted_by.name","ShortText"],["comment","ShortText"]],["OffGao","@daijiro @tasukuchan 登録してみましたよー!"],["グニャラくん","groongaなう #groonga"],["グニャラくん","groonga開発合宿のため羽田空港に来ました! #groonga #travel"],["OffGao","中野ブロードウェイなうなう"]],[[2],[["_key","ShortText"],["_nsubrecs","Int32"]],["groonga",2],["travel",1]],[[2],[["_key","ShortText"],["_nsubrecs","Int32"]],["OffGao",2],["tasukuchan",2]]]]
1743
+ [[0,1317212782.40617,0.000451828],[[[4],[["posted_by.name","ShortText"],["comment","ShortText"]],["OffGao","@daijiro @tasukuchan 登録してみましたよー!"],["グニャラくん","groongaなう #groonga"],["グニャラくん","groonga開発合宿のため羽田空港に来ました! #groonga #travel"],["OffGao","中野ブロードウェイなうなう"]],[[2],[["_key","ShortText"],["_nsubrecs","Int32"]],["groonga",2],["travel",1]],[[2],[["_key","ShortText"],["_nsubrecs","Int32"]],["OffGao",2],["tasukuchan",2]]]]
1749
1744
  .ft P
1750
1745
  .fi
1751
1746
  .sp
@@ -1753,14 +1748,14 @@ Commentsテーブルのlast_modifiedカラムは、Time型です。この型で
1753
1748
  .SS キーワードでコメント検索
1754
1749
  .sp
1755
1750
  あるキーワードを含むコメントを検索します。
1756
- さらに、 \fBtutorial04\fP で扱った、スコア値_scoreも出してみましょう。
1751
+ さらに、 \fBsearch\fP で扱った、スコア値_scoreも出してみましょう。
1757
1752
  .sp
1758
- 実行例
1753
+ Execution example:
1759
1754
  .sp
1760
1755
  .nf
1761
1756
  .ft C
1762
1757
  > select \-\-table Comments \-\-query comment:@なう \-\-output_columns comment,_score
1763
- [[0,1308820977.27259,0.000430023],[[[2],[["comment","ShortText"],["_score","Int32"]],["groongaなう #groonga",1],["中野ブロードウェイなうなう",2]]]]
1758
+ [[0,1317212782.60919,0.000239996],[[[2],[["comment","ShortText"],["_score","Int32"]],["groongaなう #groonga",1],["中野ブロードウェイなうなう",2]]]]
1764
1759
  .ft P
1765
1760
  .fi
1766
1761
  .sp
@@ -1769,12 +1764,12 @@ Commentsテーブルのlast_modifiedカラムは、Time型です。この型で
1769
1764
  .sp
1770
1765
  今度は、キーワードとGeoPointの両方を条件に検索をしてみます。\-\-queryと\-\-filterの両方を使用した場合、両方の条件に一致するレコードがヒットします。
1771
1766
  .sp
1772
- 実行例
1767
+ Execution example:
1773
1768
  .sp
1774
1769
  .nf
1775
1770
  .ft C
1776
1771
  > select \-\-table Comments \-\-query comment:@羽田 \-\-filter \(aqgeo_in_circle(location,"127975798x502919856",20000)\(aq \-\-output_columns posted_by.name,comment \-\-drilldown hash_tags,posted_by
1777
- [[0,1308820977.4759,0.000704534],[[[1],[["posted_by.name","ShortText"],["comment","ShortText"]],["グニャラくん","groonga開発合宿のため羽田空港に来ました! #groonga #travel"]],[[2],[["_key","ShortText"],["_nsubrecs","Int32"]],["groonga",1],["travel",1]],[[1],[["_key","ShortText"],["_nsubrecs","Int32"]],["tasukuchan",1]]]]
1772
+ [[0,1317212782.81082,0.000427163],[[[1],[["posted_by.name","ShortText"],["comment","ShortText"]],["グニャラくん","groonga開発合宿のため羽田空港に来ました! #groonga #travel"]],[[2],[["_key","ShortText"],["_nsubrecs","Int32"]],["groonga",1],["travel",1]],[[1],[["_key","ShortText"],["_nsubrecs","Int32"]],["tasukuchan",1]]]]
1778
1773
  .ft P
1779
1774
  .fi
1780
1775
  .sp
@@ -1782,14 +1777,14 @@ Commentsテーブルのlast_modifiedカラムは、Time型です。この型で
1782
1777
  .SS ハッシュタグでコメント検索
1783
1778
  .sp
1784
1779
  あるハッシュタグのついているコメントを検索します。
1785
- これも、 \fBtutorial06\fP で扱った、参照関係の逆引きを使います。
1780
+ これも、 \fBindex\fP で扱った、参照関係の逆引きを使います。
1786
1781
  .sp
1787
- 実行例
1782
+ Execution example:
1788
1783
  .sp
1789
1784
  .nf
1790
1785
  .ft C
1791
1786
  > select \-\-table Comments \-\-query hash_tags:@groonga \-\-output_columns posted_by.name,comment \-\-drilldown posted_by
1792
- [[0,1308820977.68094,0.000539037],[[[2],[["posted_by.name","ShortText"],["comment","ShortText"]],["グニャラくん","groongaなう #groonga"],["グニャラくん","groonga開発合宿のため羽田空港に来ました! #groonga #travel"]],[[1],[["_key","ShortText"],["_nsubrecs","Int32"]],["tasukuchan",2]]]]
1787
+ [[0,1317212783.01379,0.000311974],[[[2],[["posted_by.name","ShortText"],["comment","ShortText"]],["グニャラくん","groongaなう #groonga"],["グニャラくん","groonga開発合宿のため羽田空港に来ました! #groonga #travel"]],[[1],[["_key","ShortText"],["_nsubrecs","Int32"]],["tasukuchan",2]]]]
1793
1788
  .ft P
1794
1789
  .fi
1795
1790
  .sp
@@ -1798,12 +1793,12 @@ Commentsテーブルのlast_modifiedカラムは、Time型です。この型で
1798
1793
  .sp
1799
1794
  あるユーザーが投稿したコメントを検索します。
1800
1795
  .sp
1801
- 実行例
1796
+ Execution example:
1802
1797
  .sp
1803
1798
  .nf
1804
1799
  .ft C
1805
1800
  > select \-\-table Comments \-\-query posted_by:tasukuchan \-\-output_columns comment \-\-drilldown hash_tags
1806
- [[0,1308820977.88551,0.000513653],[[[4],[["comment","ShortText"]],["初の書き込み。テストテスト。"],["@daijiro ありがとう!"],["groongaなう #groonga"],["groonga開発合宿のため羽田空港に来ました! #groonga #travel"]],[[2],[["_key","ShortText"],["_nsubrecs","Int32"]],["groonga",2],["travel",1]]]]
1801
+ [[0,1317212783.21601,0.000313114],[[[4],[["comment","ShortText"]],["初の書き込み。テストテスト。"],["@daijiro ありがとう!"],["groongaなう #groonga"],["groonga開発合宿のため羽田空港に来ました! #groonga #travel"]],[[2],[["_key","ShortText"],["_nsubrecs","Int32"]],["groonga",2],["travel",1]]]]
1807
1802
  .ft P
1808
1803
  .fi
1809
1804
  .sp
@@ -1812,34 +1807,105 @@ Commentsテーブルのlast_modifiedカラムは、Time型です。この型で
1812
1807
  .sp
1813
1808
  あるユーザーがお気に入りに入れているコメントを検索します。
1814
1809
  .sp
1815
- 実行例
1810
+ Execution example:
1816
1811
  .sp
1817
1812
  .nf
1818
1813
  .ft C
1819
1814
  > select \-\-table Users \-\-query _key:tasukuchan \-\-output_columns favorites.posted_by,favorites.comment
1820
- [[0,1308820978.09026,0.000447909],[[[1],[["favorites.posted_by","Users"],["favorites.comment","ShortText"]],[["daijiro","OffGao"],["マイクロブログ作ってみました(甘栗むいちゃいました的な感じで)。","@daijiro @tasukuchan 登録してみましたよー!"]]]]]
1815
+ [[0,1317212783.41809,0.000257979],[[[1],[["favorites.posted_by","Users"],["favorites.comment","ShortText"]],[["daijiro","OffGao"],["マイクロブログ作ってみました(甘栗むいちゃいました的な感じで)。","@daijiro @tasukuchan 登録してみましたよー!"]]]]]
1821
1816
  .ft P
1822
1817
  .fi
1823
1818
  .sp
1824
1819
  「グニャラくん」がお気に入りに入れている2件のコメントがヒットしました。
1825
1820
  .SS 投稿時間でコメント検索
1826
1821
  .sp
1827
- コメントの投稿時間で検索をします。Time型については \fBtutorial03\fP で扱っています。
1822
+ コメントの投稿時間で検索をします。Time型については \fBdata\fP で扱っています。
1828
1823
  この例では、指定した時間よりも前に投稿されているコメントを検索します。
1829
1824
  .sp
1830
- 実行例
1825
+ Execution example:
1831
1826
  .sp
1832
1827
  .nf
1833
1828
  .ft C
1834
1829
  > select Comments \-\-filter \(aqlast_modified<=1268802000\(aq \-\-output_columns posted_by.name,comment,last_modified \-\-drilldown hash_tags,posted_by
1835
- [[0,1308820978.29463,0.000712033],[[[5],[["posted_by.name","ShortText"],["comment","ShortText"],["last_modified","Time"]],["hsiomaneki","マイクロブログ作ってみました(甘栗むいちゃいました的な感じで)。",1268795100.0],["グニャラくん","初の書き込み。テストテスト。",1268794800.0],["hsiomaneki","@tasukuchan ようこそ!!!",1268795100.0],["グニャラくん","@daijiro ありがとう!",1268798400.0],["グニャラくん","groongaなう #groonga",1268802000.0]],[[1],[["_key","ShortText"],["_nsubrecs","Int32"]],["groonga",1]],[[2],[["_key","ShortText"],["_nsubrecs","Int32"]],["daijiro",2],["tasukuchan",3]]]]
1830
+ [[0,1317212783.61997,0.000426254],[[[5],[["posted_by.name","ShortText"],["comment","ShortText"],["last_modified","Time"]],["hsiomaneki","マイクロブログ作ってみました(甘栗むいちゃいました的な感じで)。",1268795100.0],["グニャラくん","初の書き込み。テストテスト。",1268794800.0],["hsiomaneki","@tasukuchan ようこそ!!!",1268795100.0],["グニャラくん","@daijiro ありがとう!",1268798400.0],["グニャラくん","groongaなう #groonga",1268802000.0]],[[1],[["_key","ShortText"],["_nsubrecs","Int32"]],["groonga",1]],[[2],[["_key","ShortText"],["_nsubrecs","Int32"]],["daijiro",2],["tasukuchan",3]]]]
1836
1831
  .ft P
1837
1832
  .fi
1838
1833
  .sp
1839
1834
  2010/03/17 14:00:00以前に書かれたコメント5件がヒットしました。また、ドリルダウンの結果も返ってきており、「hsiomaneki」が2件、「グニャラくん」が3件ヒットしていることがわかります。
1835
+ .SS クエリ拡張
1836
+ .sp
1837
+ groongaでは、 \fB/commands/select\fP コマンドにquery_expansionパラメータを指定することによって、ユーザが指定した検索文字列を適宜拡張することが可能です。
1838
+ .sp
1839
+ たとえば、ユーザが\(aqシークヮーサー\(aqという文字列で検索した場合に、\(aqシークヮーサー OR シークァーサー\(aqで検索した場合と同一の結果を返すことによって、本来ユーザが必要とする結果をよりもれなく検索できるようになります。
1840
+ .SS 準備
1841
+ .sp
1842
+ クエリ拡張機能を使用するためには、検索対象となる文書を格納するテーブル(ここでは文書テーブルと呼びます)以外に、ユーザの指定した検索文字列を置換するためのテーブル(ここでは置換テーブルと呼びます)を準備します。置換テーブルでは、その主キーが置換前の文字列となり、文字列型(ShortText)のカラムの値が置換後の文字列となります。
1843
+ .sp
1844
+ 実際に文書テーブルと置換テーブルを作成してみましょう。
1845
+ .sp
1846
+ Execution example:
1847
+ .sp
1848
+ .nf
1849
+ .ft C
1850
+ > table_create Doc TABLE_PAT_KEY ShortText
1851
+ [[0,1317212801.95257,0.054058921],true]
1852
+ > column_create Doc body COLUMN_SCALAR ShortText
1853
+ [[0,1317212802.2071,0.040301713],true]
1854
+ > table_create Term TABLE_PAT_KEY|KEY_NORMALIZE ShortText \-\-default_tokenizer TokenBigram
1855
+ [[0,1317212802.44812,0.027340933],true]
1856
+ > column_create Term Doc_body COLUMN_INDEX|WITH_POSITION Doc body
1857
+ [[0,1317212802.676,0.079743674],true]
1858
+ > table_create Synonym TABLE_PAT_KEY ShortText
1859
+ [[0,1317212802.95629,0.03656858],true]
1860
+ > column_create Synonym body COLUMN_SCALAR ShortText
1861
+ [[0,1317212803.19316,0.040515932],true]
1862
+ > load \-\-table Doc
1863
+ > [
1864
+ > {"_key": "001", "body": "すっぱいブドウと甘いシークァーサー"},
1865
+ > {"_key": "002", "body": "シークヮーサージュースとゴーヤチャンプル"},
1866
+ > ]
1867
+ [[0,1317212803.43422,0.80056314],2]
1868
+ > load \-\-table Synonym
1869
+ > [
1870
+ > {"_key": "シークァーサー", "body": "(シークァーサー OR シークヮーサー)"},
1871
+ > {"_key": "シークヮーサー", "body": "(シークァーサー OR シークヮーサー)"},
1872
+ > ]
1873
+ [[0,1317212804.43524,0.801037492],2]
1874
+ .ft P
1875
+ .fi
1876
+ .sp
1877
+ この例では、ユーザが"シークァーサー"と入力しても、"シークヮーサー"と入力しても、それぞれの異なる表記の文書をもれなく検索するための置換テーブルを作成しています。
1878
+ .SS 検索
1879
+ .sp
1880
+ それでは実際に、準備した置換テーブルを使ってみましょう。まずは、query_expansionパラメータを指定せずにselectコマンドを使って検索してみます。
1881
+ .sp
1882
+ Execution example:
1883
+ .sp
1884
+ .nf
1885
+ .ft C
1886
+ > select Doc \-\-match_columns body \-\-query "シークァーサー"
1887
+ [[0,1317212805.4371,0.000567851],[[[1],[["_id","UInt32"],["_key","ShortText"],["body","ShortText"]],[1,"001","すっぱいブドウと甘いシークァーサー"]]]]
1888
+ > select Doc \-\-match_columns body \-\-query "シークヮーサー"
1889
+ [[0,1317212805.63859,0.000387831],[[[1],[["_id","UInt32"],["_key","ShortText"],["body","ShortText"]],[2,"002","シークヮーサージュースとゴーヤチャンプル"]]]]
1890
+ .ft P
1891
+ .fi
1892
+ .sp
1893
+ 指定された文字列に完全に一致するレコードのみがそれぞれヒットします。次に、query_expansionパラメータに、準備したSynonymテーブルのbodyカラムを指定してみましょう。
1894
+ .sp
1895
+ Execution example:
1896
+ .sp
1897
+ .nf
1898
+ .ft C
1899
+ > select Doc \-\-match_columns body \-\-query "シークァーサー" \-\-query_expansion Synonym.body
1900
+ [[0,1317212805.84016,0.000441852],[[[2],[["_id","UInt32"],["_key","ShortText"],["body","ShortText"]],[1,"001","すっぱいブドウと甘いシークァーサー"],[2,"002","シークヮーサージュースとゴーヤチャンプル"]]]]
1901
+ > select Doc \-\-match_columns body \-\-query "シークヮーサー" \-\-query_expansion Synonym.body
1902
+ [[0,1317212806.04176,0.000580261],[[[2],[["_id","UInt32"],["_key","ShortText"],["body","ShortText"]],[1,"001","すっぱいブドウと甘いシークァーサー"],[2,"002","シークヮーサージュースとゴーヤチャンプル"]]]]
1903
+ .ft P
1904
+ .fi
1905
+ .sp
1906
+ どちらのクエリ文字列も、"(シークァーサー OR シークヮーサー)"という文字列に置換されてから検索されるため、表記の揺れを吸収して検索できるようになりました。
1840
1907
  .SH SUGGEST
1841
1908
  .IP Note
1842
- .
1843
1909
  The suggest feature specification isn\(aqt stable. The
1844
1910
  specification may be changed.
1845
1911
  .RE
@@ -1850,13 +1916,10 @@ Groonga has the suggest feature. This section describes how to use it and how it
1850
1916
  The suggest feature in groonga provides the following features:
1851
1917
  .INDENT 0.0
1852
1918
  .IP \(bu 2
1853
- .
1854
1919
  Completion
1855
1920
  .IP \(bu 2
1856
- .
1857
1921
  Correction
1858
1922
  .IP \(bu 2
1859
- .
1860
1923
  Suggestion
1861
1924
  .UNINDENT
1862
1925
  .SS Completion
@@ -1868,16 +1931,12 @@ words.
1868
1931
  For example, there are registered words:
1869
1932
  .INDENT 0.0
1870
1933
  .IP \(bu 2
1871
- .
1872
1934
  "groonga"
1873
1935
  .IP \(bu 2
1874
- .
1875
1936
  "complete"
1876
1937
  .IP \(bu 2
1877
- .
1878
1938
  "correction"
1879
1939
  .IP \(bu 2
1880
- .
1881
1940
  "suggest"
1882
1941
  .UNINDENT
1883
1942
  .sp
@@ -1983,13 +2042,10 @@ This section describes about the following completion
1983
2042
  features:
1984
2043
  .INDENT 0.0
1985
2044
  .IP \(bu 2
1986
- .
1987
2045
  How it works
1988
2046
  .IP \(bu 2
1989
- .
1990
2047
  How to use
1991
2048
  .IP \(bu 2
1992
- .
1993
2049
  How to learn
1994
2050
  .UNINDENT
1995
2051
  .SS How it works
@@ -2000,13 +2056,10 @@ completed words:
2000
2056
  .INDENT 3.5
2001
2057
  .INDENT 0.0
2002
2058
  .IP 1. 3
2003
- .
2004
2059
  Prefix RK search against registered words.
2005
2060
  .IP 2. 3
2006
- .
2007
2061
  Cooccurrence search against learned data.
2008
2062
  .IP 3. 3
2009
- .
2010
2063
  Prefix search against registered words. (optional)
2011
2064
  .UNINDENT
2012
2065
  .UNINDENT
@@ -2248,8 +2301,8 @@ Execution example:
2248
2301
  .sp
2249
2302
  .nf
2250
2303
  .ft C
2251
- > suggest \-\-table item_query \-\-column kana \-\-types complete \-\-threshold 1 \-\-query en
2252
- [[0,1313131879.64588,0.000913584],{"complete":[[1],[["_key","ShortText"],["_score","Int32"]],["engine",1]]}]
2304
+ > suggest \-\-table item_query \-\-column kana \-\-types complete \-\-frequency_threshold 1 \-\-query en
2305
+ [[0,1317212704.42103,0.001348612],{"complete":[[1],[["_key","ShortText"],["_score","Int32"]],["engine",1]]}]
2253
2306
  .ft P
2254
2307
  .fi
2255
2308
  .SS How it learns
@@ -2265,22 +2318,16 @@ inputs the query with the following sequence:
2265
2318
  .INDENT 3.5
2266
2319
  .INDENT 0.0
2267
2320
  .IP 1. 3
2268
- .
2269
2321
  2011\-08\-10T13:33:23+09:00: e
2270
2322
  .IP 2. 3
2271
- .
2272
2323
  2011\-08\-10T13:33:23+09:00: en
2273
2324
  .IP 3. 3
2274
- .
2275
2325
  2011\-08\-10T13:33:24+09:00: eng
2276
2326
  .IP 4. 3
2277
- .
2278
2327
  2011\-08\-10T13:33:24+09:00: engi
2279
2328
  .IP 5. 3
2280
- .
2281
2329
  2011\-08\-10T13:33:24+09:00: engin
2282
2330
  .IP 6. 3
2283
- .
2284
2331
  2011\-08\-10T13:33:25+09:00: engine (submit!)
2285
2332
  .UNINDENT
2286
2333
  .UNINDENT
@@ -2308,13 +2355,10 @@ This section describes about the following correction
2308
2355
  features:
2309
2356
  .INDENT 0.0
2310
2357
  .IP \(bu 2
2311
- .
2312
2358
  How it works
2313
2359
  .IP \(bu 2
2314
- .
2315
2360
  How to use
2316
2361
  .IP \(bu 2
2317
- .
2318
2362
  How to learn
2319
2363
  .UNINDENT
2320
2364
  .SS How it works
@@ -2325,10 +2369,8 @@ words:
2325
2369
  .INDENT 3.5
2326
2370
  .INDENT 0.0
2327
2371
  .IP 1. 3
2328
- .
2329
2372
  Cooccurrence search against learned data.
2330
2373
  .IP 2. 3
2331
- .
2332
2374
  Similar search against registered words. (optional)
2333
2375
  .UNINDENT
2334
2376
  .UNINDENT
@@ -2427,8 +2469,8 @@ Execution example:
2427
2469
  .sp
2428
2470
  .nf
2429
2471
  .ft C
2430
- > suggest \-\-table item_query \-\-column kana \-\-types correction \-\-threshold 1 \-\-query saerch
2431
- [[0,1313131812.39207,0.000783031],{"correct":[[1],[["_key","ShortText"],["_score","Int32"]],["search",1]]}]
2472
+ > suggest \-\-table item_query \-\-column kana \-\-types correction \-\-frequency_threshold 1 \-\-query saerch
2473
+ [[0,1317212708.7696,0.000882462],{"correct":[[1],[["_key","ShortText"],["_score","Int32"]],["search",1]]}]
2432
2474
  .ft P
2433
2475
  .fi
2434
2476
  .SS How it learns
@@ -2444,28 +2486,20 @@ user inputs the query with the following sequence:
2444
2486
  .INDENT 3.5
2445
2487
  .INDENT 0.0
2446
2488
  .IP 1. 3
2447
- .
2448
2489
  2011\-08\-10T13:33:23+09:00: s
2449
2490
  .IP 2. 3
2450
- .
2451
2491
  2011\-08\-10T13:33:23+09:00: sa
2452
2492
  .IP 3. 3
2453
- .
2454
2493
  2011\-08\-10T13:33:24+09:00: sae
2455
2494
  .IP 4. 3
2456
- .
2457
2495
  2011\-08\-10T13:33:24+09:00: saer
2458
2496
  .IP 5. 3
2459
- .
2460
2497
  2011\-08\-10T13:33:24+09:00: saerc
2461
2498
  .IP 6. 3
2462
- .
2463
2499
  2011\-08\-10T13:33:25+09:00: saerch (submit!)
2464
2500
  .IP 7. 3
2465
- .
2466
2501
  2011\-08\-10T13:33:29+09:00: serch (correcting...)
2467
2502
  .IP 8. 3
2468
- .
2469
2503
  2011\-08\-10T13:33:30+09:00: search (submit!)
2470
2504
  .UNINDENT
2471
2505
  .UNINDENT
@@ -2495,13 +2529,10 @@ This section describes about the following completion
2495
2529
  features:
2496
2530
  .INDENT 0.0
2497
2531
  .IP \(bu 2
2498
- .
2499
2532
  How it works
2500
2533
  .IP \(bu 2
2501
- .
2502
2534
  How to use
2503
2535
  .IP \(bu 2
2504
- .
2505
2536
  How to learn
2506
2537
  .UNINDENT
2507
2538
  .SS How it works
@@ -2512,7 +2543,6 @@ words:
2512
2543
  .INDENT 3.5
2513
2544
  .INDENT 0.0
2514
2545
  .IP 1. 3
2515
- .
2516
2546
  Cooccurrence search against learned data.
2517
2547
  .UNINDENT
2518
2548
  .UNINDENT
@@ -2590,13 +2620,11 @@ Those pairs are created by the following steps:
2590
2620
  .INDENT 3.5
2591
2621
  .INDENT 0.0
2592
2622
  .IP 1. 3
2593
- .
2594
2623
  Tokenizes user input query by TokenDelimit tokenizer
2595
2624
  that uses a space as token delimiter. (e.g. "search
2596
2625
  engine" is tokenized to two tokens "search" and
2597
2626
  "engine".)
2598
2627
  .IP 2. 3
2599
- .
2600
2628
  Creates a pair that is consists of a token and original
2601
2629
  query for each token.
2602
2630
  .UNINDENT
@@ -2619,8 +2647,8 @@ Execution example:
2619
2647
  .sp
2620
2648
  .nf
2621
2649
  .ft C
2622
- > suggest \-\-table item_query \-\-column kana \-\-types suggest \-\-threshold 1 \-\-query search
2623
- [[0,1313131808.92868,0.000607197],{"suggest":[[2],[["_key","ShortText"],["_score","Int32"]],["search engine",1],["web search realtime",1]]}]
2650
+ > suggest \-\-table item_query \-\-column kana \-\-types suggest \-\-frequency_threshold 1 \-\-query search
2651
+ [[0,1317212711.42188,0.000553344],{"suggest":[[2],[["_key","ShortText"],["_score","Int32"]],["search engine",1],["web search realtime",1]]}]
2624
2652
  .ft P
2625
2653
  .fi
2626
2654
  .SS How it learns
@@ -2636,10 +2664,8 @@ inputs the query with the following sequence:
2636
2664
  .INDENT 3.5
2637
2665
  .INDENT 0.0
2638
2666
  .IP 1. 3
2639
- .
2640
2667
  2011\-08\-10T13:33:23+09:00: search engine (submit)
2641
2668
  .IP 2. 3
2642
- .
2643
2669
  2011\-08\-10T13:33:28+09:00: web search realtime (submit)
2644
2670
  .UNINDENT
2645
2671
  .UNINDENT
@@ -2657,6 +2683,60 @@ load \-\-table event_query \-\-each \(aqsuggest_preparer(_id, type, item, sequen
2657
2683
  ]
2658
2684
  .ft P
2659
2685
  .fi
2686
+ .SH GEOLOCATION SEARCH
2687
+ .sp
2688
+ Groonga supports geolocation search. It uses index for
2689
+ search. It means that you can search by geolocation fast
2690
+ like fulltext search.
2691
+ .SS Supported features
2692
+ .sp
2693
+ Groonga supports only point as data type. Line, surface and
2694
+ so on aren\(aqt supported yet. Here is a feature list:
2695
+ .INDENT 0.0
2696
+ .IP 1. 3
2697
+ Groonga can store a point to a column.
2698
+ .IP 2. 3
2699
+ Groonga can search records that have a point in the specified rectangle.
2700
+ .IP 3. 3
2701
+ Groonga can search records that have a point in the specified circle.
2702
+ .IP 4. 3
2703
+ Groonga can calculate distance between two points.
2704
+ .IP 5. 3
2705
+ Groonga can sort records by distance from the specified
2706
+ point in ascending order.
2707
+ .UNINDENT
2708
+ .sp
2709
+ Here are use cases for groonga\(aqs geolocation search:
2710
+ .INDENT 0.0
2711
+ .IP \(bu 2
2712
+ You list McDonald\(aqs around a station.
2713
+ .IP \(bu 2
2714
+ You list KFS around the current location sort by distance
2715
+ from the current location in ascending order with distance.
2716
+ .UNINDENT
2717
+ .sp
2718
+ Here are not use cases:
2719
+ .INDENT 0.0
2720
+ .IP \(bu 2
2721
+ You search McDonald\(aqs in a city. (Groonga doesn\(aqt support
2722
+ geolocation search by a shape except a rectangle and a
2723
+ circle.)
2724
+ .IP \(bu 2
2725
+ You store a region instead of a point as a lake
2726
+ record. (A column can\(aqt has geolocation data except a
2727
+ point.)
2728
+ .UNINDENT
2729
+ .sp
2730
+ The following figures show about groonga\(aqs geolocation
2731
+ search features.
2732
+ .sp
2733
+ Here is a figure that only has records. A black point
2734
+ describes a record. The following figures shows how records
2735
+ are treated.
2736
+ [image: only records]
2737
+ [image]
2738
+ .sp
2739
+ Coming soon...
2660
2740
  .SH リファレンスマニュアル
2661
2741
  .SS 実行ファイル
2662
2742
  .sp
@@ -2685,13 +2765,11 @@ groonga独自プロトコルであるgqtpと、httpの両プロトコルでリ
2685
2765
  .INDENT 0.0
2686
2766
  .TP
2687
2767
  .B \-P
2688
- .
2689
2768
  リクエストのプロトコルを指定します。
2690
2769
  .sp
2691
2770
  \fIhttp\fP
2692
2771
  .INDENT 7.0
2693
2772
  .INDENT 3.5
2694
- .sp
2695
2773
  httpでリクエストします。対象のhttpのパス群(GETパラメータを含む)をLF区切り形式で標準入力に与えると、それらのパスに順次アクセスします。
2696
2774
  .UNINDENT
2697
2775
  .UNINDENT
@@ -2699,7 +2777,6 @@ httpでリクエストします。対象のhttpのパス群(GETパラメータ
2699
2777
  \fIgqtp\fP
2700
2778
  .INDENT 7.0
2701
2779
  .INDENT 3.5
2702
- .sp
2703
2780
  gqtpでリクエストします。gqtpのリクエストをLF区切り形式で標準入力に与えると、それらのリクエストを順次行います。
2704
2781
  .UNINDENT
2705
2782
  .UNINDENT
@@ -2707,14 +2784,12 @@ gqtpでリクエストします。gqtpのリクエストをLF区切り形式で
2707
2784
  .INDENT 0.0
2708
2785
  .TP
2709
2786
  .B \-m
2710
- .
2711
2787
  リクエストの多重度を指定します。初期値は10です。
2712
2788
  .UNINDENT
2713
2789
  .SS 引数
2714
2790
  .INDENT 0.0
2715
2791
  .TP
2716
2792
  .B dest
2717
- .
2718
2793
  接続先のホスト名とポート番号をを指定します(デフォルト値は\(aqlocalhost:10041\(aq)。ポート番号を指定しない場合には、10041が指定されたものとします。
2719
2794
  .UNINDENT
2720
2795
  .SS サンプル
@@ -2745,63 +2820,54 @@ grntestは、groonga汎用テストツールです。
2745
2820
  .sp
2746
2821
  groongaを単独のプロセスとして利用する場合はもちろん、サーバプログラムとして利用する場合の動作確認や実行速度測定が可能です。
2747
2822
  .sp
2748
- grntest を利用するために必要なデータファイルは、ftp.groonga.orgから必要に応じダウンロードしますので、groonga及びgrntestが動作し、インターネットに接続できる環境であればgroongaコマンドの知識がなくてもgroongaの動作を確認できます。
2823
+ grntest用のデータファイルは自分で作成することも既存のものを利用することもできます。既存のデータファイルは、ftp.groonga.orgから必要に応じダウンロードします。そのため、groonga及びgrntestが動作し、インターネットに接続できる環境であればgroongaコマンドの知識がなくてもgroongaの動作を確認できます。
2749
2824
  .sp
2750
- 現在は、linux 及びWindows上で動作します。make installしてもインストールは行われません。
2825
+ 現在は、Linux 及びWindows上で動作します。make installしてもインストールは行われません。
2751
2826
  .SS オプション
2752
2827
  .INDENT 0.0
2753
2828
  .TP
2754
2829
  .B \-i, \-\-host <ip/hostname>
2755
- .sp
2756
2830
  接続するgroongaサーバを、ipアドレスまたはホスト名で指定します。指定先にgroongaサーバが立ち上がっていない場合、接続不能となることに注意してください。このオプションを指定しない場合、grntestは自動的にlocalhostのgroongaサーバを起動して接続します。
2757
2831
  .UNINDENT
2758
2832
  .INDENT 0.0
2759
2833
  .TP
2760
2834
  .B \-p, \-\-port <port number>
2761
- .sp
2762
2835
  自動的に起動するgroongaサーバ、または明示的に指定した接続先のgroonga サーバが利用するポート番号を指定します。接続先のgroongaサーバが利用しているポートと、このオプションで指定したポート番号が異なる場合、接続不能となることに注意してください。
2763
2836
  .UNINDENT
2764
2837
  .INDENT 0.0
2765
2838
  .TP
2766
2839
  .B \-\-dir
2767
- .
2768
2840
  ftp.groonga.org に用意されているスクリプトファイルを表示します。
2769
2841
  .UNINDENT
2770
2842
  .INDENT 0.0
2771
2843
  .TP
2772
- .B \-\-noftp
2773
- .
2774
- 通常grntestはftp.groonga.orgとftp通信を行い、scriptファイルの同期やログファイルの送信を行います。\-\-noftp オプションを指定するとftp 通信を一切行わないようになります。存在しないスクリプトファイルを指定した場合、エラーとなることに注意してください。
2844
+ .B \-\-ftp
2845
+ ftp.groonga.orgとFTP通信を行い、scriptファイルの同期やログファイルの送信を行います。
2775
2846
  .UNINDENT
2776
2847
  .INDENT 0.0
2777
2848
  .TP
2778
2849
  .B \-\-log\-output\-dir
2779
- .
2780
2850
  デフォルトでは、grntest終了後のログファイルの出力先ははカレントディレクトリです。このオプションを利用すると、任意のディレクトリに出力先を変更することができます。
2781
2851
  .UNINDENT
2782
2852
  .INDENT 0.0
2783
2853
  .TP
2784
2854
  .B \-\-groonga <groonga_path>
2785
- .sp
2786
2855
  groongaコマンドのパスを指定します。デフォルトでは、PATHの中からgroongaコマンドを探します。
2787
2856
  .UNINDENT
2788
2857
  .INDENT 0.0
2789
2858
  .TP
2790
2859
  .B \-\-protocol <gqtp|http>
2791
- .sp
2792
- groongaコマンドが使うプロトコルとして\(ga\(gagqtp\(ga\(gaまたは\(ga\(gahttp\(ga\(gaを指定します。
2860
+ groongaコマンドが使うプロトコルとして \fIgqtp\fP または \fIhttp\fP を指定します。
2793
2861
  .UNINDENT
2794
2862
  .SS 引数
2795
2863
  .INDENT 0.0
2796
2864
  .TP
2797
2865
  .B script
2798
- .
2799
2866
  grntestの動作方法(以下、grntest命令と呼びます)を記述したテキストファイルです。拡張子は.scrです。
2800
2867
  .UNINDENT
2801
2868
  .INDENT 0.0
2802
2869
  .TP
2803
2870
  .B db
2804
- .
2805
2871
  grntestが利用するgroonga データベースです。指定されたデータベースが存在しない場合、grntestが新規に作成します。またgroonga サーバを自動的に起動する場合もこの引数で指定したデータベースが利用されます。接続するgroonga サーバを明示的に指定した場合に利用するデータベースは、接続先サーバが使用中のデータベースになることに注意してください。
2806
2872
  .UNINDENT
2807
2873
  .SS 使い方
@@ -2833,11 +2899,9 @@ test\-ユーザ名\-数字.log
2833
2899
  現在サポートされているgrntest命令は以下の8つです。
2834
2900
  .INDENT 0.0
2835
2901
  .INDENT 3.5
2836
- .sp
2837
2902
  do_local コマンドファイル [スレッド数] [繰り返し数]
2838
2903
  .INDENT 0.0
2839
2904
  .INDENT 3.5
2840
- .sp
2841
2905
  コマンドファイルをgrntest単体で実行します。スレッド数が指定されている場合、複数のスレッドで同じコマンドファイルを同時に実行します。繰り返し数が指定されてい場合、コマンドファイルの内容を繰り返し実行します。スレッド数、繰り返し数とも省略時は1です。1スレッドで複数回動作させたい場合は、do_local コマンドファイル 1 [繰り返し数]と明示的に指定してください。
2842
2906
  .UNINDENT
2843
2907
  .UNINDENT
@@ -2845,7 +2909,6 @@ do_local コマンドファイル [スレッド数] [繰り返し数]
2845
2909
  do_gqpt コマンドファイル [スレッド数] [繰り返し数]
2846
2910
  .INDENT 0.0
2847
2911
  .INDENT 3.5
2848
- .sp
2849
2912
  コマンドファイルをgroongaサーバで実行します。スレッド数や繰り返し数の意味はdo_localの場合と同じです。
2850
2913
  .UNINDENT
2851
2914
  .UNINDENT
@@ -2853,7 +2916,6 @@ do_gqpt コマンドファイル [スレッド数] [繰り返し数]
2853
2916
  rep_local コマンドファイル [スレッド数] [繰り返し数]
2854
2917
  .INDENT 0.0
2855
2918
  .INDENT 3.5
2856
- .sp
2857
2919
  コマンドファイルをgrntest単体で実行し、より詳細な報告を行います。
2858
2920
  .UNINDENT
2859
2921
  .UNINDENT
@@ -2861,7 +2923,6 @@ rep_local コマンドファイル [スレッド数] [繰り返し数]
2861
2923
  rep_gqpt コマンドファイル [スレッド数] [繰り返し数]
2862
2924
  .INDENT 0.0
2863
2925
  .INDENT 3.5
2864
- .sp
2865
2926
  コマンドファイルをgroongaサーバで実行し、より詳細な報告を行います。 スレッド数や繰り返し数の意味はdo_localと 同じです。
2866
2927
  .UNINDENT
2867
2928
  .UNINDENT
@@ -2869,7 +2930,6 @@ rep_gqpt コマンドファイル [スレッド数] [繰り返し数]
2869
2930
  out_local コマンドファイル 入力ファイル名
2870
2931
  .INDENT 0.0
2871
2932
  .INDENT 3.5
2872
- .sp
2873
2933
  コマンドファイルをgrntest単体で実行し、各コマンドの実行結果をすべて”出力ファイル"に書きだします。この結果は、test_local, test_gqtp命令で利用します。なおこの命令の「出力ファイル」とは、grntest実行時に自動的に作成されるログとは別のものです。grntestではコメントが利用できる以外、:
2874
2934
  .sp
2875
2935
  .nf
@@ -2885,14 +2945,12 @@ groonga < コマンドファイル > 出力ファイル
2885
2945
  out_gqtp コマンドファイル 出力ファイル名
2886
2946
  .INDENT 0.0
2887
2947
  .INDENT 3.5
2888
- .sp
2889
2948
  コマンドファイルをgroongaサーバで実行します。その他はout_local命令と同等です。
2890
2949
  .UNINDENT
2891
2950
  .UNINDENT
2892
2951
  .INDENT 0.0
2893
2952
  .TP
2894
2953
  .B test_local コマンドファイル 入力ファイル名
2895
- .
2896
2954
  コマンドファイルをgrntest単体で実行し、各コマンドの実行結果を入力ファイルと比較します。処理時間など本質的要素以外に差分があった場合、差分を、入力ファイル.diffというファイルに書きだします。
2897
2955
  .UNINDENT
2898
2956
  .UNINDENT
@@ -2919,19 +2977,15 @@ do_gqtp test.select 10 10; do_local test.status 10
2919
2977
  .INDENT 0.0
2920
2978
  .TP
2921
2979
  .B 1行目
2922
- .
2923
2980
  コメント行。
2924
2981
  .TP
2925
2982
  .B 2行目
2926
- .
2927
2983
  test.dll というコマンドファイルをgroonga単体で実行し、詳細に報告する。
2928
2984
  .TP
2929
2985
  .B 3行目
2930
- .
2931
2986
  test.load というコマンドファイルをgroonga単体で実行する。(最後の";"セミコロンは複数のgrntest命令を記述する場合に必要ですが、この例のように1つのgrntest命令を実行する場合に付与しても問題ありません。)
2932
2987
  .TP
2933
2988
  .B 4行目
2934
- .
2935
2989
  test.select というコマンドファイルをgroongaサーバで10個のスレッドで同時に実行する。各スレッドはtest.selectの中身を10回繰り返す。また同時に、groonga単体でtest.statusというコマンドファイルを10個のスレッドで実行する。
2936
2990
  .UNINDENT
2937
2991
  .UNINDENT
@@ -2944,11 +2998,9 @@ test.select というコマンドファイルをgroongaサーバで10個のス
2944
2998
  .INDENT 0.0
2945
2999
  .TP
2946
3000
  .B #SET_HOST <ip/hostname>
2947
- .
2948
3001
  \-i, \-\-hostオプションと同等の機能です。コマンドラインオプションに指定したIPアドレス/ホスト名と、SET_HOSTで指定したIPアドレス/ホスト名が異なる場合、またコマンドラインオプションを指定しなかった場合にもSET_HOSTが優先されます。SET_HOSTを利用した場合、サーバが自動的には起動されないのもコマンドラインオプションで指定した場合と同様です。
2949
3002
  .TP
2950
3003
  .B #SET_PORT <port number>
2951
- .
2952
3004
  \-p, \-\-port オプションと同等の機能です。コマンドラインオプションに指定したポート番号とSET_PORTで指定したポート番号が異なる場合、またコマンドラインオプションを指定しなかった場合にもSET_PORTが優先されます。
2953
3005
  .UNINDENT
2954
3006
  .UNINDENT
@@ -3038,10 +3090,8 @@ ency": 831495, "self": 762519, "qps": 1967.164097, "min": 73, "max": 135631, "qu
3038
3090
  .SS 制限事項
3039
3091
  .INDENT 0.0
3040
3092
  .IP \(bu 2
3041
- .
3042
3093
  スクリプトファイルの一行には複数のgrntest命令を記述できますが、すべてのスレッド数の合計は最大64までに制限されます。
3043
3094
  .IP \(bu 2
3044
- .
3045
3095
  コマンドファイル中のgroongaコマンドの長さは最長5000000byteです。
3046
3096
  .UNINDENT
3047
3097
  .SS トラブルシューティング
@@ -3049,13 +3099,10 @@ ency": 831495, "self": 762519, "qps": 1967.164097, "min": 73, "max": 135631, "qu
3049
3099
  もし、grntestが正常に動作しない場合、まず以下を確認してください。
3050
3100
  .INDENT 0.0
3051
3101
  .IP \(bu 2
3052
- .
3053
- インターネットに接続しているか? \-\-noftp モードを指定しない限り、grntestは動作のたびにftp.groonga.orgと通信します。ftp.groonga.orgと通信可能でない場合、grntestは正常に動作しません。
3102
+ インターネットに接続しているか? \fI\-\-ftp\fP オプションを指定すると、grntestは動作のたびにftp.groonga.orgと通信します。ftp.groonga.orgと通信可能でない場合、grntestは正常に動作しません。
3054
3103
  .IP \(bu 2
3055
- .
3056
3104
  groonga サーバが動作していないか? grntestは、\-i, \-\-host オプションで明示的にサーバを指定しないかぎり、自動的にlocalhostのgroongaサーバを立ち上げます。すでにgroongaサーバが動作している場合、grntestは正常に動作しない可能性があります。
3057
3105
  .IP \(bu 2
3058
- .
3059
3106
  指定したDBが適切か? grntestは、引数で指定したDBの中身はチェックしません。もし指定されたDBが存在しなければ自動的にDBを作成しますが、もしファイルとして存在する場合は中身に関わらず動作を続けてしまい、結果が異常になる可能性があります。
3060
3107
  .UNINDENT
3061
3108
  .sp
@@ -3079,49 +3126,41 @@ groongaのデータベースは、groonga実行ファイルかCライブラリ
3079
3126
  .INDENT 0.0
3080
3127
  .TP
3081
3128
  .B \-n
3082
- .
3083
3129
  新たなデータベースを作成します。
3084
3130
  .UNINDENT
3085
3131
  .INDENT 0.0
3086
3132
  .TP
3087
3133
  .B \-c
3088
- .
3089
3134
  クライアントモードで実行します。
3090
3135
  .UNINDENT
3091
3136
  .INDENT 0.0
3092
3137
  .TP
3093
3138
  .B \-s
3094
- .
3095
3139
  サーバモードで実行します。
3096
3140
  .UNINDENT
3097
3141
  .INDENT 0.0
3098
3142
  .TP
3099
3143
  .B \-d
3100
- .
3101
3144
  デーモンモードで実行します。(forkする点がサーバモードと異なる)
3102
3145
  .UNINDENT
3103
3146
  .INDENT 0.0
3104
3147
  .TP
3105
3148
  .B \-e, \-\-encoding <encoding>
3106
- .sp
3107
3149
  データベースで使用する文字エンコーディング方式を指定します。新たなデータベースを作成する時のみ有効です。none, euc, utf8, sjis, latin, koi8rのいずれかが指定できます。
3108
3150
  .UNINDENT
3109
3151
  .INDENT 0.0
3110
3152
  .TP
3111
3153
  .B \-l, \-\-log\-level <log level>
3112
- .sp
3113
3154
  ログレベルを指定します。0〜8までの数値が指定可能で、数が大きいほど多くのログが出力されます。
3114
3155
  .UNINDENT
3115
3156
  .INDENT 0.0
3116
3157
  .TP
3117
3158
  .B \-a, \-\-address <ip/hostname>
3118
- .sp
3119
3159
  Deprecated since version 1.2.2: Use \fI\-\-bind\-address\fP instead.
3120
3160
  .UNINDENT
3121
3161
  .INDENT 0.0
3122
3162
  .TP
3123
3163
  .B \-\-bind\-address <ip/hostname>
3124
- .sp
3125
3164
  New in version 1.2.2.
3126
3165
  .sp
3127
3166
  サーバモードかデーモンモードで実行するとき、listenするアドレスを指定します。(デフォルトは \fIhostname\fP の返すホスト名)
@@ -3129,26 +3168,22 @@ New in version 1.2.2.
3129
3168
  .INDENT 0.0
3130
3169
  .TP
3131
3170
  .B \-p, \-\-port <port number>
3132
- .sp
3133
3171
  クライアント、サーバ、またはデーモンモードで使用するTCPポート番号。
3134
3172
  (デフォルトは10041番)
3135
3173
  .UNINDENT
3136
3174
  .INDENT 0.0
3137
3175
  .TP
3138
3176
  .B \-i, \-\-server\-id <ip/hostname>
3139
- .sp
3140
3177
  サーバモードかデーモンモードで実行するとき、サーバのIDとなるアドレスを指定します。(デフォルトは\(gahostname\(gaの返すホスト名)
3141
3178
  .UNINDENT
3142
3179
  .INDENT 0.0
3143
3180
  .TP
3144
3181
  .B \-h, \-\-help
3145
- .sp
3146
3182
  ヘルプメッセージを出力します。
3147
3183
  .UNINDENT
3148
3184
  .INDENT 0.0
3149
3185
  .TP
3150
3186
  .B \-\-document\-root <path>
3151
- .sp
3152
3187
  httpサーバとしてgroongaを使用する場合に静的ページを格納するディレクトリを指定します。
3153
3188
  .sp
3154
3189
  デフォルトでは、データベースを管理するための汎用的なページに対応するファイルが/usr/share/groonga/admin_html以下にインストールされます。このディレクトリをdocument\-rootオプションの値に指定して起動した場合、ウェブブラウザでhttp://hostname:port/index.htmlにアクセスすると、ウェブベースのデータベース管理ツールを使用できます。
@@ -3156,37 +3191,31 @@ httpサーバとしてgroongaを使用する場合に静的ページを格納す
3156
3191
  .INDENT 0.0
3157
3192
  .TP
3158
3193
  .B \-\-protocol <protocol>
3159
- .sp
3160
3194
  http,gqtpのいずれかを指定します。(デフォルトはgqtp)
3161
3195
  .UNINDENT
3162
3196
  .INDENT 0.0
3163
3197
  .TP
3164
3198
  .B \-\-log\-path <path>
3165
- .sp
3166
3199
  ログを出力するファイルのパスを指定します。(デフォルトは/var/log/groonga/groonga.logです)
3167
3200
  .UNINDENT
3168
3201
  .INDENT 0.0
3169
3202
  .TP
3170
3203
  .B \-\-query\-log\-path <path>
3171
- .sp
3172
3204
  クエリーログを出力するファイルのパスを指定します。(デフォルトでは出力されません)
3173
3205
  .UNINDENT
3174
3206
  .INDENT 0.0
3175
3207
  .TP
3176
3208
  .B \-t, \-\-max\-threads <max threasd>
3177
- .sp
3178
3209
  最大で利用するスレッド数を指定します。(デフォルトはマシンのCPUコア数と同じ数です)
3179
3210
  .UNINDENT
3180
3211
  .INDENT 0.0
3181
3212
  .TP
3182
3213
  .B \-\-pid\-path <path>
3183
- .sp
3184
3214
  PIDを保存するパスを指定します。(デフォルトでは保存しません)
3185
3215
  .UNINDENT
3186
3216
  .INDENT 0.0
3187
3217
  .TP
3188
3218
  .B \-\-config\-path <path>
3189
- .sp
3190
3219
  設定ファイルのパスを指定します。設定ファイルは以下のようなフォーマットになります。:
3191
3220
  .sp
3192
3221
  .nf
@@ -3209,20 +3238,17 @@ pid\-file=/var/run/groonga.pid
3209
3238
  .INDENT 0.0
3210
3239
  .TP
3211
3240
  .B \-\-cache\-limit <limit>
3212
- .sp
3213
3241
  キャッシュ数の最大値を指定します。(デフォルトは100です)
3214
3242
  .UNINDENT
3215
3243
  .INDENT 0.0
3216
3244
  .TP
3217
3245
  .B \-\-default\-match\-escalation\-threshold <threshold>
3218
- .sp
3219
3246
  検索の挙動をエスカレーションする閾値を指定します。(デフォルトは0です)
3220
3247
  .UNINDENT
3221
3248
  .SS 引数
3222
3249
  .INDENT 0.0
3223
3250
  .TP
3224
3251
  .B dest
3225
- .
3226
3252
  使用するデータベースのパス名を指定します。
3227
3253
  .sp
3228
3254
  クライアントモードの場合は接続先のホスト名とポート番号を指定します(デフォルト値は\(aqlocalhost:10041\(aq)。ポート番号を指定しない場合には、10041が指定されたものとします。
@@ -3230,7 +3256,6 @@ pid\-file=/var/run/groonga.pid
3230
3256
  .INDENT 0.0
3231
3257
  .TP
3232
3258
  .B command [args]
3233
- .
3234
3259
  スタンドアロンおよびクライアントモードの場合は、実行するコマンドとその引数をコマンドライン引数に指定できます。コマンドライン引数にcommandを与えなかった場合は、標準入力から一行ずつEOFに達するまでコマンド文字列を読み取り、順次実行します。
3235
3260
  .UNINDENT
3236
3261
  .SS コマンド
@@ -3259,67 +3284,51 @@ groonga実行ファイルを通してデータベースを操作する命令を
3259
3284
  .INDENT 0.0
3260
3285
  .TP
3261
3286
  .B \fBstatus\fP
3262
- .sp
3263
3287
  groongaプロセスの状態を表示します。
3264
3288
  .TP
3265
3289
  .B \fBtable_list\fP
3266
- .sp
3267
3290
  DBに定義されているテーブルのリストを表示します。
3268
3291
  .TP
3269
3292
  .B \fBcolumn_list\fP
3270
- .sp
3271
3293
  テーブルに定義されているカラムのリストを表示します。
3272
3294
  .TP
3273
3295
  .B \fBtable_create\fP
3274
- .sp
3275
3296
  DBにテーブルを追加します。
3276
3297
  .TP
3277
3298
  .B \fBcolumn_create\fP
3278
- .sp
3279
3299
  テーブルにカラムを追加します。
3280
3300
  .TP
3281
3301
  .B \fBtable_remove\fP
3282
- .sp
3283
3302
  DBに定義されているテーブルを削除します。
3284
3303
  .TP
3285
3304
  .B \fBcolumn_remove\fP
3286
- .sp
3287
3305
  テーブルに定義されているカラムを削除します。
3288
3306
  .TP
3289
3307
  .B \fBview_add\fP
3290
- .sp
3291
3308
  VIEW型のテーブルに要素となるテーブルを定義します。
3292
3309
  .TP
3293
3310
  .B \fBload\fP
3294
- .sp
3295
3311
  テーブルにレコードを挿入します。
3296
3312
  .TP
3297
3313
  .B \fBselect\fP
3298
- .sp
3299
3314
  テーブルに含まれるレコードを検索して表示します。
3300
3315
  .TP
3301
3316
  .B \fBdefine_selector\fP
3302
- .sp
3303
3317
  検索条件をカスタマイズした新たな検索コマンドを定義します。
3304
3318
  .TP
3305
3319
  .B \fBquit\fP
3306
- .sp
3307
3320
  データベースとのセッションを終了します。
3308
3321
  .TP
3309
3322
  .B \fBshutdown\fP
3310
- .sp
3311
3323
  サーバ(デーモン)プロセスを停止します。
3312
3324
  .TP
3313
3325
  .B \fBlog_level\fP
3314
- .sp
3315
3326
  ログ出力レベルを設定します。
3316
3327
  .TP
3317
3328
  .B \fBlog_put\fP
3318
- .sp
3319
3329
  ログ出力を行います。
3320
3330
  .TP
3321
3331
  .B \fBclearlock\fP
3322
- .sp
3323
3332
  ロックを解除します。
3324
3333
  .UNINDENT
3325
3334
  .UNINDENT
@@ -3397,7 +3406,6 @@ httpを指定して起動したgroongaサーバに対しても、他のモード
3397
3406
  スタンドアロンやクライアントモードでは、コマンドは以下のような形式で指定します。
3398
3407
  .INDENT 0.0
3399
3408
  .INDENT 3.5
3400
- .sp
3401
3409
  形式1: コマンド名 値1 値2,..
3402
3410
  .sp
3403
3411
  形式2: コマンド名 \-\-引数名1 値1 \-\-引数名2 値2,..
@@ -3473,15 +3481,12 @@ groonga1.1からコマンドバージョンという概念が導入されます
3473
3481
  .INDENT 0.0
3474
3482
  .TP
3475
3483
  .B develop
3476
- .
3477
3484
  まだ開発中であり、仕様が変更される可能性があります。
3478
3485
  .TP
3479
3486
  .B stable
3480
- .
3481
3487
  使用可能であり仕様も安定しています。その時点で使用することが推奨されます。
3482
3488
  .TP
3483
3489
  .B deprecated
3484
- .
3485
3490
  使用可能であり仕様も安定していますが、廃止予定であり使用が推奨されません。
3486
3491
  .UNINDENT
3487
3492
  .sp
@@ -3556,7 +3561,6 @@ cache_limitは、クエリキャッシュの最大件数を取得したり設定
3556
3561
  \fBmax\fP
3557
3562
  .INDENT 0.0
3558
3563
  .INDENT 3.5
3559
- .sp
3560
3564
  クエリキャッシュの最大件数を整数で指定します。
3561
3565
  maxが指定されなかった場合には、クエリキャッシュの最大件数は変更せず、
3562
3566
  現在の設定値のみが返されます。
@@ -3603,7 +3607,6 @@ checkコマンドは、groongaプロセス内の指定したオブジェクト
3603
3607
  \fBobj\fP
3604
3608
  .INDENT 0.0
3605
3609
  .INDENT 3.5
3606
- .sp
3607
3610
  状態を表示するオブジェクトの名前を指定します。
3608
3611
  .UNINDENT
3609
3612
  .UNINDENT
@@ -3765,7 +3768,6 @@ clearlockは、対象となるオブジェクト(データベース,テーブル
3765
3768
  \fBobjname\fP
3766
3769
  .INDENT 0.0
3767
3770
  .INDENT 3.5
3768
- .sp
3769
3771
  対象となるオブジェクト名を指定します。空の場合、開いているdbオブジェクトが対象となります。
3770
3772
  .UNINDENT
3771
3773
  .UNINDENT
@@ -3826,7 +3828,6 @@ column_createは、使用しているデータベースのテーブルに対し
3826
3828
  \fBtable\fP
3827
3829
  .INDENT 0.0
3828
3830
  .INDENT 3.5
3829
- .sp
3830
3831
  カラムを追加するテーブルの名前を指定します。
3831
3832
  .UNINDENT
3832
3833
  .UNINDENT
@@ -3834,7 +3835,6 @@ column_createは、使用しているデータベースのテーブルに対し
3834
3835
  \fBname\fP
3835
3836
  .INDENT 0.0
3836
3837
  .INDENT 3.5
3837
- .sp
3838
3838
  作成するカラムの名前を指定します。カラム名は、テーブルの中で一意でなければなりません。
3839
3839
  .sp
3840
3840
  ピリオド(\(aq.\(aq), コロン(\(aq:\(aq)を含む名前のカラムは作成できません。また、アンダースコア(\(aq_\(aq)で始まる名前は予約済みであり、使用できません。
@@ -3844,20 +3844,16 @@ column_createは、使用しているデータベースのテーブルに対し
3844
3844
  \fBflags\fP
3845
3845
  .INDENT 0.0
3846
3846
  .INDENT 3.5
3847
- .sp
3848
3847
  カラムの属性を表す以下の数値か、パイプ(\(aq|\(aq)で組み合わせたシンボル名を指定します。
3849
3848
  .INDENT 0.0
3850
3849
  .TP
3851
3850
  .B 0, \fBCOLUMN_SCALAR\fP
3852
- .sp
3853
3851
  単一の値が格納できるカラムを作成します。
3854
3852
  .TP
3855
3853
  .B 1, \fBCOLUMN_VECTOR\fP
3856
- .sp
3857
3854
  複数の値の配列を格納できるカラムを作成します。
3858
3855
  .TP
3859
3856
  .B 2, \fBCOLUMN_INDEX\fP
3860
- .sp
3861
3857
  インデックス型のカラムを作成します。
3862
3858
  .UNINDENT
3863
3859
  .sp
@@ -3866,15 +3862,12 @@ column_createは、使用しているデータベースのテーブルに対し
3866
3862
  .INDENT 0.0
3867
3863
  .TP
3868
3864
  .B 128, \fBWITH_SECTION\fP
3869
- .sp
3870
3865
  段落情報を格納するインデックスを作成します。
3871
3866
  .TP
3872
3867
  .B 256, \fBWITH_WEIGHT\fP
3873
- .sp
3874
3868
  ウェイト情報を格納するインデックスを作成します。
3875
3869
  .TP
3876
3870
  .B 512, \fBWITH_POSITION\fP
3877
- .sp
3878
3871
  位置情報を格納するインデックス(完全転置インデックス)を作成します。
3879
3872
  .UNINDENT
3880
3873
  .UNINDENT
@@ -3883,7 +3876,6 @@ column_createは、使用しているデータベースのテーブルに対し
3883
3876
  \fBtype\fP
3884
3877
  .INDENT 0.0
3885
3878
  .INDENT 3.5
3886
- .sp
3887
3879
  値の型を指定します。groongaの組込型か、同一データベースに定義済みのユーザ定義型、定義済みのテーブルを指定することができます。
3888
3880
  .UNINDENT
3889
3881
  .UNINDENT
@@ -3891,7 +3883,6 @@ column_createは、使用しているデータベースのテーブルに対し
3891
3883
  \fBsource\fP
3892
3884
  .INDENT 0.0
3893
3885
  .INDENT 3.5
3894
- .sp
3895
3886
  インデックス型のカラムを作成した場合は、インデックス対象となるカラムをsource引数に指定します。
3896
3887
  .UNINDENT
3897
3888
  .UNINDENT
@@ -3946,7 +3937,6 @@ column_listはテーブルに定義されているカラムをリスト表示し
3946
3937
  .INDENT 0.0
3947
3938
  .TP
3948
3939
  .B \fBtable\fP
3949
- .sp
3950
3940
  カラム情報を出力するテーブルの名前を指定します。
3951
3941
  .UNINDENT
3952
3942
  .SS 返値
@@ -3963,14 +3953,12 @@ column_listはテーブルに定義されているカラムをリスト表示し
3963
3953
  \fBカラム情報名n\fP
3964
3954
  .INDENT 0.0
3965
3955
  .INDENT 3.5
3966
- .sp
3967
3956
  \fBカラム情報n\fP には複数の情報が含まれますが、そこに入る情報がどんな内容かを示す名前を出力します。
3968
3957
  情報名は以下の通りです。
3969
3958
  .sp
3970
3959
  \fBid\fP
3971
3960
  .INDENT 0.0
3972
3961
  .INDENT 3.5
3973
- .sp
3974
3962
  カラムオブジェクトに割り当てられたID
3975
3963
  .UNINDENT
3976
3964
  .UNINDENT
@@ -3978,7 +3966,6 @@ column_listはテーブルに定義されているカラムをリスト表示し
3978
3966
  \fBname\fP
3979
3967
  .INDENT 0.0
3980
3968
  .INDENT 3.5
3981
- .sp
3982
3969
  カラム名
3983
3970
  .UNINDENT
3984
3971
  .UNINDENT
@@ -3986,7 +3973,6 @@ column_listはテーブルに定義されているカラムをリスト表示し
3986
3973
  \fBpath\fP
3987
3974
  .INDENT 0.0
3988
3975
  .INDENT 3.5
3989
- .sp
3990
3976
  カラム値を格納するファイル名
3991
3977
  .UNINDENT
3992
3978
  .UNINDENT
@@ -3994,7 +3980,6 @@ column_listはテーブルに定義されているカラムをリスト表示し
3994
3980
  \fBtype\fP
3995
3981
  .INDENT 0.0
3996
3982
  .INDENT 3.5
3997
- .sp
3998
3983
  スカラ型、ベクタ型、インデックス型の種別
3999
3984
  .UNINDENT
4000
3985
  .UNINDENT
@@ -4002,7 +3987,6 @@ column_listはテーブルに定義されているカラムをリスト表示し
4002
3987
  \fBflags\fP
4003
3988
  .INDENT 0.0
4004
3989
  .INDENT 3.5
4005
- .sp
4006
3990
  カラムのflags属性
4007
3991
  .UNINDENT
4008
3992
  .UNINDENT
@@ -4010,7 +3994,6 @@ column_listはテーブルに定義されているカラムをリスト表示し
4010
3994
  \fBdomain\fP
4011
3995
  .INDENT 0.0
4012
3996
  .INDENT 3.5
4013
- .sp
4014
3997
  カラムの値の属する型
4015
3998
  .UNINDENT
4016
3999
  .UNINDENT
@@ -4018,7 +4001,6 @@ column_listはテーブルに定義されているカラムをリスト表示し
4018
4001
  \fBrange\fP
4019
4002
  .INDENT 0.0
4020
4003
  .INDENT 3.5
4021
- .sp
4022
4004
  テーブルのkeyの型
4023
4005
  .UNINDENT
4024
4006
  .UNINDENT
@@ -4026,7 +4008,6 @@ column_listはテーブルに定義されているカラムをリスト表示し
4026
4008
  \fBsource\fP
4027
4009
  .INDENT 0.0
4028
4010
  .INDENT 3.5
4029
- .sp
4030
4011
  インデックスカラムのとき、インデックス対象カラム名の配列
4031
4012
  .UNINDENT
4032
4013
  .UNINDENT
@@ -4036,7 +4017,6 @@ column_listはテーブルに定義されているカラムをリスト表示し
4036
4017
  \fBカラム情報型n\fP
4037
4018
  .INDENT 0.0
4038
4019
  .INDENT 3.5
4039
- .sp
4040
4020
  カラム情報の型を出力します。
4041
4021
  .UNINDENT
4042
4022
  .UNINDENT
@@ -4044,7 +4024,6 @@ column_listはテーブルに定義されているカラムをリスト表示し
4044
4024
  \fBカラム情報n\fP
4045
4025
  .INDENT 0.0
4046
4026
  .INDENT 3.5
4047
- .sp
4048
4027
  \fBカラム情報名n\fP で示された情報の配列を出力します。
4049
4028
  情報の順序は \fBカラム情報名n\fP の順序と同じです。
4050
4029
  .UNINDENT
@@ -4096,11 +4075,9 @@ column_removeはテーブルに定義されているカラムを削除します
4096
4075
  .INDENT 0.0
4097
4076
  .TP
4098
4077
  .B \fBtable\fP
4099
- .sp
4100
4078
  削除対象のカラムが定義されているテーブルの名前を指定します。
4101
4079
  .TP
4102
4080
  .B \fBname\fP
4103
- .sp
4104
4081
  削除対象のカラム名を指定します。
4105
4082
  .UNINDENT
4106
4083
  .SS 返値
@@ -4126,7 +4103,6 @@ column_remove Entry body
4126
4103
  .fi
4127
4104
  脚注
4128
4105
  .IP [1] 5
4129
- .
4130
4106
  マルチセクションインデックスの一部である場合も、インデックスが削除されます。
4131
4107
  .SS define_selector
4132
4108
  .SS 名前
@@ -4151,7 +4127,6 @@ define_selectorは、検索条件をカスタマイズした新たな検索コ
4151
4127
  \fBname\fP
4152
4128
  .INDENT 0.0
4153
4129
  .INDENT 3.5
4154
- .sp
4155
4130
  定義するselectorコマンドの名前を指定します。
4156
4131
  .UNINDENT
4157
4132
  .UNINDENT
@@ -4159,7 +4134,6 @@ define_selectorは、検索条件をカスタマイズした新たな検索コ
4159
4134
  \fBtable\fP
4160
4135
  .INDENT 0.0
4161
4136
  .INDENT 3.5
4162
- .sp
4163
4137
  検索対象のテーブルを指定します。
4164
4138
  .UNINDENT
4165
4139
  .UNINDENT
@@ -4167,7 +4141,6 @@ define_selectorは、検索条件をカスタマイズした新たな検索コ
4167
4141
  \fBmatch_columns\fP
4168
4142
  .INDENT 0.0
4169
4143
  .INDENT 3.5
4170
- .sp
4171
4144
  追加するselectorコマンドのmatch_columns引数のデフォルト値を指定します。
4172
4145
  .UNINDENT
4173
4146
  .UNINDENT
@@ -4175,7 +4148,6 @@ define_selectorは、検索条件をカスタマイズした新たな検索コ
4175
4148
  \fBquery\fP
4176
4149
  .INDENT 0.0
4177
4150
  .INDENT 3.5
4178
- .sp
4179
4151
  追加するselectorコマンドのquery引数のデフォルト値を指定します。
4180
4152
  .UNINDENT
4181
4153
  .UNINDENT
@@ -4183,7 +4155,6 @@ define_selectorは、検索条件をカスタマイズした新たな検索コ
4183
4155
  \fBfilter\fP
4184
4156
  .INDENT 0.0
4185
4157
  .INDENT 3.5
4186
- .sp
4187
4158
  追加するselectorコマンドのfilter引数のデフォルト値を指定します。
4188
4159
  .UNINDENT
4189
4160
  .UNINDENT
@@ -4191,7 +4162,6 @@ define_selectorは、検索条件をカスタマイズした新たな検索コ
4191
4162
  \fBscorer\fP
4192
4163
  .INDENT 0.0
4193
4164
  .INDENT 3.5
4194
- .sp
4195
4165
  追加するselectorコマンドのscorer引数のデフォルト値を指定します。
4196
4166
  .UNINDENT
4197
4167
  .UNINDENT
@@ -4199,7 +4169,6 @@ define_selectorは、検索条件をカスタマイズした新たな検索コ
4199
4169
  \fBsortby\fP
4200
4170
  .INDENT 0.0
4201
4171
  .INDENT 3.5
4202
- .sp
4203
4172
  追加するselectorコマンドのsortby引数のデフォルト値を指定します。
4204
4173
  .UNINDENT
4205
4174
  .UNINDENT
@@ -4207,7 +4176,6 @@ define_selectorは、検索条件をカスタマイズした新たな検索コ
4207
4176
  \fBoutput_columns\fP
4208
4177
  .INDENT 0.0
4209
4178
  .INDENT 3.5
4210
- .sp
4211
4179
  追加するselectorコマンドのoutput_columns引数のデフォルト値を指定します。
4212
4180
  .UNINDENT
4213
4181
  .UNINDENT
@@ -4215,7 +4183,6 @@ define_selectorは、検索条件をカスタマイズした新たな検索コ
4215
4183
  \fBoffset\fP
4216
4184
  .INDENT 0.0
4217
4185
  .INDENT 3.5
4218
- .sp
4219
4186
  追加するselectorコマンドのoffset引数のデフォルト値を指定します。
4220
4187
  .UNINDENT
4221
4188
  .UNINDENT
@@ -4223,7 +4190,6 @@ define_selectorは、検索条件をカスタマイズした新たな検索コ
4223
4190
  \fBlimit\fP
4224
4191
  .INDENT 0.0
4225
4192
  .INDENT 3.5
4226
- .sp
4227
4193
  追加するselectorコマンドのlimit引数のデフォルト値を指定します。
4228
4194
  .UNINDENT
4229
4195
  .UNINDENT
@@ -4231,7 +4197,6 @@ define_selectorは、検索条件をカスタマイズした新たな検索コ
4231
4197
  \fBdrilldown\fP
4232
4198
  .INDENT 0.0
4233
4199
  .INDENT 3.5
4234
- .sp
4235
4200
  追加するselectorコマンドのdrilldown引数のデフォルト値を指定します。
4236
4201
  .UNINDENT
4237
4202
  .UNINDENT
@@ -4239,7 +4204,6 @@ define_selectorは、検索条件をカスタマイズした新たな検索コ
4239
4204
  \fBdrilldown_sortby\fP
4240
4205
  .INDENT 0.0
4241
4206
  .INDENT 3.5
4242
- .sp
4243
4207
  追加するselectorコマンドのdrilldown_sortby引数のデフォルト値を指定します。
4244
4208
  .UNINDENT
4245
4209
  .UNINDENT
@@ -4247,7 +4211,6 @@ define_selectorは、検索条件をカスタマイズした新たな検索コ
4247
4211
  \fBdrilldown_output_columns\fP
4248
4212
  .INDENT 0.0
4249
4213
  .INDENT 3.5
4250
- .sp
4251
4214
  追加するselectorコマンドのdrilldown_output_columns引数のデフォルト値を指定します。
4252
4215
  .UNINDENT
4253
4216
  .UNINDENT
@@ -4255,7 +4218,6 @@ define_selectorは、検索条件をカスタマイズした新たな検索コ
4255
4218
  \fBdrilldown_offset\fP
4256
4219
  .INDENT 0.0
4257
4220
  .INDENT 3.5
4258
- .sp
4259
4221
  追加するselectorコマンドのdrilldown_offset引数のデフォルト値を指定します。
4260
4222
  .UNINDENT
4261
4223
  .UNINDENT
@@ -4263,7 +4225,6 @@ define_selectorは、検索条件をカスタマイズした新たな検索コ
4263
4225
  \fBdrilldown_limit\fP
4264
4226
  .INDENT 0.0
4265
4227
  .INDENT 3.5
4266
- .sp
4267
4228
  追加するselectorコマンドのdrilldown_limit引数のデフォルト値を指定します。
4268
4229
  .UNINDENT
4269
4230
  .UNINDENT
@@ -4313,7 +4274,6 @@ defragは、対象となるオブジェクト(データベースか可変長サ
4313
4274
  \fBobjname\fP
4314
4275
  .INDENT 0.0
4315
4276
  .INDENT 3.5
4316
- .sp
4317
4277
  対象となるオブジェクト名を指定します。空の場合、開いているdbオブジェクトが対象となります。
4318
4278
  .UNINDENT
4319
4279
  .UNINDENT
@@ -4369,7 +4329,6 @@ deleteは、使用しているデータベースのテーブルに1件のレコ
4369
4329
  \fBtable\fP
4370
4330
  .INDENT 0.0
4371
4331
  .INDENT 3.5
4372
- .sp
4373
4332
  レコードを削除しようとするテーブルの名前を指定します。
4374
4333
  .UNINDENT
4375
4334
  .UNINDENT
@@ -4377,7 +4336,6 @@ deleteは、使用しているデータベースのテーブルに1件のレコ
4377
4336
  \fBkey\fP
4378
4337
  .INDENT 0.0
4379
4338
  .INDENT 3.5
4380
- .sp
4381
4339
  削除するレコードの主キー値を指定します。主キーなしのテーブルの場合はこのパラメータを指定しても無視されます(idパラメータを代わりに指定します)。
4382
4340
  .UNINDENT
4383
4341
  .UNINDENT
@@ -4385,7 +4343,6 @@ deleteは、使用しているデータベースのテーブルに1件のレコ
4385
4343
  \fBid\fP
4386
4344
  .INDENT 0.0
4387
4345
  .INDENT 3.5
4388
- .sp
4389
4346
  レコードIDによってレコードを指定します。idパラメータを指定する場合は、keyパラメータを指定してはいけません。
4390
4347
  .UNINDENT
4391
4348
  .UNINDENT
@@ -4448,7 +4405,6 @@ dumpが出力するフォーマットは直接groongaが解釈できるフォー
4448
4405
  \fBtables\fP
4449
4406
  .INDENT 0.0
4450
4407
  .INDENT 3.5
4451
- .sp
4452
4408
  出力対象のテーブルを「,」(カンマ)区切りで指定します。存在しないテーブルを指定した場合は無視されます。
4453
4409
  .UNINDENT
4454
4410
  .UNINDENT
@@ -4526,18 +4482,15 @@ loadは、使用しているデータベースのテーブルにレコードを
4526
4482
  \fBvalues\fP
4527
4483
  .INDENT 0.0
4528
4484
  .INDENT 3.5
4529
- .sp
4530
4485
  input_typeに指定する形式で登録するレコードの値を表現した文字列を渡します。
4531
4486
  .sp
4532
4487
  input_typeがjsonである場合には、以下のいずれかの形式が使用できます。
4533
4488
  .INDENT 0.0
4534
4489
  .TP
4535
4490
  .B \fB形式1\fP
4536
- .sp
4537
4491
  [[カラム名1, カラム名2,..], [カラム値1, カラム値2,..], [カラム値1, カラム値2,..],..]
4538
4492
  .TP
4539
4493
  .B \fB形式2\fP
4540
- .sp
4541
4494
  [{カラム名1: カラム値1, カラム名2: カラム値2}, {カラム名1: カラム値1, カラム名2: カラム値2},..]
4542
4495
  .UNINDENT
4543
4496
  .sp
@@ -4554,7 +4507,6 @@ values引数が省略された場合には、括弧の対応が取れるまで
4554
4507
  \fBtable\fP
4555
4508
  .INDENT 0.0
4556
4509
  .INDENT 3.5
4557
- .sp
4558
4510
  レコードを追加しようとするテーブルの名前を指定します。
4559
4511
  .UNINDENT
4560
4512
  .UNINDENT
@@ -4562,7 +4514,6 @@ values引数が省略された場合には、括弧の対応が取れるまで
4562
4514
  \fBcolumns\fP
4563
4515
  .INDENT 0.0
4564
4516
  .INDENT 3.5
4565
- .sp
4566
4517
  テーブルに登録するレコードに値を設定するカラム名のリストを、カンマ区切りで指定します。
4567
4518
  .UNINDENT
4568
4519
  .UNINDENT
@@ -4570,7 +4521,6 @@ values引数が省略された場合には、括弧の対応が取れるまで
4570
4521
  \fBifexists\fP
4571
4522
  .INDENT 0.0
4572
4523
  .INDENT 3.5
4573
- .sp
4574
4524
  指定した主キーに対応するレコードが既にテーブルに登録済みであった場合に実行するscript形式のgrn_expr文字列を指定します。ifexistsにgrn_exprが指定された場合は、式の値が真である場合に限り、その他のカラムの値が更新されます。(デフォルトはtrue)
4575
4525
  .UNINDENT
4576
4526
  .UNINDENT
@@ -4578,7 +4528,6 @@ values引数が省略された場合には、括弧の対応が取れるまで
4578
4528
  \fBinput_type\fP
4579
4529
  .INDENT 0.0
4580
4530
  .INDENT 3.5
4581
- .sp
4582
4531
  入力形式を指定します。JSONのみに対応しています。
4583
4532
  .UNINDENT
4584
4533
  .UNINDENT
@@ -4594,7 +4543,6 @@ values引数が省略された場合には、括弧の対応が取れるまで
4594
4543
  \fB登録件数\fP
4595
4544
  .INDENT 0.0
4596
4545
  .INDENT 3.5
4597
- .sp
4598
4546
  テーブルに登録されたレコードの件数が返されます。
4599
4547
  .UNINDENT
4600
4548
  .UNINDENT
@@ -4646,11 +4594,9 @@ log_levelは、ログ出力レベルを設定します。
4646
4594
  \fBlevel\fP
4647
4595
  .INDENT 0.0
4648
4596
  .INDENT 3.5
4649
- .sp
4650
4597
  設定するログ出力レベルの値を以下のいずれかで指定します。
4651
4598
  .INDENT 0.0
4652
4599
  .INDENT 3.5
4653
- .sp
4654
4600
  EMERG
4655
4601
  ALERT
4656
4602
  CRIT
@@ -4708,11 +4654,9 @@ log_putは、ログにmessageを出力します。
4708
4654
  \fBlevel\fP
4709
4655
  .INDENT 0.0
4710
4656
  .INDENT 3.5
4711
- .sp
4712
4657
  設定するログ出力レベルの値を以下のいずれかで指定します。
4713
4658
  .INDENT 0.0
4714
4659
  .INDENT 3.5
4715
- .sp
4716
4660
  EMERG
4717
4661
  ALERT
4718
4662
  CRIT
@@ -4729,7 +4673,6 @@ debug
4729
4673
  \fBmessage\fP
4730
4674
  .INDENT 0.0
4731
4675
  .INDENT 3.5
4732
- .sp
4733
4676
  出力する文字列を指定します。
4734
4677
  .UNINDENT
4735
4678
  .UNINDENT
@@ -4802,14 +4745,11 @@ log_reopen
4802
4745
  .SS log_reopenを用いたログのローテーション
4803
4746
  .INDENT 0.0
4804
4747
  .IP 1. 3
4805
- .
4806
4748
  ログファイルをmvなどで移動する。
4807
4749
  ログはmvで移動された先のファイルに書き込まれる。
4808
4750
  .IP 2. 3
4809
- .
4810
4751
  log_reopenコマンドを実行する。
4811
4752
  .IP 3. 3
4812
- .
4813
4753
  既存のログファイル名と同じファイル名で、新たなログファイルが作成される。
4814
4754
  今後のログは新たなログファイルに書き込まれる。
4815
4755
  .UNINDENT
@@ -4857,7 +4797,7 @@ select \- テーブルの中から条件にマッチするレコードを検索
4857
4797
  select table [match_columns [query [filter [scorer [sortby [output_columns
4858
4798
  [offset [limit [drilldown [drilldown_sortby [drilldown_output_columns
4859
4799
  [drilldown_offset [drilldown_limit [cache
4860
- [match_escalation_threshold]]]]]]]]]]]]]]]
4800
+ [match_escalation_threshold [query_expansion]]]]]]]]]]]]]]]]
4861
4801
  .ft P
4862
4802
  .fi
4863
4803
  .SS 説明
@@ -4870,7 +4810,6 @@ selectは、使用しているデータベースのテーブルの中から条
4870
4810
  \fBtable\fP
4871
4811
  .INDENT 0.0
4872
4812
  .INDENT 3.5
4873
- .sp
4874
4813
  検索対象のテーブルを指定します。存在しないテーブルを指定した場合はエラーになります。
4875
4814
  .UNINDENT
4876
4815
  .UNINDENT
@@ -4878,11 +4817,9 @@ selectは、使用しているデータベースのテーブルの中から条
4878
4817
  \fBmatch_columns\fP
4879
4818
  .INDENT 0.0
4880
4819
  .INDENT 3.5
4881
- .sp
4882
4820
  query引数に指定する検索条件文字列でデフォルトの検索対象となるカラムを指定します。
4883
4821
  .INDENT 0.0
4884
4822
  .INDENT 3.5
4885
- .sp
4886
4823
  カラム名
4887
4824
  .UNINDENT
4888
4825
  .UNINDENT
@@ -4890,7 +4827,6 @@ query引数に指定する検索条件文字列でデフォルトの検索対象
4890
4827
  カラム名の後ろに\(aq* 数値\(aqを指定することによって、そのカラムにヒットした際のスコアに積算される重みを指定することができます。
4891
4828
  .INDENT 0.0
4892
4829
  .INDENT 3.5
4893
- .sp
4894
4830
  カラム名 * 重み
4895
4831
  .UNINDENT
4896
4832
  .UNINDENT
@@ -4898,7 +4834,6 @@ query引数に指定する検索条件文字列でデフォルトの検索対象
4898
4834
  複数のカラムを\(aq||\(aqで結合して指定することもできます。
4899
4835
  .INDENT 0.0
4900
4836
  .INDENT 3.5
4901
- .sp
4902
4837
  カラム名1 * 重み1 || カラム名2 * 重み2
4903
4838
  .UNINDENT
4904
4839
  .UNINDENT
@@ -4910,7 +4845,6 @@ query引数に指定する検索条件文字列でデフォルトの検索対象
4910
4845
  \fBquery\fP
4911
4846
  .INDENT 0.0
4912
4847
  .INDENT 3.5
4913
- .sp
4914
4848
  以下の形式の文字列によって検索条件を指定します。
4915
4849
  .UNINDENT
4916
4850
  .UNINDENT
@@ -4920,39 +4854,30 @@ query引数に指定する検索条件文字列でデフォルトの検索対象
4920
4854
  .INDENT 0.0
4921
4855
  .TP
4922
4856
  .B 文字列
4923
- .
4924
4857
  全文検索条件(デフォルト検索対象カラムの値が指定された文字列を含んでいる)
4925
4858
  .TP
4926
4859
  .B "文字列"
4927
- .
4928
4860
  フレーズ検索条件(デフォルト検索対象カラムの値が指定されたフレーズを含んでいる)
4929
4861
  .TP
4930
4862
  .B カラム名:値
4931
- .
4932
4863
  一致条件(カラム値 == 値)
4933
4864
  .TP
4934
4865
  .B カラム名:!値
4935
- .
4936
4866
  不一致条件(カラム値 != 値)
4937
4867
  .TP
4938
4868
  .B カラム名:<値
4939
- .
4940
4869
  比較条件(カラム値 < 値)
4941
4870
  .TP
4942
4871
  .B カラム名:>値
4943
- .
4944
4872
  比較条件(カラム値 > 値)
4945
4873
  .TP
4946
4874
  .B カラム名:<=値
4947
- .
4948
4875
  比較条件(カラム値 <= 値)
4949
4876
  .TP
4950
4877
  .B カラム名:>=値
4951
- .
4952
4878
  比較条件(カラム値 >= 値)
4953
4879
  .TP
4954
4880
  .B カラム名:@文字列
4955
- .
4956
4881
  全文検索条件(カラム値が指定された文字列を含んでいる)
4957
4882
  .UNINDENT
4958
4883
  .SS 結合演算子
@@ -4961,26 +4886,21 @@ query引数に指定する検索条件文字列でデフォルトの検索対象
4961
4886
  .INDENT 0.0
4962
4887
  .TP
4963
4888
  .B a OR b
4964
- .
4965
4889
  論理和(aとbといずれかの条件がマッチする)
4966
4890
  .TP
4967
4891
  .B a + b
4968
- .
4969
4892
  論理積(aとbの両方がマッチする)
4970
4893
  .TP
4971
4894
  .B a \- b
4972
- .
4973
4895
  aにマッチし、bにはマッチしない
4974
4896
  .TP
4975
4897
  .B ( )
4976
- .
4977
4898
  複数の条件をまとめる
4978
4899
  .UNINDENT
4979
4900
  .sp
4980
4901
  \fBfilter\fP
4981
4902
  .INDENT 0.0
4982
4903
  .INDENT 3.5
4983
- .sp
4984
4904
  絞り込み条件をscript形式のgrn_expr文字列によって指定します。
4985
4905
  .sp
4986
4906
  query引数とfilter引数をどちらも指定した場合は、両方の条件を満足するレコードのみがヒットします。どちらも指定しない場合は全件がヒットします。
@@ -4990,7 +4910,6 @@ query引数とfilter引数をどちらも指定した場合は、両方の条件
4990
4910
  \fBscorer\fP
4991
4911
  .INDENT 0.0
4992
4912
  .INDENT 3.5
4993
- .sp
4994
4913
  検索条件にマッチする全てのレコードに対して適用するgrn_exprをscript形式で指定します。
4995
4914
  .sp
4996
4915
  scorerは、検索処理が完了し、ソート処理が実行される前に呼び出されます。従って、各レコードのスコアを操作する式を指定しておけば、検索結果のソート順序をカスタマイズできるようになります。
@@ -5000,7 +4919,6 @@ scorerは、検索処理が完了し、ソート処理が実行される前に
5000
4919
  \fBsortby\fP
5001
4920
  .INDENT 0.0
5002
4921
  .INDENT 3.5
5003
- .sp
5004
4922
  ソートキーとなるカラム名のリストをカンマ(\(aq,\(aq)区切りで指定します。:
5005
4923
  .sp
5006
4924
  .nf
@@ -5018,7 +4936,6 @@ query引数またはfilter引数を指定した場合はカラム名に\(aq_scor
5018
4936
  \fBoutput_columns\fP
5019
4937
  .INDENT 0.0
5020
4938
  .INDENT 3.5
5021
- .sp
5022
4939
  出力するカラム名のリストをカンマ(\(aq,\(aq)区切りで指定します。
5023
4940
  .sp
5024
4941
  アスタリスク(\(aq*\(aq)を指定すると、全てのカラムが指定されたものとみなされます。または、script形式のgrn_expr文字列を指定します。 (デフォルトは、\(aq_id, _key, *\(aq)
@@ -5028,7 +4945,6 @@ query引数またはfilter引数を指定した場合はカラム名に\(aq_scor
5028
4945
  \fBoffset\fP
5029
4946
  .INDENT 0.0
5030
4947
  .INDENT 3.5
5031
- .sp
5032
4948
  検索条件にマッチしたレコードのうち、出力対象となる最初のレコードの番号を0ベースで指定します。デフォルト値は0です。offsetに負の値を指定した場合は、ヒットした件数 + offset によって算出される値が指定されたものとみなされます。
5033
4949
  .UNINDENT
5034
4950
  .UNINDENT
@@ -5036,7 +4952,6 @@ query引数またはfilter引数を指定した場合はカラム名に\(aq_scor
5036
4952
  \fBlimit\fP
5037
4953
  .INDENT 0.0
5038
4954
  .INDENT 3.5
5039
- .sp
5040
4955
  検索条件にマッチしたレコードのうち、出力を行うレコードの件数を指定します。デフォルト値は10です。実際には、offset + limit がヒットした件数を超えない範囲でレコードが出力されます。limitに負の値を指定した場合は、ヒットした件数 + limit + 1 によって算出される値が指定されたものとみなされます。
5041
4956
  .UNINDENT
5042
4957
  .UNINDENT
@@ -5044,7 +4959,6 @@ query引数またはfilter引数を指定した場合はカラム名に\(aq_scor
5044
4959
  \fBdrilldown\fP
5045
4960
  .INDENT 0.0
5046
4961
  .INDENT 3.5
5047
- .sp
5048
4962
  グループ化のキーとなるカラム名のリストをカンマ(\(aq,\(aq)区切りで指定します。検索条件にマッチした各レコードを出力したのちに、drilldownに指定されたカラムの値が同一であるレコードをとりまとめて、それぞれについて結果レコードを出力します。
5049
4963
  .UNINDENT
5050
4964
  .UNINDENT
@@ -5052,7 +4966,6 @@ query引数またはfilter引数を指定した場合はカラム名に\(aq_scor
5052
4966
  \fBdrilldown_sortby\fP
5053
4967
  .INDENT 0.0
5054
4968
  .INDENT 3.5
5055
- .sp
5056
4969
  drilldown条件に指定されたカラムの値毎にとりまとめられたレコードについて、ソートキーとなるカラム名のリストをカンマ(\(aq,\(aq)区切りで指定します。sortbyパラメータと同様に昇降順を指定できます。
5057
4970
  .UNINDENT
5058
4971
  .UNINDENT
@@ -5060,7 +4973,6 @@ drilldown条件に指定されたカラムの値毎にとりまとめられた
5060
4973
  \fBdrilldown_output_columns\fP
5061
4974
  .INDENT 0.0
5062
4975
  .INDENT 3.5
5063
- .sp
5064
4976
  drilldown条件に指定されたカラムの値毎にとりまとめられたレコードについて、出力するカラム名のリストをカンマ(\(aq,\(aq)区切りで指定します。
5065
4977
  .UNINDENT
5066
4978
  .UNINDENT
@@ -5068,7 +4980,6 @@ drilldown条件に指定されたカラムの値毎にとりまとめられた
5068
4980
  \fBdrilldown_offset\fP
5069
4981
  .INDENT 0.0
5070
4982
  .INDENT 3.5
5071
- .sp
5072
4983
  drilldown条件に指定されたカラムの値毎にとりまとめられたレコードについて、出力対象となる最初のレコードの番号を0ベースで指定します。デフォルト値は0です。drilldown_offsetに負の値を指定した場合は、ヒットした件数 + drilldown_offsetによって算出される値が指定されたものとみなされます。
5073
4984
  .UNINDENT
5074
4985
  .UNINDENT
@@ -5076,7 +4987,6 @@ drilldown条件に指定されたカラムの値毎にとりまとめられた
5076
4987
  \fBdrilldown_limit\fP
5077
4988
  .INDENT 0.0
5078
4989
  .INDENT 3.5
5079
- .sp
5080
4990
  drilldown条件に指定されたカラムの値毎にとりまとめられたレコードについて、出力を行うレコードの件数を指定します。デフォルト値は10です。実際には、drilldown_offset + drilldown_limit がヒットした件数を超えない範囲でレコードが出力されます。drilldown_limitに負の値を指定した場合は、ヒットした件数 + drilldown_limit + 1 によって算出される値が指定されたものとみなされます。
5081
4991
  .UNINDENT
5082
4992
  .UNINDENT
@@ -5084,15 +4994,12 @@ drilldown条件に指定されたカラムの値毎にとりまとめられた
5084
4994
  \fBcache\fP
5085
4995
  .INDENT 0.0
5086
4996
  .INDENT 3.5
5087
- .sp
5088
4997
  クエリキャッシュに関する動作を設定します。
5089
4998
  .INDENT 0.0
5090
4999
  .INDENT 3.5
5091
- .sp
5092
5000
  \fBno\fP
5093
5001
  .INDENT 0.0
5094
5002
  .INDENT 3.5
5095
- .sp
5096
5003
  検索結果をクエリキャッシュに残しません。キャッシュして再利用される可能性が低いクエリに対して用います。キャッシュ容量は有限です。有効なキャッシュが多くヒットするために、このパラメータは有効です。
5097
5004
  .UNINDENT
5098
5005
  .UNINDENT
@@ -5104,19 +5011,15 @@ drilldown条件に指定されたカラムの値毎にとりまとめられた
5104
5011
  \fBmatch_escalation_threshold\fP
5105
5012
  .INDENT 0.0
5106
5013
  .INDENT 3.5
5107
- .sp
5108
5014
  検索の挙動をエスカレーションするかどうかの閾値を設定します。デフォルト値は0です。デフォルト値は以下のいずれかの方法で設定できます。
5109
5015
  .INDENT 0.0
5110
5016
  .INDENT 3.5
5111
5017
  .INDENT 0.0
5112
5018
  .IP \(bu 2
5113
- .
5114
5019
  configureの\-\-with\-match\-escalation\-thresholdオプション
5115
5020
  .IP \(bu 2
5116
- .
5117
5021
  groongaコマンド起動時の\-\-match\-escalation\-thresholdオプション
5118
5022
  .IP \(bu 2
5119
- .
5120
5023
  設定ファイル中のmatch\-escalation\-threshold設定項目
5121
5024
  .UNINDENT
5122
5025
  .UNINDENT
@@ -5125,6 +5028,15 @@ groongaコマンド起動時の\-\-match\-escalation\-thresholdオプション
5125
5028
  クエリのヒット件数が閾値を越えない場合は \fB/spec/search\fP で説明している方法で検索方法をエスカレーションしてきます。
5126
5029
  .UNINDENT
5127
5030
  .UNINDENT
5031
+ .sp
5032
+ \fBquery_expansion\fP
5033
+ .INDENT 0.0
5034
+ .INDENT 3.5
5035
+ query_expansionパラメータには、queryパラメータに指定された文字列を置換(拡張)する条件となるテーブル・カラムを指定します。フォーマットは「${テーブル名}.${カラム名}」となります。指定するテーブルは文字列を主キーとするハッシュ型あるいはパトリシア木型のテーブルで、一つ以上の文字列型のカラムが定義されている必要があります。(ここでは置換テーブルと呼びます。)
5036
+ .sp
5037
+ queryパラメータに指定された文字列が、指定されたテーブルの主キーと完全一致する場合、その文字列を指定されたカラム値の文字列に置換します。queryパラメータが、空白、括弧、演算子などを含む場合は、その演算子によって区切られた文字列の単位で置換が実行されます。ダブルクォート("")で括られた範囲は、その内部に空白を含んでいても一つの置換される単位と見なされます。検索文字列と置換テーブルの主キー値との比較に際して大文字小文字等を区別したくない場合には、置換テーブルを定義する際にKEY_NORMALIZEを指定します。置換後の文字列となるカラムの値には、括弧や*, ORなど、queryパラメータで利用可能な全ての演算子を指定することができます。
5038
+ .UNINDENT
5039
+ .UNINDENT
5128
5040
  .SS 返値
5129
5041
  .sp
5130
5042
  以下のようなjson形式で値が返却されます。
@@ -5138,7 +5050,6 @@ groongaコマンド起動時の\-\-match\-escalation\-thresholdオプション
5138
5050
  \fBリターンコード\fP
5139
5051
  .INDENT 0.0
5140
5052
  .INDENT 3.5
5141
- .sp
5142
5053
  grn_rcに対応する数値が返されます。0(GRN_SUCCESS)以外の場合は、続いてエラー内容を示す
5143
5054
  文字列が返されます。
5144
5055
  .UNINDENT
@@ -5147,7 +5058,6 @@ grn_rcに対応する数値が返されます。0(GRN_SUCCESS)以外の場合は
5147
5058
  \fB処理開始時間\fP
5148
5059
  .INDENT 0.0
5149
5060
  .INDENT 3.5
5150
- .sp
5151
5061
  処理を開始した時間について、1970年1月1日0時0分0秒を起点とした秒数を小数で返します。
5152
5062
  .UNINDENT
5153
5063
  .UNINDENT
@@ -5155,7 +5065,6 @@ grn_rcに対応する数値が返されます。0(GRN_SUCCESS)以外の場合は
5155
5065
  \fB処理時間\fP
5156
5066
  .INDENT 0.0
5157
5067
  .INDENT 3.5
5158
- .sp
5159
5068
  処理にかかった秒数を返します。
5160
5069
  .UNINDENT
5161
5070
  .UNINDENT
@@ -5163,7 +5072,6 @@ grn_rcに対応する数値が返されます。0(GRN_SUCCESS)以外の場合は
5163
5072
  \fB検索結果\fP
5164
5073
  .INDENT 0.0
5165
5074
  .INDENT 3.5
5166
- .sp
5167
5075
  drilldown条件が実行される前の検索結果が以下のように出力されます。:
5168
5076
  .sp
5169
5077
  .nf
@@ -5175,7 +5083,6 @@ drilldown条件が実行される前の検索結果が以下のように出力
5175
5083
  \fB検索件数\fP
5176
5084
  .INDENT 0.0
5177
5085
  .INDENT 3.5
5178
- .sp
5179
5086
  検索件数が出力されます。
5180
5087
  .UNINDENT
5181
5088
  .UNINDENT
@@ -5183,7 +5090,6 @@ drilldown条件が実行される前の検索結果が以下のように出力
5183
5090
  \fBカラム名n\fP
5184
5091
  .INDENT 0.0
5185
5092
  .INDENT 3.5
5186
- .sp
5187
5093
  output_columnsに指定された条件に従って、対象となるカラム名が出力されます。
5188
5094
  .UNINDENT
5189
5095
  .UNINDENT
@@ -5191,7 +5097,6 @@ output_columnsに指定された条件に従って、対象となるカラム名
5191
5097
  \fBカラム型n\fP
5192
5098
  .INDENT 0.0
5193
5099
  .INDENT 3.5
5194
- .sp
5195
5100
  output_columnsに指定された条件に従って、対象となるカラム型が出力されます。
5196
5101
  .UNINDENT
5197
5102
  .UNINDENT
@@ -5199,7 +5104,6 @@ output_columnsに指定された条件に従って、対象となるカラム型
5199
5104
  \fB検索結果n\fP
5200
5105
  .INDENT 0.0
5201
5106
  .INDENT 3.5
5202
- .sp
5203
5107
  output_columns, offset, limitによって指定された条件に従って各レコードの値が出力されます。
5204
5108
  .UNINDENT
5205
5109
  .UNINDENT
@@ -5209,7 +5113,6 @@ output_columns, offset, limitによって指定された条件に従って各レ
5209
5113
  \fBdrilldown結果\fP
5210
5114
  .INDENT 0.0
5211
5115
  .INDENT 3.5
5212
- .sp
5213
5116
  drilldown処理の結果が以下のように出力されます。:
5214
5117
  .sp
5215
5118
  .nf
@@ -5221,7 +5124,6 @@ drilldown処理の結果が以下のように出力されます。:
5221
5124
  \fB件数\fP
5222
5125
  .INDENT 0.0
5223
5126
  .INDENT 3.5
5224
- .sp
5225
5127
  drilldownに指定されたカラムの値の異なり数が出力されます。
5226
5128
  .UNINDENT
5227
5129
  .UNINDENT
@@ -5229,7 +5131,6 @@ drilldownに指定されたカラムの値の異なり数が出力されます
5229
5131
  \fBカラム名n\fP
5230
5132
  .INDENT 0.0
5231
5133
  .INDENT 3.5
5232
- .sp
5233
5134
  drilldown_output_columnsに指定された条件に従って、対象となるカラム名が出力されます。
5234
5135
  .UNINDENT
5235
5136
  .UNINDENT
@@ -5237,7 +5138,6 @@ drilldown_output_columnsに指定された条件に従って、対象となる
5237
5138
  \fBカラム型n\fP
5238
5139
  .INDENT 0.0
5239
5140
  .INDENT 3.5
5240
- .sp
5241
5141
  drilldown_output_columnsに指定された条件に従って、対象となるカラム型が出力されます。
5242
5142
  .UNINDENT
5243
5143
  .UNINDENT
@@ -5245,7 +5145,6 @@ drilldown_output_columnsに指定された条件に従って、対象となる
5245
5145
  \fBドリルダウン結果n\fP
5246
5146
  .INDENT 0.0
5247
5147
  .INDENT 3.5
5248
- .sp
5249
5148
  drilldown_output_columns, drilldown_offset, drilldown_limitによって指定された条件に従って各レコードの値が出力されます。
5250
5149
  .UNINDENT
5251
5150
  .UNINDENT
@@ -5345,7 +5244,6 @@ status
5345
5244
  .fi
5346
5245
  .SS suggest
5347
5246
  .IP Note
5348
- .
5349
5247
  The suggest feature specification isn\(aqt stable. The
5350
5248
  specification may be changed.
5351
5249
  .RE
@@ -5370,7 +5268,6 @@ correction and suggestion.
5370
5268
  .INDENT 0.0
5371
5269
  .TP
5372
5270
  .B \fBtypes\fP
5373
- .sp
5374
5271
  It specifies what types are returned by the suggest
5375
5272
  command.
5376
5273
  .sp
@@ -5380,15 +5277,12 @@ Here are available types:
5380
5277
  .INDENT 0.0
5381
5278
  .TP
5382
5279
  .B \fBcomplete\fP
5383
- .sp
5384
5280
  The suggest command does completion.
5385
5281
  .TP
5386
5282
  .B \fBcorrect\fP
5387
- .sp
5388
5283
  The suggest command does correction.
5389
5284
  .TP
5390
5285
  .B \fBsuggest\fP
5391
- .sp
5392
5286
  The suggest command does suggestion.
5393
5287
  .UNINDENT
5394
5288
  .UNINDENT
@@ -5398,7 +5292,6 @@ You can specify one or more types separated by \fB|\fP.
5398
5292
  Here are examples:
5399
5293
  .INDENT 7.0
5400
5294
  .INDENT 3.5
5401
- .sp
5402
5295
  It returns correction:
5403
5296
  .sp
5404
5297
  .nf
@@ -5426,7 +5319,6 @@ complete|correct|suggest
5426
5319
  .UNINDENT
5427
5320
  .TP
5428
5321
  .B \fBtable\fP
5429
- .sp
5430
5322
  It specifies table name that has \fBitem_${DATA_SET_NAME}\(ga format.
5431
5323
  For example, \(ga\(gaitem_query\fP is a table name if you created
5432
5324
  dataset by the following command:
@@ -5438,63 +5330,51 @@ groonga\-suggest\-create\-dataset /tmp/db\-path query
5438
5330
  .fi
5439
5331
  .TP
5440
5332
  .B \fBcolumn\fP
5441
- .sp
5442
5333
  It specifies a column name that has furigana in
5443
5334
  Katakana in \fBtable\fP table.
5444
5335
  .TP
5445
5336
  .B \fBquery\fP
5446
- .sp
5447
5337
  It specifies query for completion, correction and/or
5448
5338
  suggestion.
5449
5339
  .TP
5450
5340
  .B \fBsortby\fP
5451
- .sp
5452
5341
  It specifies sort key.
5453
5342
  .INDENT 7.0
5454
5343
  .TP
5455
5344
  .B Default:
5456
- .
5457
5345
  \fB\-_score\fP
5458
5346
  .UNINDENT
5459
5347
  .TP
5460
5348
  .B \fBoutput_columns\fP
5461
- .sp
5462
5349
  It specifies output columns.
5463
5350
  .INDENT 7.0
5464
5351
  .TP
5465
5352
  .B Default:
5466
- .
5467
5353
  \fB_key,_score\fP
5468
5354
  .UNINDENT
5469
5355
  .TP
5470
5356
  .B \fBoffset\fP
5471
- .sp
5472
5357
  It specifies returned records offset.
5473
5358
  .INDENT 7.0
5474
5359
  .TP
5475
5360
  .B Default:
5476
- .
5477
5361
  \fB0\fP
5478
5362
  .UNINDENT
5479
5363
  .TP
5480
5364
  .B \fBlimit\fP
5481
- .sp
5482
5365
  It specifies number of returned records.
5483
5366
  .INDENT 7.0
5484
5367
  .TP
5485
5368
  .B Default:
5486
- .
5487
5369
  \fB10\fP
5488
5370
  .UNINDENT
5489
5371
  .TP
5490
5372
  .B \fBfrequency_threshold\fP
5491
- .sp
5492
5373
  It specifies threshold for item frequency. Returned records must have
5493
5374
  \fB_score\fP that is greater than or equal to \fBfrequency_threshold\fP.
5494
5375
  .INDENT 7.0
5495
5376
  .TP
5496
5377
  .B Default:
5497
- .
5498
5378
  \fB100\fP
5499
5379
  .UNINDENT
5500
5380
  .UNINDENT
@@ -5502,7 +5382,6 @@ It specifies threshold for item frequency. Returned records must have
5502
5382
  \fBconditional_probability_threshold\fP
5503
5383
  .INDENT 0.0
5504
5384
  .INDENT 3.5
5505
- .sp
5506
5385
  It specifies threshold for conditional
5507
5386
  probability. Conditional probability is used for learned
5508
5387
  data. It is probability of query submission when \fBquery\fP
@@ -5512,7 +5391,6 @@ probability that is greater than or equal to
5512
5391
  .INDENT 0.0
5513
5392
  .TP
5514
5393
  .B Default:
5515
- .
5516
5394
  \fB0.2\fP
5517
5395
  .UNINDENT
5518
5396
  .UNINDENT
@@ -5520,7 +5398,6 @@ probability that is greater than or equal to
5520
5398
  .INDENT 0.0
5521
5399
  .TP
5522
5400
  .B \fBprefix_search\fP
5523
- .sp
5524
5401
  It specifies whether optional prefix search is used or not
5525
5402
  in completion.
5526
5403
  .sp
@@ -5530,15 +5407,12 @@ Here are available values:
5530
5407
  .INDENT 0.0
5531
5408
  .TP
5532
5409
  .B \fByes\fP
5533
- .sp
5534
5410
  Prefix search is always used.
5535
5411
  .TP
5536
5412
  .B \fBno\fP
5537
- .sp
5538
5413
  Prefix search is never used.
5539
5414
  .TP
5540
5415
  .B \fBauto\fP
5541
- .sp
5542
5416
  Prefix search is used only when other search can\(aqt
5543
5417
  find any records.
5544
5418
  .UNINDENT
@@ -5547,7 +5421,6 @@ find any records.
5547
5421
  .INDENT 7.0
5548
5422
  .TP
5549
5423
  .B Default:
5550
- .
5551
5424
  \fBauto\fP
5552
5425
  .UNINDENT
5553
5426
  .UNINDENT
@@ -5571,7 +5444,6 @@ Here is a returned JSON format:
5571
5444
  \fBtype\fP
5572
5445
  .INDENT 0.0
5573
5446
  .INDENT 3.5
5574
- .sp
5575
5447
  A type specified by \fBtypes\fP.
5576
5448
  .UNINDENT
5577
5449
  .UNINDENT
@@ -5579,7 +5451,6 @@ A type specified by \fBtypes\fP.
5579
5451
  \fBcandidate\fP
5580
5452
  .INDENT 0.0
5581
5453
  .INDENT 3.5
5582
- .sp
5583
5454
  A candidate for completion, correction or suggestion.
5584
5455
  .UNINDENT
5585
5456
  .UNINDENT
@@ -5587,7 +5458,6 @@ A candidate for completion, correction or suggestion.
5587
5458
  \fBscore of candidate\fP
5588
5459
  .INDENT 0.0
5589
5460
  .INDENT 3.5
5590
- .sp
5591
5461
  A score of corresponding \fBcandidate\fP. It means that
5592
5462
  higher score candidate is more likely candidate for
5593
5463
  completion, correction or suggestion. Returned candidates
@@ -5612,7 +5482,7 @@ Execution example:
5612
5482
  > {"sequence": "1", "time": 1312950804.76057, "item": "engin"},
5613
5483
  > {"sequence": "1", "time": 1312950805.86057, "item": "engine", "type": "submit"}
5614
5484
  > ]
5615
- [[0,1313562872.82845,1.577141877],6]
5485
+ [[0,1317212843.70335,1.584911917],6]
5616
5486
  .ft P
5617
5487
  .fi
5618
5488
  .sp
@@ -5633,7 +5503,7 @@ Execution example:
5633
5503
  > {"sequence": "2", "time": 1312950809.76057, "item": "serch"},
5634
5504
  > {"sequence": "2", "time": 1312950810.86057, "item": "search", "type": "submit"}
5635
5505
  > ]
5636
- [[0,1313562874.6075,2.004191545],8]
5506
+ [[0,1317212845.48948,2.003051709],8]
5637
5507
  .ft P
5638
5508
  .fi
5639
5509
  .sp
@@ -5648,7 +5518,7 @@ Execution example:
5648
5518
  > {"sequence": "3", "time": 1312950803.86057, "item": "search engine", "type": "submit"},
5649
5519
  > {"sequence": "3", "time": 1312950808.86057, "item": "web search realtime", "type": "submit"}
5650
5520
  > ]
5651
- [[0,1313562876.81305,0.801821271],2]
5521
+ [[0,1317212847.69365,0.801326259],2]
5652
5522
  .ft P
5653
5523
  .fi
5654
5524
  .sp
@@ -5658,8 +5528,8 @@ Execution example:
5658
5528
  .sp
5659
5529
  .nf
5660
5530
  .ft C
5661
- > suggest \-\-table item_query \-\-column kana \-\-types complete \-\-threshold 1 \-\-query en
5662
- [[0,1313562877.81745,0.001827712],{"complete":[[1],[["_key","ShortText"],["_score","Int32"]],["engine",1]]}]
5531
+ > suggest \-\-table item_query \-\-column kana \-\-types complete \-\-frequency_threshold 1 \-\-query en
5532
+ [[0,1317212848.69611,0.00164469],{"complete":[[1],[["_key","ShortText"],["_score","Int32"]],["engine",1]]}]
5663
5533
  .ft P
5664
5534
  .fi
5665
5535
  .sp
@@ -5669,8 +5539,8 @@ Execution example:
5669
5539
  .sp
5670
5540
  .nf
5671
5541
  .ft C
5672
- > suggest \-\-table item_query \-\-column kana \-\-types correct \-\-threshold 1 \-\-query saerch
5673
- [[0,1313562878.02203,0.000442789],{"correct":[[1],[["_key","ShortText"],["_score","Int32"]],["search",1]]}]
5542
+ > suggest \-\-table item_query \-\-column kana \-\-types correct \-\-frequency_threshold 1 \-\-query saerch
5543
+ [[0,1317212848.8995,0.00037794],{"correct":[[1],[["_key","ShortText"],["_score","Int32"]],["search",1]]}]
5674
5544
  .ft P
5675
5545
  .fi
5676
5546
  .sp
@@ -5680,8 +5550,8 @@ Execution example:
5680
5550
  .sp
5681
5551
  .nf
5682
5552
  .ft C
5683
- > suggest \-\-table item_query \-\-column kana \-\-types suggest \-\-threshold 1 \-\-query search
5684
- [[0,1313562878.22422,0.000812428],{"suggest":[[2],[["_key","ShortText"],["_score","Int32"]],["search engine",1],["web search realtime",1]]}]
5553
+ > suggest \-\-table item_query \-\-column kana \-\-types suggest \-\-frequency_threshold 1 \-\-query search
5554
+ [[0,1317212849.10158,0.000376811],{"suggest":[[2],[["_key","ShortText"],["_score","Int32"]],["search engine",1],["web search realtime",1]]}]
5685
5555
  .ft P
5686
5556
  .fi
5687
5557
  .sp
@@ -5691,17 +5561,15 @@ Execution example:
5691
5561
  .sp
5692
5562
  .nf
5693
5563
  .ft C
5694
- > suggest \-\-table item_query \-\-column kana \-\-types complete|correct|suggest \-\-threshold 1 \-\-query search
5695
- [[0,1313562878.42973,0.001223259],{"complete":[[2],[["_key","ShortText"],["_score","Int32"]],["search",2],["search engine",2]],"correct":[[1],[["_key","ShortText"],["_score","Int32"]],["search",2]],"suggest":[[2],[["_key","ShortText"],["_score","Int32"]],["search engine",1],["web search realtime",1]]}]
5564
+ > suggest \-\-table item_query \-\-column kana \-\-types complete|correct|suggest \-\-frequency_threshold 1 \-\-query search
5565
+ [[0,1317212849.30453,0.001329747],{"complete":[[2],[["_key","ShortText"],["_score","Int32"]],["search",2],["search engine",2]],"correct":[[1],[["_key","ShortText"],["_score","Int32"]],["search",2]],"suggest":[[2],[["_key","ShortText"],["_score","Int32"]],["search engine",1],["web search realtime",1]]}]
5696
5566
  .ft P
5697
5567
  .fi
5698
5568
  .SS SEE ALSO
5699
5569
  .INDENT 0.0
5700
5570
  .IP \(bu 2
5701
- .
5702
5571
  \fB/suggest\fP
5703
5572
  .IP \(bu 2
5704
- .
5705
5573
  \fB/executables/groonga\-suggest\-create\-dataset\fP
5706
5574
  .UNINDENT
5707
5575
  .SS table_create
@@ -5727,7 +5595,6 @@ table_createコマンドは、使用しているデータベースに対して
5727
5595
  \fBname\fP
5728
5596
  .INDENT 0.0
5729
5597
  .INDENT 3.5
5730
- .sp
5731
5598
  作成するテーブルの名前を指定します。nameはデータベース内で一意な、未定義の名前でなければなりません。組込型名・組込コマンド名・組込関数名は予約済みであり、テーブル名には 使用できません。また、ピリオド(\(aq.\(aq), コロン(\(aq:\(aq)を含む名前のテーブルは作成できません。
5732
5599
  .UNINDENT
5733
5600
  .UNINDENT
@@ -5735,34 +5602,27 @@ table_createコマンドは、使用しているデータベースに対して
5735
5602
  \fBflags\fP
5736
5603
  .INDENT 0.0
5737
5604
  .INDENT 3.5
5738
- .sp
5739
5605
  作成するテーブルの属性を示す数値か、パイプ(\(aq|\(aq)で組み合わせたシンボル名を指定します。(デフォルト値は0(="TABLE_HASH_KEY"))
5740
5606
  .INDENT 0.0
5741
5607
  .INDENT 3.5
5742
5608
  .INDENT 0.0
5743
5609
  .TP
5744
5610
  .B 0, \fBTABLE_HASH_KEY\fP
5745
- .sp
5746
5611
  主キー値をハッシュ表で管理するテーブルを作成します。ハッシュ表を使用したテーブルでは、主キー値に完全一致するレコードを高速に検索することができます。
5747
5612
  .TP
5748
5613
  .B 1, \fBTABLE_PAT_KEY\fP
5749
- .sp
5750
5614
  主キー値をパトリシア木で管理するテーブルを作成します。パトリシア木を使用したテーブルでは、主キー値に完全一致するレコード、前方一致するレコード、および最長共通接頭辞となるレコードを高速に検索することができます。また、キー値の昇降順でレコードを取り出したり、キー値の範囲での検索を行うことができます。また、flagsの値に64を加えることによって、後方一致検索も可能となります。
5751
5615
  .TP
5752
5616
  .B 3, \fBTABLE_NO_KEY\fP
5753
- .sp
5754
5617
  主キーを持たないテーブルを作成します。各レコードはIDのみによって特定することができます。
5755
5618
  .TP
5756
5619
  .B 4, \fBTABLE_VIEW\fP
5757
- .sp
5758
5620
  複数のテーブルをまとめて操作するための仮想的なテーブル(view)を作成します。
5759
5621
  .TP
5760
5622
  .B 64, \fBKEY_WITH_SIS\fP
5761
- .sp
5762
5623
  語彙表となるパトリシア木型のテーブルにおいて、後方一致検索を可能とします。
5763
5624
  .TP
5764
5625
  .B 128, \fBKEY_NORMALIZE\fP
5765
- .sp
5766
5626
  ハッシュ表型か、パトリシア木型のテーブルにおいて、主キー値を正規化した上で登録します。この値が指定されたテーブルではたとえば、主キー値\(aqabc\(aqと\(aqABC\(aq は同一のレコードに対応するものとみなされます。
5767
5627
  .UNINDENT
5768
5628
  .UNINDENT
@@ -5773,7 +5633,6 @@ table_createコマンドは、使用しているデータベースに対して
5773
5633
  \fBkey_type\fP
5774
5634
  .INDENT 0.0
5775
5635
  .INDENT 3.5
5776
- .sp
5777
5636
  主キー値の型を指定します。主キー値を持つテーブルに限り有効です。型にはgroongaの組込型か、同一データベースに定義済みのユーザ定義型、定義済みのテーブルを指定することができます。
5778
5637
  .UNINDENT
5779
5638
  .UNINDENT
@@ -5781,7 +5640,6 @@ table_createコマンドは、使用しているデータベースに対して
5781
5640
  \fBvalue_type\fP
5782
5641
  .INDENT 0.0
5783
5642
  .INDENT 3.5
5784
- .sp
5785
5643
  値の型を指定します。tableの値には固定長の型のみが指定できます。(可変長の値が必要な場合は別途カラムを作成します) 型にはgroongaの組込型か、同一データベースに定義済みのユーザ定義型、またはテーブルを指定することができます。(デフォルトはvalueなし)
5786
5644
  .UNINDENT
5787
5645
  .UNINDENT
@@ -5789,30 +5647,24 @@ table_createコマンドは、使用しているデータベースに対して
5789
5647
  \fBdefault_tokenizer\fP
5790
5648
  .INDENT 0.0
5791
5649
  .INDENT 3.5
5792
- .sp
5793
5650
  作成するテーブルを語彙表として使用する場合、文字列を分割するトークナイザを指定します。
5794
5651
  .sp
5795
5652
  組込のトークナイザとして、以下が準備されています。
5796
5653
  .INDENT 0.0
5797
5654
  .TP
5798
5655
  .B \fBTokenDelimit\fP
5799
- .sp
5800
5656
  空白で区切られた文字列をトークンとする
5801
5657
  .TP
5802
5658
  .B \fBTokenUnigram\fP
5803
- .sp
5804
5659
  unigram(1文字を1トークンとする)
5805
5660
  .TP
5806
5661
  .B \fBTokenBigram\fP
5807
- .sp
5808
5662
  bigram(2文字の文字列要素をトークンとする)
5809
5663
  .TP
5810
5664
  .B \fBTokenTrigram\fP
5811
- .sp
5812
5665
  trigram(3文字の文字列要素をトークンとする)
5813
5666
  .TP
5814
5667
  .B \fBTokenMecab\fP
5815
- .sp
5816
5668
  形態素解析器mecabで解析した形態素をトークンとする。(mecabを組み込んだ場合のみ有効)
5817
5669
  .UNINDENT
5818
5670
  .sp
@@ -5883,14 +5735,12 @@ table_listは、DBに定義されているテーブルのリストを表示し
5883
5735
  \fBテーブル情報名n\fP
5884
5736
  .INDENT 0.0
5885
5737
  .INDENT 3.5
5886
- .sp
5887
5738
  \fBテーブル情報n\fP には複数の情報が含まれますが、そこに入る情報がどんな内容かを示す名前を出力します。
5888
5739
  情報名は以下の通りです。
5889
5740
  .sp
5890
5741
  \fBid\fP
5891
5742
  .INDENT 0.0
5892
5743
  .INDENT 3.5
5893
- .sp
5894
5744
  テーブルオブジェクトに割り当てられたID
5895
5745
  .UNINDENT
5896
5746
  .UNINDENT
@@ -5898,7 +5748,6 @@ table_listは、DBに定義されているテーブルのリストを表示し
5898
5748
  \fBname\fP
5899
5749
  .INDENT 0.0
5900
5750
  .INDENT 3.5
5901
- .sp
5902
5751
  テーブル名
5903
5752
  .UNINDENT
5904
5753
  .UNINDENT
@@ -5906,7 +5755,6 @@ table_listは、DBに定義されているテーブルのリストを表示し
5906
5755
  \fBpath\fP
5907
5756
  .INDENT 0.0
5908
5757
  .INDENT 3.5
5909
- .sp
5910
5758
  テーブルのレコードを格納するファイル名
5911
5759
  .UNINDENT
5912
5760
  .UNINDENT
@@ -5914,7 +5762,6 @@ table_listは、DBに定義されているテーブルのリストを表示し
5914
5762
  \fBflags\fP
5915
5763
  .INDENT 0.0
5916
5764
  .INDENT 3.5
5917
- .sp
5918
5765
  テーブルのflags属性
5919
5766
  .UNINDENT
5920
5767
  .UNINDENT
@@ -5922,7 +5769,6 @@ table_listは、DBに定義されているテーブルのリストを表示し
5922
5769
  \fBdomain\fP
5923
5770
  .INDENT 0.0
5924
5771
  .INDENT 3.5
5925
- .sp
5926
5772
  主キー値の属する型
5927
5773
  .UNINDENT
5928
5774
  .UNINDENT
@@ -5930,7 +5776,6 @@ table_listは、DBに定義されているテーブルのリストを表示し
5930
5776
  \fBrange\fP
5931
5777
  .INDENT 0.0
5932
5778
  .INDENT 3.5
5933
- .sp
5934
5779
  valueが属する型
5935
5780
  .UNINDENT
5936
5781
  .UNINDENT
@@ -5940,7 +5785,6 @@ valueが属する型
5940
5785
  \fBテーブル情報型n\fP
5941
5786
  .INDENT 0.0
5942
5787
  .INDENT 3.5
5943
- .sp
5944
5788
  テーブル情報の型を出力します。
5945
5789
  .UNINDENT
5946
5790
  .UNINDENT
@@ -5948,7 +5792,6 @@ valueが属する型
5948
5792
  \fBテーブル情報n\fP
5949
5793
  .INDENT 0.0
5950
5794
  .INDENT 3.5
5951
- .sp
5952
5795
  \fBテーブル情報名n\fP で示された情報の配列を出力します。
5953
5796
  情報の順序は \fBテーブル情報名n\fP の順序と同じです。
5954
5797
  .UNINDENT
@@ -6001,7 +5844,6 @@ table_removeはテーブルと定義されているカラムを削除します
6001
5844
  .INDENT 0.0
6002
5845
  .TP
6003
5846
  .B \fBtable\fP
6004
- .sp
6005
5847
  削除対象のカラムが定義されているテーブルの名前を指定します。
6006
5848
  .UNINDENT
6007
5849
  .SS 返値
@@ -6046,7 +5888,6 @@ view_addは、view型のテーブルに要素となるテーブルを定義し
6046
5888
  \fBview\fP
6047
5889
  .INDENT 0.0
6048
5890
  .INDENT 3.5
6049
- .sp
6050
5891
  テーブルを追加するview型のテーブルの名前を指定します。
6051
5892
  .UNINDENT
6052
5893
  .UNINDENT
@@ -6054,7 +5895,6 @@ view_addは、view型のテーブルに要素となるテーブルを定義し
6054
5895
  \fBtable\fP
6055
5896
  .INDENT 0.0
6056
5897
  .INDENT 3.5
6057
- .sp
6058
5898
  view型のテーブルに追加されるテーブルの名前を指定します。
6059
5899
  .UNINDENT
6060
5900
  .UNINDENT
@@ -6074,7 +5914,6 @@ view型のテーブルに追加されるテーブルの名前を指定します
6074
5914
  .INDENT 0.0
6075
5915
  .TP
6076
5916
  .B ::
6077
- .
6078
5917
  view_add Ventry Entry
6079
5918
  [true]
6080
5919
  .UNINDENT
@@ -6100,7 +5939,6 @@ groongaのデータベースでは、テーブルの主キーや、カラムの
6100
5939
  \fBObject\fP
6101
5940
  .INDENT 0.0
6102
5941
  .INDENT 3.5
6103
- .sp
6104
5942
  任意のテーブルに属する全てのレコード [1]
6105
5943
  .UNINDENT
6106
5944
  .UNINDENT
@@ -6108,7 +5946,6 @@ groongaのデータベースでは、テーブルの主キーや、カラムの
6108
5946
  \fBBool\fP
6109
5947
  .INDENT 0.0
6110
5948
  .INDENT 3.5
6111
- .sp
6112
5949
  bool型。trueとfalse。
6113
5950
  .UNINDENT
6114
5951
  .UNINDENT
@@ -6116,7 +5953,6 @@ bool型。trueとfalse。
6116
5953
  \fBInt8\fP
6117
5954
  .INDENT 0.0
6118
5955
  .INDENT 3.5
6119
- .sp
6120
5956
  8bit符号付き整数。
6121
5957
  .UNINDENT
6122
5958
  .UNINDENT
@@ -6124,7 +5960,6 @@ bool型。trueとfalse。
6124
5960
  \fBUInt8\fP
6125
5961
  .INDENT 0.0
6126
5962
  .INDENT 3.5
6127
- .sp
6128
5963
  8bit符号なし整数。
6129
5964
  .UNINDENT
6130
5965
  .UNINDENT
@@ -6132,7 +5967,6 @@ bool型。trueとfalse。
6132
5967
  \fBInt16\fP
6133
5968
  .INDENT 0.0
6134
5969
  .INDENT 3.5
6135
- .sp
6136
5970
  16bit符号付き整数。
6137
5971
  .UNINDENT
6138
5972
  .UNINDENT
@@ -6140,7 +5974,6 @@ bool型。trueとfalse。
6140
5974
  \fBUInt16\fP
6141
5975
  .INDENT 0.0
6142
5976
  .INDENT 3.5
6143
- .sp
6144
5977
  16bit符号なし整数。
6145
5978
  .UNINDENT
6146
5979
  .UNINDENT
@@ -6148,7 +5981,6 @@ bool型。trueとfalse。
6148
5981
  \fBInt32\fP
6149
5982
  .INDENT 0.0
6150
5983
  .INDENT 3.5
6151
- .sp
6152
5984
  32bit符号付き整数。
6153
5985
  .UNINDENT
6154
5986
  .UNINDENT
@@ -6156,7 +5988,6 @@ bool型。trueとfalse。
6156
5988
  \fBUInt32\fP
6157
5989
  .INDENT 0.0
6158
5990
  .INDENT 3.5
6159
- .sp
6160
5991
  32bit符号なし整数。
6161
5992
  .UNINDENT
6162
5993
  .UNINDENT
@@ -6164,7 +5995,6 @@ bool型。trueとfalse。
6164
5995
  \fBInt64\fP
6165
5996
  .INDENT 0.0
6166
5997
  .INDENT 3.5
6167
- .sp
6168
5998
  64bit符号付き整数。
6169
5999
  .UNINDENT
6170
6000
  .UNINDENT
@@ -6172,7 +6002,6 @@ bool型。trueとfalse。
6172
6002
  \fBUInt64\fP
6173
6003
  .INDENT 0.0
6174
6004
  .INDENT 3.5
6175
- .sp
6176
6005
  64bit符号なし整数。
6177
6006
  .UNINDENT
6178
6007
  .UNINDENT
@@ -6180,7 +6009,6 @@ bool型。trueとfalse。
6180
6009
  \fBFloat\fP
6181
6010
  .INDENT 0.0
6182
6011
  .INDENT 3.5
6183
- .sp
6184
6012
  ieee754形式の64bit浮動小数点数。
6185
6013
  .UNINDENT
6186
6014
  .UNINDENT
@@ -6188,7 +6016,6 @@ ieee754形式の64bit浮動小数点数。
6188
6016
  \fBTime\fP
6189
6017
  .INDENT 0.0
6190
6018
  .INDENT 3.5
6191
- .sp
6192
6019
  1970年1月1日0時0分0秒からの経過マイクロ秒数を64bit符号付き整数で表現した値。
6193
6020
  .UNINDENT
6194
6021
  .UNINDENT
@@ -6196,7 +6023,6 @@ ieee754形式の64bit浮動小数点数。
6196
6023
  \fBShortText\fP
6197
6024
  .INDENT 0.0
6198
6025
  .INDENT 3.5
6199
- .sp
6200
6026
  4Kbyte以下の文字列。
6201
6027
  .UNINDENT
6202
6028
  .UNINDENT
@@ -6204,7 +6030,6 @@ ieee754形式の64bit浮動小数点数。
6204
6030
  \fBText\fP
6205
6031
  .INDENT 0.0
6206
6032
  .INDENT 3.5
6207
- .sp
6208
6033
  64Kbyte以下の文字列。
6209
6034
  .UNINDENT
6210
6035
  .UNINDENT
@@ -6212,7 +6037,6 @@ ieee754形式の64bit浮動小数点数。
6212
6037
  \fBLongText\fP
6213
6038
  .INDENT 0.0
6214
6039
  .INDENT 3.5
6215
- .sp
6216
6040
  2Gbyte以下の文字列。
6217
6041
  .UNINDENT
6218
6042
  .UNINDENT
@@ -6220,7 +6044,6 @@ ieee754形式の64bit浮動小数点数。
6220
6044
  \fBTokyoGeoPoint\fP
6221
6045
  .INDENT 0.0
6222
6046
  .INDENT 3.5
6223
- .sp
6224
6047
  日本測地系緯度経度座標。緯度と経度はミリ秒単位での整数。
6225
6048
  "経度のミリ秒x緯度のミリ秒"という文字列表現を持つ。
6226
6049
  度分秒形式であれば、x度y分z秒は(((x * 60) + y) * 60 + z) * 1000という計算式で変換した値を代入します。
@@ -6230,7 +6053,6 @@ ieee754形式の64bit浮動小数点数。
6230
6053
  \fBWGS84GeoPoint\fP
6231
6054
  .INDENT 0.0
6232
6055
  .INDENT 3.5
6233
- .sp
6234
6056
  世界測地系緯度経度座標。緯度と経度はミリ秒単位での整数。
6235
6057
  "経度のミリ秒x緯度のミリ秒"という文字列表現を持つ。
6236
6058
  度分秒形式であれば、x度y分z秒は(((x * 60) + y) * 60 + z) * 1000という計算式で変換した値を代入します。
@@ -6247,7 +6069,6 @@ groongaのカラムは、ある型のベクトルを保存することができ
6247
6069
  テーブル型は、ベクトルとして格納することができます。よって、ShortTextのベクトルを保存したい場合には、主キーがShortText型のテーブルを別途作成し、そのテーブルを型として利用します。
6248
6070
  脚注
6249
6071
  .IP [1] 5
6250
- .
6251
6072
  Object型はv1.2でサポートされます。
6252
6073
  .SS 疑似カラム (pseudo_column)
6253
6074
  .SS 名前
@@ -6262,7 +6083,6 @@ groongaのデータベースで作成したテーブルには、いくつかの
6262
6083
  \fB_id\fP
6263
6084
  .INDENT 0.0
6264
6085
  .INDENT 3.5
6265
- .sp
6266
6086
  レコードに付与される一意な番号です。全てのテーブルに定義されます。値の範囲は1〜1073741824の整数で、通常はレコードを追加した順に1ずつ加算されます。_idの値は不変で、レコードが存在する限り変更することはできません。ただし、削除されたレコードの_idの値は再利用されます。
6267
6087
  .UNINDENT
6268
6088
  .UNINDENT
@@ -6270,7 +6090,6 @@ groongaのデータベースで作成したテーブルには、いくつかの
6270
6090
  \fB_key\fP
6271
6091
  .INDENT 0.0
6272
6092
  .INDENT 3.5
6273
- .sp
6274
6093
  レコードの主キー値を表します。主キーを持つテーブルのみに定義されます。主キー値はテーブルの中で一意であり、変更することはできません。
6275
6094
  .UNINDENT
6276
6095
  .UNINDENT
@@ -6278,7 +6097,6 @@ groongaのデータベースで作成したテーブルには、いくつかの
6278
6097
  \fB_value\fP
6279
6098
  .INDENT 0.0
6280
6099
  .INDENT 3.5
6281
- .sp
6282
6100
  レコードの値を表します。value_typeを指定したテーブルのみに定義されます。自由に変更可能です。
6283
6101
  .UNINDENT
6284
6102
  .UNINDENT
@@ -6286,7 +6104,6 @@ groongaのデータベースで作成したテーブルには、いくつかの
6286
6104
  \fB_score\fP
6287
6105
  .INDENT 0.0
6288
6106
  .INDENT 3.5
6289
- .sp
6290
6107
  各レコードのスコア値を表します。検索結果として生成されたテーブルのみに定義されます。
6291
6108
  .sp
6292
6109
  検索処理を実行する過程で値が設定されますが、自由に変更可能です。
@@ -6296,7 +6113,6 @@ groongaのデータベースで作成したテーブルには、いくつかの
6296
6113
  \fB_nsubrecs\fP
6297
6114
  .INDENT 0.0
6298
6115
  .INDENT 3.5
6299
- .sp
6300
6116
  主キーの値が同一であったレコードの件数を表します。検索結果として生成されたテーブルのみに定義されます。グループ化(drilldown)処理を実行すると、グループ化前のテーブルにおいて、グループ化キーの値が同一であったレコードの件数が、グループ化処理の結果を格納するテーブルの_nsubrecsに記録されます。
6301
6117
  .UNINDENT
6302
6118
  .UNINDENT
@@ -6319,15 +6135,12 @@ ECMAScript風の構文で検索条件やレコードへの操作を記述しま
6319
6135
  .INDENT 0.0
6320
6136
  .TP
6321
6137
  .B 引数名
6322
- .
6323
6138
  grn_exprが受け取る引数の名前
6324
6139
  .TP
6325
6140
  .B カラム名
6326
- .
6327
6141
  操作対象としているレコードのカラム名
6328
6142
  .TP
6329
6143
  .B 型名・関数名・テーブル名
6330
- .
6331
6144
  データベースに定義された型・テーブル・関数の名前
6332
6145
  .UNINDENT
6333
6146
  .SS 例
@@ -6335,7 +6148,6 @@ grn_exprが受け取る引数の名前
6335
6148
  script形式でcolumn1の値が\(aqhoge\(aqに等しいという条件
6336
6149
  .INDENT 0.0
6337
6150
  .INDENT 3.5
6338
- .sp
6339
6151
  column1 == "hoge"
6340
6152
  .UNINDENT
6341
6153
  .UNINDENT
@@ -6361,7 +6173,6 @@ edit_distance() 関数は、string1に指定した文字列とstring2に指定
6361
6173
  \fBstring1\fP
6362
6174
  .INDENT 0.0
6363
6175
  .INDENT 3.5
6364
- .sp
6365
6176
  文字列を指定します
6366
6177
  .UNINDENT
6367
6178
  .UNINDENT
@@ -6369,7 +6180,6 @@ edit_distance() 関数は、string1に指定した文字列とstring2に指定
6369
6180
  \fBstring2\fP
6370
6181
  .INDENT 0.0
6371
6182
  .INDENT 3.5
6372
- .sp
6373
6183
  もうひとつの文字列を指定します
6374
6184
  .UNINDENT
6375
6185
  .UNINDENT
@@ -6406,7 +6216,6 @@ geo_distance()の他に、距離計算アルゴリズムの異なる、geo_dista
6406
6216
  \fBpoint1\fP
6407
6217
  .INDENT 0.0
6408
6218
  .INDENT 3.5
6409
- .sp
6410
6219
  距離を求める2点のうち一つを指定します。GeoPoint型の値を指定できます。 [1]
6411
6220
  .UNINDENT
6412
6221
  .UNINDENT
@@ -6414,7 +6223,6 @@ geo_distance()の他に、距離計算アルゴリズムの異なる、geo_dista
6414
6223
  \fBpoint2\fP
6415
6224
  .INDENT 0.0
6416
6225
  .INDENT 3.5
6417
- .sp
6418
6226
  距離を求める2点のうちもう一つを指定します。GeoPoint型の値、あるいは座標を示す文字列を指定できます。
6419
6227
  .UNINDENT
6420
6228
  .UNINDENT
@@ -6431,7 +6239,6 @@ geo_distance(pos, "150x150")
6431
6239
  .fi
6432
6240
  脚注
6433
6241
  .IP [1] 5
6434
- .
6435
6242
  TokyoGeoPoint(日本測地系座標)かWGS84GeoPoint(世界測地系座標)のいずれかを指定できます。
6436
6243
  .SS geo_in_circle
6437
6244
  .SS 名前
@@ -6454,7 +6261,6 @@ geo_in_circle() 関数は、pointに指定した座標が、centerに指定し
6454
6261
  \fBpoint\fP
6455
6262
  .INDENT 0.0
6456
6263
  .INDENT 3.5
6457
- .sp
6458
6264
  円の範囲内に存在するかどうかを調べる座標を指定します。Point型の値を指定できます。 [1]
6459
6265
  .UNINDENT
6460
6266
  .UNINDENT
@@ -6462,7 +6268,6 @@ geo_in_circle() 関数は、pointに指定した座標が、centerに指定し
6462
6268
  \fBcenter\fP
6463
6269
  .INDENT 0.0
6464
6270
  .INDENT 3.5
6465
- .sp
6466
6271
  円の中心となる座標を指定します。Point型の値、あるいは座標を示す文字列を指定できます。
6467
6272
  .UNINDENT
6468
6273
  .UNINDENT
@@ -6470,7 +6275,6 @@ geo_in_circle() 関数は、pointに指定した座標が、centerに指定し
6470
6275
  \fBradious_or_point\fP
6471
6276
  .INDENT 0.0
6472
6277
  .INDENT 3.5
6473
- .sp
6474
6278
  円の半径を指定します。数値を指定した場合には、半径(単位:メートル)が指定されたものとみなします。
6475
6279
  Point型の値、あるいは座標を示す文字列を指定した場合は、円周上の点の一つの座標が指定されたものとみなします。
6476
6280
  .UNINDENT
@@ -6488,7 +6292,6 @@ true
6488
6292
  .fi
6489
6293
  脚注
6490
6294
  .IP [1] 5
6491
- .
6492
6295
  TokyoGeoPoint(日本測地系座標)かWGS84GeoPoint(世界測地系座標)のいずれかを指定できます。
6493
6296
  .SS geo_in_rectangle
6494
6297
  .SS 名前
@@ -6511,7 +6314,6 @@ geo_in_rectangle() 関数は、pointに指定した座標が、top_leftとbottom
6511
6314
  \fBpoint\fP
6512
6315
  .INDENT 0.0
6513
6316
  .INDENT 3.5
6514
- .sp
6515
6317
  矩形の範囲内に存在するかどうかを調べる座標を指定します。Point型の値を指定できます。 [1]
6516
6318
  .UNINDENT
6517
6319
  .UNINDENT
@@ -6519,7 +6321,6 @@ geo_in_rectangle() 関数は、pointに指定した座標が、top_leftとbottom
6519
6321
  \fBtop_left\fP
6520
6322
  .INDENT 0.0
6521
6323
  .INDENT 3.5
6522
- .sp
6523
6324
  矩形の左上隅となる座標を指定します。Point型の値、あるいは座標を示す文字列を指定できます。
6524
6325
  .UNINDENT
6525
6326
  .UNINDENT
@@ -6527,7 +6328,6 @@ geo_in_rectangle() 関数は、pointに指定した座標が、top_leftとbottom
6527
6328
  \fBbottom_right\fP
6528
6329
  .INDENT 0.0
6529
6330
  .INDENT 3.5
6530
- .sp
6531
6331
  矩形の右下隅となる座標を指定します。Point型の値、あるいは座標を示す文字列を指定できます。
6532
6332
  .UNINDENT
6533
6333
  .UNINDENT
@@ -6544,7 +6344,6 @@ true
6544
6344
  .fi
6545
6345
  脚注
6546
6346
  .IP [1] 5
6547
- .
6548
6347
  TokyoGeoPoint(日本測地系座標)かWGS84GeoPoint(世界測地系座標)のいずれかを指定できます。
6549
6348
  .SS now
6550
6349
  .SS 名前
@@ -6594,7 +6393,6 @@ rand() 関数は 0 から max の間の疑似乱数整数を返します。
6594
6393
  \fBmax\fP
6595
6394
  .INDENT 0.0
6596
6395
  .INDENT 3.5
6597
- .sp
6598
6396
  返値の最大値を指定します。省略した場合は RAND_MAX が指定されたものとみなされます。
6599
6397
  .UNINDENT
6600
6398
  .UNINDENT
@@ -6633,7 +6431,6 @@ Process log uses the following format:
6633
6431
  .INDENT 0.0
6634
6432
  .TP
6635
6433
  .B TIME_STAMP
6636
- .
6637
6434
  It\(aqs time stamp uses the following format:
6638
6435
  .sp
6639
6436
  .nf
@@ -6644,31 +6441,24 @@ YYYY\-MM\-DD hh:mm:ss.SSSSSS
6644
6441
  .INDENT 7.0
6645
6442
  .TP
6646
6443
  .B YYYY
6647
- .
6648
6444
  Year with four digits.
6649
6445
  .TP
6650
6446
  .B MM
6651
- .
6652
6447
  Month with two digits.
6653
6448
  .TP
6654
6449
  .B DD
6655
- .
6656
6450
  Day with two digits.
6657
6451
  .TP
6658
6452
  .B hh
6659
- .
6660
6453
  Hour with two digits.
6661
6454
  .TP
6662
6455
  .B mm
6663
- .
6664
6456
  Minute with two digits.
6665
6457
  .TP
6666
6458
  .B ss
6667
- .
6668
6459
  Second with two digits.
6669
6460
  .TP
6670
6461
  .B SSSSSS
6671
- .
6672
6462
  Microsecond with six digits.
6673
6463
  .UNINDENT
6674
6464
  .sp
@@ -6681,45 +6471,35 @@ Example:
6681
6471
  .fi
6682
6472
  .TP
6683
6473
  .B L
6684
- .
6685
6474
  Log level with a character. Here is a character and log
6686
6475
  level map.
6687
6476
  .INDENT 7.0
6688
6477
  .TP
6689
6478
  .B E
6690
- .
6691
6479
  Emergency
6692
6480
  .TP
6693
6481
  .B A
6694
- .
6695
6482
  Alert
6696
6483
  .TP
6697
6484
  .B C
6698
- .
6699
6485
  Critical
6700
6486
  .TP
6701
6487
  .B e
6702
- .
6703
6488
  Error
6704
6489
  .TP
6705
6490
  .B w
6706
- .
6707
6491
  Warning
6708
6492
  .TP
6709
6493
  .B n
6710
- .
6711
6494
  Notification
6712
6495
  .TP
6713
6496
  .B i
6714
- .
6715
6497
  Information
6716
6498
  .TP
6717
6499
  .B d
6718
- .
6719
6500
  Debug
6720
6501
  .TP
6721
6502
  .B \-
6722
- .
6723
6503
  Dump
6724
6504
  .UNINDENT
6725
6505
  .sp
@@ -6732,7 +6512,6 @@ E
6732
6512
  .fi
6733
6513
  .TP
6734
6514
  .B MESSAGE
6735
- .
6736
6515
  Details about the log with free format.
6737
6516
  .sp
6738
6517
  Example:
@@ -6771,7 +6550,6 @@ Query log uses the following formats:
6771
6550
  .INDENT 0.0
6772
6551
  .TP
6773
6552
  .B TIME_STAMP
6774
- .
6775
6553
  It\(aqs time stamp uses the following format:
6776
6554
  .sp
6777
6555
  .nf
@@ -6782,31 +6560,24 @@ YYYY\-MM\-DD hh:mm:ss.SSSSSS
6782
6560
  .INDENT 7.0
6783
6561
  .TP
6784
6562
  .B YYYY
6785
- .
6786
6563
  Year with four digits.
6787
6564
  .TP
6788
6565
  .B MM
6789
- .
6790
6566
  Month with two digits.
6791
6567
  .TP
6792
6568
  .B DD
6793
- .
6794
6569
  Day with two digits.
6795
6570
  .TP
6796
6571
  .B hh
6797
- .
6798
6572
  Hour with two digits.
6799
6573
  .TP
6800
6574
  .B mm
6801
- .
6802
6575
  Minute with two digits.
6803
6576
  .TP
6804
6577
  .B ss
6805
- .
6806
6578
  Second with two digits.
6807
6579
  .TP
6808
6580
  .B SSSSSS
6809
- .
6810
6581
  Microsecond with six digits.
6811
6582
  .UNINDENT
6812
6583
  .sp
@@ -6819,7 +6590,6 @@ Example:
6819
6590
  .fi
6820
6591
  .TP
6821
6592
  .B ID
6822
- .
6823
6593
  ID of a thread. Groonga process creates threads to process
6824
6594
  requests concurrently. Each thread outputs some logs for a
6825
6595
  request. This ID can be used to extract a log sequence by
@@ -6836,23 +6606,19 @@ Example:
6836
6606
  .INDENT 0.0
6837
6607
  .TP
6838
6608
  .B >
6839
- .
6840
6609
  A character that indicates query is started.
6841
6610
  .UNINDENT
6842
6611
  .INDENT 0.0
6843
6612
  .TP
6844
6613
  .B :
6845
- .
6846
6614
  A character that indicates query is processing.
6847
6615
  .UNINDENT
6848
6616
  .INDENT 0.0
6849
6617
  .TP
6850
6618
  .B <
6851
- .
6852
6619
  A character that indicates query is finished.
6853
6620
  .TP
6854
6621
  .B MESSAGE
6855
- .
6856
6622
  Details about the log with free format.
6857
6623
  .sp
6858
6624
  Example:
@@ -6864,7 +6630,6 @@ query log opened.
6864
6630
  .fi
6865
6631
  .TP
6866
6632
  .B QUERY
6867
- .
6868
6633
  A query to be processed.
6869
6634
  .sp
6870
6635
  Example:
@@ -6876,7 +6641,6 @@ select users \-\-match_columns hobby \-\-query music
6876
6641
  .fi
6877
6642
  .TP
6878
6643
  .B ELAPSED_TIME
6879
- .
6880
6644
  Elapsed time in nanoseconds since query is started.
6881
6645
  .sp
6882
6646
  Example:
@@ -6889,7 +6653,6 @@ Example:
6889
6653
  .fi
6890
6654
  .TP
6891
6655
  .B PROGRESS
6892
- .
6893
6656
  A processed work at the time.
6894
6657
  .sp
6895
6658
  Example:
@@ -6902,7 +6665,6 @@ select(313401)
6902
6665
  .fi
6903
6666
  .TP
6904
6667
  .B RETURN_CODE
6905
- .
6906
6668
  A return code for the query.
6907
6669
  .sp
6908
6670
  Example:
@@ -6935,13 +6697,10 @@ Example:
6935
6697
  検索の挙動には以下の3種類あり、検索結果によって動的に使い分けています。
6936
6698
  .INDENT 0.0
6937
6699
  .IP 1. 3
6938
- .
6939
6700
  完全一致検索
6940
6701
  .IP 2. 3
6941
- .
6942
6702
  非わかち書き検索
6943
6703
  .IP 3. 3
6944
- .
6945
6704
  部分一致検索
6946
6705
  .UNINDENT
6947
6706
  .sp
@@ -6956,7 +6715,6 @@ Example:
6956
6715
  たとえば、TokenMecabトークナイザを使用した索引では「東京都民」という文字列は
6957
6716
  .INDENT 0.0
6958
6717
  .INDENT 3.5
6959
- .sp
6960
6718
  東京 / 都民
6961
6719
  .UNINDENT
6962
6720
  .UNINDENT
@@ -6964,7 +6722,6 @@ Example:
6964
6722
  という二つの語彙の配列として格納されます。この索引に対して「東京都」というキーワードで検索した時、このキーワードは、
6965
6723
  .INDENT 0.0
6966
6724
  .INDENT 3.5
6967
- .sp
6968
6725
  東京 / 都
6969
6726
  .UNINDENT
6970
6727
  .UNINDENT
@@ -6974,7 +6731,6 @@ Example:
6974
6731
  これに対して、TokenBigramトークナイザを使用した索引では「東京都民」という文字列は
6975
6732
  .INDENT 0.0
6976
6733
  .INDENT 3.5
6977
- .sp
6978
6734
  東京 / 京都 / 都民 / 民
6979
6735
  .UNINDENT
6980
6736
  .UNINDENT
@@ -6982,7 +6738,6 @@ Example:
6982
6738
  という四つの語彙の配列として格納されます。この索引に対して「東京都」というキーワードで検索した時、このキーワードは、
6983
6739
  .INDENT 0.0
6984
6740
  .INDENT 3.5
6985
- .sp
6986
6741
  東京 / 京都
6987
6742
  .UNINDENT
6988
6743
  .UNINDENT
@@ -6992,7 +6747,6 @@ Example:
6992
6747
  なお、TokenBigramトークナイザでは、アルファベット・数値・記号文字列についてはbigramを生成せず、一つの連続したトークンとして扱います。たとえば、「楽しいbilliard」という文字列は、
6993
6748
  .INDENT 0.0
6994
6749
  .INDENT 3.5
6995
- .sp
6996
6750
  楽し / しい / billiard
6997
6751
  .UNINDENT
6998
6752
  .UNINDENT
@@ -7000,7 +6754,6 @@ Example:
7000
6754
  という三つの語彙の配列として格納されます。これに対して「bill」というキーワードで検索した時、このキーワードは、
7001
6755
  .INDENT 0.0
7002
6756
  .INDENT 3.5
7003
- .sp
7004
6757
  bill
7005
6758
  .UNINDENT
7006
6759
  .UNINDENT
@@ -7010,7 +6763,6 @@ bill
7010
6763
  これに対して、TokenBigramSplitSymbolAlphaトークナイザではアルファベット文字列についてもbigramを生成し、「楽しいbilliard」という文字列は、
7011
6764
  .INDENT 0.0
7012
6765
  .INDENT 3.5
7013
- .sp
7014
6766
  楽し / しい / いb / bi / il / ll / li / ia / ar / rd / d
7015
6767
  .UNINDENT
7016
6768
  .UNINDENT
@@ -7018,7 +6770,6 @@ bill
7018
6770
  という十一の語彙の配列として格納されます。これに対して「bill」というキーワードで検索した時、このキーワードは、
7019
6771
  .INDENT 0.0
7020
6772
  .INDENT 3.5
7021
- .sp
7022
6773
  bi / il / ll
7023
6774
  .UNINDENT
7024
6775
  .UNINDENT
@@ -7081,13 +6832,10 @@ groongaにはいくつか制限事項があります。
7081
6832
  1つのインデックスにおける論理上の上限値は以下のとおりです。
7082
6833
  .INDENT 0.0
7083
6834
  .IP \(bu 2
7084
- .
7085
6835
  最大レコード数: 268,435,455 (約2億6千万)
7086
6836
  .IP \(bu 2
7087
- .
7088
6837
  最大語彙数: 268,435,455 (約2億6千万)
7089
6838
  .IP \(bu 2
7090
- .
7091
6839
  最大インデックスサイズ: 256GByte
7092
6840
  .UNINDENT
7093
6841
  .sp
@@ -7159,13 +6907,10 @@ load \-\-table Blogs
7159
6907
  検索の挙動には以下の3種類があります。
7160
6908
  .INDENT 0.0
7161
6909
  .IP 1. 3
7162
- .
7163
6910
  完全一致検索
7164
6911
  .IP 2. 3
7165
- .
7166
6912
  非わかち書き検索
7167
6913
  .IP 3. 3
7168
- .
7169
6914
  部分一致検索
7170
6915
  .UNINDENT
7171
6916
  .sp
@@ -7174,7 +6919,6 @@ groongaは基本的に完全一致検索のみを行います。上記の例で
7174
6919
  検索対象の「東京都民に深刻なダメージを与えました。」は
7175
6920
  .INDENT 0.0
7176
6921
  .INDENT 3.5
7177
- .sp
7178
6922
  東京 / 都民 / に / 深刻 / な / ダメージ / を / 与え / まし / た / 。
7179
6923
  .UNINDENT
7180
6924
  .UNINDENT
@@ -7182,7 +6926,6 @@ groongaは基本的に完全一致検索のみを行います。上記の例で
7182
6926
  とトークナイズされますが、クエリの「東京都」は
7183
6927
  .INDENT 0.0
7184
6928
  .INDENT 3.5
7185
- .sp
7186
6929
  東京 / 都
7187
6930
  .UNINDENT
7188
6931
  .UNINDENT
@@ -7240,7 +6983,6 @@ column_create Bigram blog_body COLUMN_INDEX|WITH_POSITION Blogs body
7240
6983
  この例は日本語だったのでTokenBigramトークナイザーでよかったのですが、アルファベットの場合はTokenBigramSplitSymbolAlphaトークナイザーなども利用する必要があります。例えば、「楽しいbilliard」はTokenBigramトークナイザーでは
7241
6984
  .INDENT 0.0
7242
6985
  .INDENT 3.5
7243
- .sp
7244
6986
  楽し / しい / billiard
7245
6987
  .UNINDENT
7246
6988
  .UNINDENT
@@ -7248,7 +6990,6 @@ column_create Bigram blog_body COLUMN_INDEX|WITH_POSITION Blogs body
7248
6990
  となり、「bill」では完全一致しません。一方、TokenBigramSplitSymbolAlphaトークナイザーを使うと
7249
6991
  .INDENT 0.0
7250
6992
  .INDENT 3.5
7251
- .sp
7252
6993
  楽し / しい / いb / bi / il / ll / li / ia / ar / rd / d
7253
6994
  .UNINDENT
7254
6995
  .UNINDENT
@@ -7260,28 +7001,20 @@ TokenBigramSplitSymbolAlphaトークナイザーを使う場合も重み付け
7260
7001
  利用できるバイグラム系のトークナイザーの一覧は以下の通りです。
7261
7002
  .INDENT 0.0
7262
7003
  .IP \(bu 2
7263
- .
7264
7004
  TokenBigram: バイグラムでトークナイズする。連続する記号・アルファベット・数字は一語として扱う。
7265
7005
  .IP \(bu 2
7266
- .
7267
7006
  TokenBigramSplitSymbol: 記号もバイグラムでトークナイズする。連続するアルファベット・数字は一語として扱う。
7268
7007
  .IP \(bu 2
7269
- .
7270
7008
  TokenBigramSplitSymbolAlpha: 記号とアルファベットもバイグラムでトークナイズする。連続する数字は一語として扱う。
7271
7009
  .IP \(bu 2
7272
- .
7273
7010
  TokenBigramSplitSymbolAlphaDigit: 記号・アルファベット・数字もバイグラムでトークナイズする。
7274
7011
  .IP \(bu 2
7275
- .
7276
7012
  TokenBigramIgnoreBlank: バイグラムでトークナイズする。連続する記号・アルファベット・数字は一語として扱う。空白は無視する。
7277
7013
  .IP \(bu 2
7278
- .
7279
7014
  TokenBigramIgnoreBlankSplitSymbol: 記号もバイグラムでトークナイズする。連続するアルファベット・数字は一語として扱う。空白は無視する。
7280
7015
  .IP \(bu 2
7281
- .
7282
7016
  TokenBigramIgnoreBlankSplitSymbolAlpha: 記号とアルファベットもバイグラムでトークナイズする。連続する数字は一語として扱う。空白は無視する。
7283
7017
  .IP \(bu 2
7284
- .
7285
7018
  TokenBigramIgnoreBlankSplitSymbolAlphaDigit: 記号・アルファベット・数字もバイグラムでトークナイズする。空白は無視する。
7286
7019
  .UNINDENT
7287
7020
  .SS 対策方法2: 閾値をあげる
@@ -7303,15 +7036,12 @@ report, development and documentation.
7303
7036
  .INDENT 0.0
7304
7037
  .TP
7305
7038
  .B Use:
7306
- .
7307
7039
  Please read this document.
7308
7040
  .TP
7309
7041
  .B Introduction:
7310
- .
7311
7042
  Please talk your friends about groonga.
7312
7043
  .TP
7313
7044
  .B Bug report, development and documentation:
7314
- .
7315
7045
  We describe about them in this section.
7316
7046
  .UNINDENT
7317
7047
  .SS How to report a bug
@@ -7325,34 +7055,24 @@ use both of them to report a bug.
7325
7055
  .SS gqtpでのアーキテクチャ
7326
7056
  .INDENT 0.0
7327
7057
  .IP \(bu 2
7328
- .
7329
7058
  comが外部からの接続を受け付ける。
7330
7059
  .IP \(bu 2
7331
- .
7332
7060
  comは1スレッド。
7333
7061
  .IP \(bu 2
7334
- .
7335
7062
  comがedgeを作る。
7336
7063
  .IP \(bu 2
7337
- .
7338
7064
  edgeは接続と1対1対応。
7339
7065
  .IP \(bu 2
7340
- .
7341
7066
  edgeはctxを含む。
7342
7067
  .IP \(bu 2
7343
- .
7344
7068
  workerはthreadと1対1対応。
7345
7069
  .IP \(bu 2
7346
- .
7347
7070
  workerは上限が個定数。
7348
7071
  .IP \(bu 2
7349
- .
7350
7072
  workerは、1つのedgeと結びつくことができる。
7351
7073
  .IP \(bu 2
7352
- .
7353
7074
  edgeごとにqueueを持つ。
7354
7075
  .IP \(bu 2
7355
- .
7356
7076
  msgはcomによって、edgeのqueueにenqueueされる。
7357
7077
  edgeがworkerに結びついていないときは、同時に、ctx_newというqueueに、msgをenqueueした対象のedgeをenqueueする。
7358
7078
  .UNINDENT
@@ -7745,25 +7465,18 @@ After doc/source/*.txt are updated, we can start translation.
7745
7465
  Here is a translation flow:
7746
7466
  .INDENT 0.0
7747
7467
  .IP 1. 3
7748
- .
7749
7468
  Clone groonga repository.
7750
7469
  .IP 2. 3
7751
- .
7752
7470
  Update .po files.
7753
7471
  .IP 3. 3
7754
- .
7755
7472
  Edit .po files.
7756
7473
  .IP 4. 3
7757
- .
7758
7474
  Generate HTML files.
7759
7475
  .IP 5. 3
7760
- .
7761
7476
  Confirm HTML output.
7762
7477
  .IP 6. 3
7763
- .
7764
7478
  Repeat 2.\-4. until you get good result.
7765
7479
  .IP 7. 3
7766
- .
7767
7480
  Send your works to us!
7768
7481
  .UNINDENT
7769
7482
  .sp
@@ -7833,15 +7546,12 @@ specialized editor for .po file edit list.
7833
7546
  .INDENT 0.0
7834
7547
  .TP
7835
7548
  .B Emacs\(aqs \fI\%po-mode\fP
7836
- .sp
7837
7549
  It is bundled in gettext.
7838
7550
  .TP
7839
7551
  .B \fI\%Poedit\fP
7840
- .sp
7841
7552
  It is a .po editor and works on many platform.
7842
7553
  .TP
7843
7554
  .B gted
7844
- .
7845
7555
  It is also a .po editor and is implemented as Eclipse plugin.
7846
7556
  .UNINDENT
7847
7557
  .SS How to generate HTML files
@@ -7857,8 +7567,17 @@ substitute \fI${LANGUAGE}\fP with your language code such as
7857
7567
  % make html
7858
7568
  .ft P
7859
7569
  .fi
7570
+ .sp
7571
+ You can also generate HTML files for all languages by
7572
+ running \fImake html\fP on doc/locale:
7573
+ .sp
7574
+ .nf
7575
+ .ft C
7576
+ % cd doc/locale
7577
+ % make html
7578
+ .ft P
7579
+ .fi
7860
7580
  .IP Note
7861
- .
7862
7581
  .mo files are updated automatically by \fImake html\fP. So
7863
7582
  you don\(aqt care about .mo files.
7864
7583
  .RE
@@ -7944,13 +7663,10 @@ as \(aqja\(aq.
7944
7663
  .RE
7945
7664
  .INDENT 0.0
7946
7665
  .IP \(bu 2
7947
- .
7948
7666
  \fIgenindex\fP
7949
7667
  .IP \(bu 2
7950
- .
7951
7668
  \fImodindex\fP
7952
7669
  .IP \(bu 2
7953
- .
7954
7670
  \fIsearch\fP
7955
7671
  .UNINDENT
7956
7672
  .SH AUTHOR