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" "2011 年 0828 日" "1.2.5" "groonga"
1
+ .TH "GROONGA" "1" "2011 年 1127 日" "1.2.7" "groonga"
2
2
  .SH NAME
3
3
  groonga \- groongaのドキュメント
4
4
  .
@@ -32,7 +32,6 @@ 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
37
  .SH GROONGAの特徴
@@ -55,7 +54,7 @@ groongaの前身であるSennaは、ストレージを持たない全文検索
55
54
  .sp
56
55
  groongaのストレージファイルは、複数プロセスや複数スレッドで共有することができます。明示的なロックなどは必要ありません。
57
56
  .sp
58
- Tritonnの次期バージョンは、MySQLのプラガブルストレージエンジンとして実装予定です。Tritonnで開いているgroongaストレージファイルも共有可能です。たとえば、MySQLプロトコルでデータの更新を行い、HTTPでデータの参照を行うことができます。
57
+ Tritonnの後継として \fI\%mroonga\fP が開発されています。mroongaはMySQLのプラガブルストレージエンジンとして実装されています。mroongaが開いているgroongaのストレージファイルは他のgroongaサーバも共有することができます。例えば、MySQLプロトコルでデータの更新を行い、HTTPでデータの参照を行うことができます。
59
58
  .SS ドリルダウンなどの集計系クエリを高速に実現
60
59
  .sp
61
60
  groongaのストレージは、カラムごとにデータを保存するカラム指向データベースを採用しています。カラム指向データベースはOLAPなどの集計クエリを高速に実現するのに向いています。
@@ -76,12 +75,8 @@ groongaの転置インデックスは、Sennaにおける転置インデック
76
75
  .sp
77
76
  それぞれの環境毎にインストール方法を説明します。
78
77
  .sp
79
- パッケージは64bit用バイナリのみ配布しています。32bit用バイナリは配布していないので注意してください。
78
+ 32\-bit用と64\-bit用のパッケージを配布していますが、サーバ用途には64\-bitパッケージを利用することをオススメします。32\-bit用パッケージはテスト用か開発用にだけ使って下さい。32\-bit用パッケージを使った場合は、中程度のサイズのデータでもメモリ不足エラーになることがあります。
80
79
  .SS Debian GNU/Linux squeeze
81
- .IP ノート
82
- .
83
- amd64版のみ提供でi386版は未提供。
84
- .RE
85
80
  .sp
86
81
  /etc/apt/sources.list.d/groonga.list:
87
82
  .sp
@@ -102,10 +97,6 @@ deb\-src http://packages.groonga.org/debian/ squeeze main
102
97
  .ft P
103
98
  .fi
104
99
  .SS Debian GNU/Linux wheezy
105
- .IP ノート
106
- .
107
- amd64版のみ提供でi386版は未提供。
108
- .RE
109
100
  .sp
110
101
  /etc/apt/sources.list.d/groonga.list:
111
102
  .sp
@@ -126,10 +117,6 @@ deb\-src http://packages.groonga.org/debian/ wheezy main
126
117
  .ft P
127
118
  .fi
128
119
  .SS Debian GNU/Linux sid
129
- .IP ノート
130
- .
131
- amd64版のみ提供でi386版は未提供。
132
- .RE
133
120
  .sp
134
121
  /etc/apt/sources.list.d/groonga.list:
135
122
  .sp
@@ -151,12 +138,7 @@ deb\-src http://packages.groonga.org/debian/ unstable main
151
138
  .fi
152
139
  .SS Ubuntu 10.04 LTS Lucid Lynx
153
140
  .IP ノート
154
- .
155
- amd64版のみ提供でi386版は未提供。
156
- .RE
157
- .IP ノート
158
- .
159
- Ubuntu本家のuniverseセクションもインストール対象としておくこと
141
+ Ubuntu本家のuniverseセクションもインストール対象としてください。設定方法は以下で説明しています。
160
142
  .RE
161
143
  .sp
162
144
  /etc/apt/sources.list.d/groonga.list:
@@ -179,12 +161,7 @@ deb\-src http://packages.groonga.org/ubuntu/ lucid universe
179
161
  .fi
180
162
  .SS Ubuntu 11.04 Natty Narwhal
181
163
  .IP ノート
182
- .
183
- amd64版のみ提供でi386版は未提供。
184
- .RE
185
- .IP ノート
186
- .
187
- Ubuntu本家のuniverseセクションもインストール対象としておくこと
164
+ Ubuntu本家のuniverseセクションもインストール対象としてください。設定方法は以下で説明しています。
188
165
  .RE
189
166
  .sp
190
167
  /etc/apt/sources.list.d/groonga.list:
@@ -205,12 +182,42 @@ deb\-src http://packages.groonga.org/ubuntu/ natty universe
205
182
  % sudo aptitude \-V \-D \-y install groonga
206
183
  .ft P
207
184
  .fi
208
- .SS CentOS 5
185
+ .SS Ubuntu 11.10 Oneiric Ocelot
209
186
  .IP ノート
210
- .
211
- amd64版のみ提供でi386版は未提供。
187
+ Ubuntu本家のuniverseセクションもインストール対象としてください。設定方法は以下で説明しています。
212
188
  .RE
213
189
  .sp
190
+ /etc/apt/sources.list.d/groonga.list:
191
+ .sp
192
+ .nf
193
+ .ft C
194
+ deb http://packages.groonga.org/ubuntu/ oneiric universe
195
+ deb\-src http://packages.groonga.org/ubuntu/ oneiric universe
196
+ .ft P
197
+ .fi
198
+ .sp
199
+ インストール:
200
+ .sp
201
+ .nf
202
+ .ft C
203
+ % sudo apt\-key adv \-\-recv\-keys \-\-keyserver keyserver.ubuntu.com 1C837F31
204
+ % sudo aptitude update
205
+ % sudo aptitude \-V \-D \-y install groonga
206
+ .ft P
207
+ .fi
208
+ .SS CentOS 5
209
+ .sp
210
+ インストール:
211
+ .sp
212
+ .nf
213
+ .ft C
214
+ % sudo rpm \-ivh http://packages.groonga.org/centos/groonga\-repository\-1.0.0\-0.noarch.rpm
215
+ % sudo yum update
216
+ % sudo yum install \-y groonga
217
+ .ft P
218
+ .fi
219
+ .SS CentOS 6
220
+ .sp
214
221
  インストール:
215
222
  .sp
216
223
  .nf
@@ -221,10 +228,6 @@ amd64版のみ提供でi386版は未提供。
221
228
  .ft P
222
229
  .fi
223
230
  .SS Fedora 15
224
- .IP ノート
225
- .
226
- amd64版のみ提供でi386版は未提供。
227
- .RE
228
231
  .sp
229
232
  インストール:
230
233
  .sp
@@ -241,8 +244,6 @@ amd64版のみ提供でi386版は未提供。
241
244
  .sp
242
245
  .nf
243
246
  .ft C
244
- % git clone https://github.com/groonga/macports.git ~/groonga\-macports
245
- % (echo; echo file://$HOME/groonga\-macports) | sudo sh \-c "cat >> /opt/local/etc/macports/sources.conf"
246
247
  % sudo port install groonga
247
248
  .ft P
248
249
  .fi
@@ -256,23 +257,11 @@ amd64版のみ提供でi386版は未提供。
256
257
  .ft P
257
258
  .fi
258
259
  .SS Windows (Installer)
259
- .IP ノート
260
- .
261
- x64版のみ提供で32bit版は未提供。
262
- .RE
263
260
  .sp
264
- You just download installer (.exe file) from
265
- \fI\%packages.groonga.org/windows/\fP
266
- and execute it.
261
+ \fI\%packages.groonga.org/windows/\fP からインストーラ(.exeファイル)をダウンロードして実行してください。
267
262
  .SS Windows (zip)
268
- .IP ノート
269
- .
270
- x64版のみ提供で32bit版は未提供。
271
- .RE
272
263
  .sp
273
- You just download zip\-file from
274
- \fI\%packages.groonga.org/windows/\fP
275
- and extract it.
264
+ \fI\%packages.groonga.org/windows/\fP からzipファイルをダウンロードして展開するだけで使えます。
276
265
  .SS その他
277
266
  .sp
278
267
  形態素単位でトークナイズした全文検索索引を使用したい場合は、groongaをインストールする前に \fI\%MeCab\fP をインストールしてください。
@@ -295,32 +284,25 @@ groongaに関する話題を扱うメーリングリストがあります。
295
284
  .INDENT 0.0
296
285
  .TP
297
286
  .B For Japanese developers
298
- .
299
287
  \fI\%groonga-dev@lists.sourceforge.jp\fP
300
288
  .UNINDENT
301
289
  .SH チュートリアル
302
290
  .SS 基本的な操作
303
291
  .sp
304
- groongaは、Cのライブラリとして使用する方法と、groonga実行ファイルを通して使用する方法があります。
305
- .sp
306
- 本チュートリアルでは、groonga実行ファイルを使用する方法について説明します。
307
- .sp
308
- groonga実行ファイルを使って、DBの作成・操作・サーバの起動・サーバへの接続などの操作が行えます。
292
+ groongaは、Cのライブラリとして使用する方法と、groonga実行ファイルを通して使用する方法があります。本チュートリアルでは、groonga実行ファイルを使用する方法について説明します。groonga実行ファイルを使って、DBの作成・操作・サーバの起動・サーバへの接続などの操作が行えます。
309
293
  .SS DBの作成
310
294
  .sp
311
295
  以下のようなコマンドを実行すると、データベースを新規に作成することができます。
312
296
  .sp
313
- 書式
297
+ 書式:
314
298
  .sp
315
299
  .nf
316
300
  .ft C
317
- groonga \-n データベースパス名
301
+ groonga \-n DB_PATH_NAME
318
302
  .ft P
319
303
  .fi
320
304
  .sp
321
- \-nオプションは、データベースを作ることを示します。
322
- .sp
323
- データベースパス名には、新しく作成するデータベースのフルパス名を指定します。
305
+ \-nオプションは、データベースを作ることを示します。データベースパス名には、新しく作成するデータベースのフルパス名を指定します。
324
306
  .sp
325
307
  上記コマンドでデータベースを作成すると、そのまま対話モードと呼ばれるコマンドを受け付けるモードになります。Ctrlキーを押しながらdキーを押すと、対話モードから抜けることができます。
326
308
  .sp
@@ -335,44 +317,52 @@ groonga \-n データベースパス名
335
317
  .fi
336
318
  .SS DBの操作
337
319
  .sp
338
- 書式
320
+ 書式:
339
321
  .sp
340
322
  .nf
341
323
  .ft C
342
- groonga DBパス名 [コマンド]
324
+ groonga DB_PATH_NAME [COMMAND]
343
325
  .ft P
344
326
  .fi
345
327
  .sp
346
- 既存のデータベースのフルパス名をDBパス名に指定します。
347
- コマンドを指定すると、実行結果を返します。
328
+ 既存のデータベースのフルパス名をDBパス名に指定します。コマンドを指定すると、実行結果を返します。
348
329
  .sp
349
- コマンドを指定しない場合には、対話モードに入ります。
350
- 対話モードでは、標準入力からコマンドを読み込み、順次実行します。
351
- 本チュートリアルでは、対話モードを主に使用します。
330
+ コマンドを指定しない場合には、対話モードに入ります。対話モードでは、標準入力からコマンドを読み込み、順次実行します。本チュートリアルでは、対話モードを主に使用します。
352
331
  .sp
353
332
  たとえば、statusというコマンドを実行してみましょう。statusコマンドは、groongaの実行状態を返すコマンドです。
354
333
  .sp
355
- 実行例
334
+ 実行例:
356
335
  .sp
357
336
  .nf
358
337
  .ft C
359
- % groonga /tmp/tutorial.db
360
- > status
361
- [[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}]
338
+ > table_create \-\-name Type \-\-flags TABLE_HASH_KEY \-\-key_type ShortText
339
+ [[0,1317212791.02322,0.03942904],true]
340
+ > column_create \-\-table Type \-\-name number \-\-type Int32
341
+ [[0,1317212791.26314,0.124383285],true]
342
+ > column_create \-\-table Type \-\-name float \-\-type Float
343
+ [[0,1317212791.58803,0.027924039],true]
344
+ > column_create \-\-table Type \-\-name string \-\-type ShortText
345
+ [[0,1317212791.81654,0.040399047],true]
346
+ > column_create \-\-table Type \-\-name time \-\-type Time
347
+ [[0,1317212792.05751,0.027354067],true]
348
+ > load \-\-table Type
349
+ > [{"_key":"sample","number":12345,"float":42.195,"string":"GROONGA","time":1234567890.12}]
350
+ [[0,1317212792.28516,0.200775839],1]
351
+ > select \-\-table Type
352
+ [[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]]]]
362
353
  .ft P
363
354
  .fi
364
355
  .sp
365
356
  以上のように、コマンドの実行結果は基本的にjson形式で返却されます。jsonの配列の0番目の要素に、エラーコードや実行時間などの情報が入ります。jsonの配列の1番目の様子に、コマンドの実行結果が入ります。
366
357
  .SS コマンド
367
358
  .sp
368
- groonga実行ファイルやgroongaサーバを介して様々なコマンドを実行して、DBを操作することができます。
369
- コマンドは以下の書式のうちいずれかで与えることができます。
359
+ groonga実行ファイルやgroongaサーバを介して様々なコマンドを実行して、DBを操作することができます。コマンドは以下の書式のうちいずれかで与えることができます。
370
360
  .sp
371
361
  .nf
372
362
  .ft C
373
- 書式1: コマンド名 引数1 引数2 ..
363
+ Form1: COMMAND ARGUMENT1 ARGUMENT2 ..
374
364
 
375
- 書式2: コマンド名 \-\-引数名1 値1 \-\-引数名2 値2 ..
365
+ Form2: COMMAND \-\-ARAGUMENT1 VALUE1 \-\-ARGUMENT2 VALUE2 ..
376
366
  .ft P
377
367
  .fi
378
368
  .sp
@@ -387,31 +377,24 @@ groonga実行ファイルやgroongaサーバを介して様々なコマンドを
387
377
  .INDENT 0.0
388
378
  .TP
389
379
  .B \fB/commands/status\fP
390
- .sp
391
380
  groongaプロセスの状態を表示します。
392
381
  .TP
393
382
  .B \fB/commands/table_list\fP
394
- .sp
395
383
  DBに定義されているテーブルのリストを表示します。
396
384
  .TP
397
385
  .B \fB/commands/column_list\fP
398
- .sp
399
386
  テーブルに定義されているカラムのリストを表示します。
400
387
  .TP
401
388
  .B \fB/commands/table_create\fP
402
- .sp
403
389
  DBにテーブルを追加します。
404
390
  .TP
405
391
  .B \fB/commands/column_create\fP
406
- .sp
407
392
  テーブルにカラムを追加します。
408
393
  .TP
409
394
  .B \fB/commands/select\fP
410
- .sp
411
395
  テーブルに含まれるレコードを検索して表示します。
412
396
  .TP
413
397
  .B \fB/commands/load\fP
414
- .sp
415
398
  テーブルにレコードを挿入します。
416
399
  .UNINDENT
417
400
  .UNINDENT
@@ -422,30 +405,38 @@ DBにテーブルを追加します。
422
405
  .sp
423
406
  groongaでは、多くの場合テーブルを作成する際に主キーが必要となります。また、主キーには型と、その格納方法を指定する必要があります。
424
407
  .sp
425
- 型については、のちのチュートリアルで触れます。データの種類をあらわしているもの、とイメージしてください。
426
- .sp
427
- 主キーの格納方法によって、主キーでの検索速度や、前方一致検索の可否が決まります。これも、のちのチュートリアルで触れます。
408
+ 型については、のちのチュートリアルで触れます。データの種類をあらわしているもの、とイメージしてください。主キーの格納方法によって、主キーでの検索速度や、前方一致検索の可否が決まります。これも、のちのチュートリアルで触れます。
428
409
  .sp
429
410
  ここでは、ShortText型の主キー値を持ち、主キーの格納方法はHASHである、\(aqSite\(aqという名前のテーブルを作成します。
430
411
  .sp
431
- 実行例
412
+ 実行例:
432
413
  .sp
433
414
  .nf
434
415
  .ft C
435
- > table_create \-\-name Site \-\-flags TABLE_HASH_KEY \-\-key_type ShortText
436
- [[0,1308820930.09682,0.063827982],true]
416
+ > column_create \-\-table Site \-\-name link \-\-type Site
417
+ [[0,1317212792.88872,0.060705006],true]
418
+ > load \-\-table Site
419
+ > [{"_key":"http://example.org/","link":"http://example.net/"}]
420
+ [[0,1317212793.14984,0.200481934],1]
421
+ > select \-\-table Site \-\-output_columns _key,title,link._key,link.title \-\-query title:@this
422
+ [[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."]]]]
437
423
  .ft P
438
424
  .fi
439
425
  .SS 検索
440
426
  .sp
441
427
  \fB/commands/select\fP コマンドを用いて、テーブルの中身を表示することができます。
442
428
  .sp
443
- 実行例
429
+ 実行例:
444
430
  .sp
445
431
  .nf
446
432
  .ft C
447
- > select \-\-table Site
448
- [[0,1308820930.36252,0.000151605],[[[0],[["_id","UInt32"],["_key","ShortText"]]]]]
433
+ > column_create \-\-table Site \-\-name links \-\-flags COLUMN_VECTOR \-\-type Site
434
+ [[0,1317212793.75262,0.049658904],true]
435
+ > load \-\-table Site
436
+ > [{"_key":"http://example.org/","links":["http://example.net/","http://example.org/","http://example.com/"]}]
437
+ [[0,1317212794.00274,0.200473621],1]
438
+ > select \-\-table Site \-\-output_columns _key,title,links._key,links.title \-\-query title:@this
439
+ [[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."]]]]]
449
440
  .ft P
450
441
  .fi
451
442
  .sp
@@ -458,14 +449,14 @@ table_createコマンドで作成したテーブルには、最初から\(aq_id\
458
449
  .sp
459
450
  ShortText型の値を持つ、\(aqcomment\(aqという名前のカラムを\(aqSite\(aqテーブルに追加しましょう。
460
451
  .sp
461
- 実行例
452
+ 実行例:
462
453
  .sp
463
454
  .nf
464
455
  .ft C
465
456
  > column_create \-\-table Site \-\-name title \-\-flags COLUMN_SCALAR \-\-type ShortText
466
- [[0,1308820930.56469,0.052566362],true]
457
+ [[0,1317212712.91734,0.077833747],true]
467
458
  > select \-\-table Site
468
- [[0,1308820930.81869,9.5061e\-05],[[[0],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]]]]]
459
+ [[0,1317212713.19572,0.000121119],[[[0],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]]]]]
469
460
  .ft P
470
461
  .fi
471
462
  .sp
@@ -474,45 +465,39 @@ COLUMN_SCALARについては、通常のカラムであることを示してい
474
465
  .sp
475
466
  このチュートリアルでは、groongaに登録したデータを用いた全文検索を行います。
476
467
  .sp
477
- 全文検索を行う場合は、まず語彙表を作成する必要があります。
478
- 語彙表とは、文書の中にある単語が主キーとなるテーブルです。
479
- ここでは、ShortText型の主キー値を持つ、\(aqTerms\(aqという名前のテーブルを作成しました。
468
+ 全文検索を行う場合は、まず語彙表を作成する必要があります。語彙表とは、文書の中にある単語が主キーとなるテーブルです。ここでは、ShortText型の主キー値を持つ、\(aqTerms\(aqという名前のテーブルを作成しました。
480
469
  .sp
481
- 実行例
470
+ 実行例:
482
471
  .sp
483
472
  .nf
484
473
  .ft C
485
474
  > table_create \-\-name Terms \-\-flags TABLE_PAT_KEY|KEY_NORMALIZE \-\-key_type ShortText \-\-default_tokenizer TokenBigram
486
- [[0,1308820931.02058,0.054235759],true]
475
+ [[0,1317212713.39679,0.092312046],true]
487
476
  .ft P
488
477
  .fi
489
478
  .sp
490
479
  この実行例には、多くのパラメータが指定されています。本チュートリアルでは、これらをすべて理解する必要はありません。以下に簡単な説明を記しますが、読み飛ばしてもらってかまいません。
491
480
  .sp
492
- 実行例にある、TABLE_PAT_KEY|KEY_NORMALIZEという値は、主キー値をパトリシア木に格納し、各語彙を正規化して登録することを示しています。
493
- .sp
494
- 実行例にある、TokenBigramという値は、 語彙表として使用するテーブルは、対象の文書をトークナイズする方式を、default_tokenizerパラメータで与えます。この例ではTokenBigramを指定しています。よって、一般的にN\-gramと呼ばれるようなインデックス方式を選択しています。
481
+ 実行例にある、TABLE_PAT_KEY|KEY_NORMALIZEという値は、主キー値をパトリシア木に格納し、各語彙を正規化して登録することを示しています。実行例にある、TokenBigramという値は、 語彙表として使用するテーブルは、対象の文書をトークナイズする方式を、default_tokenizerパラメータで与えます。この例ではTokenBigramを指定しています。よって、一般的にN\-gramと呼ばれるようなインデックス方式を選択しています。
495
482
  .SS 全文検索用のインデックスカラムの作成
496
483
  .sp
497
484
  Siteテーブルのtitleカラムを全文検索の対象としたいとしましょう。その場合には、語彙表にインデックス型のカラムを作成します。
498
485
  .sp
499
- 実行例
486
+ 実行例:
500
487
  .sp
501
488
  .nf
502
489
  .ft C
503
490
  > column_create \-\-table Terms \-\-name blog_title \-\-flags COLUMN_INDEX|WITH_POSITION \-\-type Site \-\-source title
504
- [[0,1308820931.27655,0.173806991],true]
491
+ [[0,1317212713.68994,0.19739078],true]
505
492
  .ft P
506
493
  .fi
507
494
  .sp
508
- Siteテーブルのtitleカラムを検索対象とする、\(aqblog_title\(aqという名前のインデックス型カラムをTermsテーブルに作成しました。インデックス対象となるテーブルをtypeに、インデックス対象となるカラムをsourceに指定します。
509
- .sp
510
- 実行例のflagsのCOLUMN_INDEX|WITH_POSITIONという値は、語彙の位置情報を格納するインデックス型のカラムであることを示しています。通常の全文検索インデックスでは、COLUMN_INDEX|WITH_POSITIONを指定してください。語彙の位置情報を格納する意味については、本チュートリアルでは触れません。
495
+ Siteテーブルのtitleカラムを検索対象とする、\(aqblog_title\(aqという名前のインデックス型カラムをTermsテーブルに作成しました。インデックス対象となるテーブルをtypeに、インデックス対象となるカラムをsourceに指定します。実行例のflagsのCOLUMN_INDEX|WITH_POSITIONという値は、語彙の位置情報を格納するインデックス型のカラムであることを示しています。通常の全文検索インデックスでは、COLUMN_INDEX|WITH_POSITIONを指定してください。語彙の位置情報を格納する意味については、本チュートリアルでは触れません。
511
496
  .SS データのロード
512
497
  .sp
513
498
  \fB/commands/load\fP コマンドを使用します。loadコマンドでは、jsonで受け取ったデータをテーブルに格納します。
514
499
  .sp
515
- 実行例
500
+ 実行例:
516
501
  .sp
517
502
  .nf
518
503
  .ft C
@@ -528,18 +513,18 @@ Siteテーブルのtitleカラムを検索対象とする、\(aqblog_title\(aq
528
513
  > {"_key":"http://example.org/gat","title":"test test record eight."},
529
514
  > {"_key":"http://example.com/vdw","title":"test test record nine."},
530
515
  > ]
531
- [[0,1308820931.65233,2.210007023],9]
516
+ [[0,1317212714.08816,2.203527402],9]
532
517
  .ft P
533
518
  .fi
534
519
  .sp
535
520
  selectコマンドで、データが入っていることを確認しましょう。
536
521
  .sp
537
- 実行例
522
+ 実行例:
538
523
  .sp
539
524
  .nf
540
525
  .ft C
541
526
  > select \-\-table Site
542
- [[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."]]]]
527
+ [[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."]]]]
543
528
  .ft P
544
529
  .fi
545
530
  .SS データの検索
@@ -548,12 +533,12 @@ groongaでは、\(aq_id\(aqカラムと\(aq_key\(aqカラムの値はテーブ
548
533
  .sp
549
534
  selectコマンドにおいて、queryパラメータを用いるとデータの検索を行うことができます。
550
535
  .sp
551
- 実行例
536
+ 実行例:
552
537
  .sp
553
538
  .nf
554
539
  .ft C
555
540
  > select \-\-table Site \-\-query _id:1
556
- [[0,1308820934.2671,0.000244984],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[1,"http://example.org/","This is test record 1!"]]]]
541
+ [[0,1317212716.69871,0.000308514],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[1,"http://example.org/","This is test record 1!"]]]]
557
542
  .ft P
558
543
  .fi
559
544
  .sp
@@ -561,12 +546,12 @@ queryパラメータに与えた「_id:1」というのは、\(aq_id\(aqとい
561
546
  .sp
562
547
  _keyでも検索してみましょう。
563
548
  .sp
564
- 実行例
549
+ 実行例:
565
550
  .sp
566
551
  .nf
567
552
  .ft C
568
553
  > select \-\-table Site \-\-query "_key:\e"http://example.org/\e""
569
- [[0,1308820934.46932,0.000421384],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[1,"http://example.org/","This is test record 1!"]]]]
554
+ [[0,1317212716.9005,0.000478343],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[1,"http://example.org/","This is test record 1!"]]]]
570
555
  .ft P
571
556
  .fi
572
557
  .sp
@@ -575,12 +560,12 @@ queryパラメータに与えた「_key:"\fI\%http://example.org/\fP"」とい
575
560
  .sp
576
561
  queryパラメータでは、インデックスを用いた全文検索を行うこともできます。
577
562
  .sp
578
- 実行例
563
+ 実行例:
579
564
  .sp
580
565
  .nf
581
566
  .ft C
582
567
  > select \-\-table Site \-\-query title:@this
583
- [[0,1308820934.67264,0.000440628],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[1,"http://example.org/","This is test record 1!"]]]]
568
+ [[0,1317212717.10303,0.000581287],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[1,"http://example.org/","This is test record 1!"]]]]
584
569
  .ft P
585
570
  .fi
586
571
  .sp
@@ -588,16 +573,18 @@ titleカラムに対して、\(aqthis\(aqという文字列で全文検索を行
588
573
  .sp
589
574
  queryパラメータに与えた「title:@this」というのが、\(aqtitle\(aqという名前のカラムに\(aqthis\(aqという文字列が含まれているレコードを検索する、という意味です。
590
575
  .sp
591
- selectコマンドには、match_columnsというパラメータが存在します。これを指定すると、query内にカラム名を指定しない条件があった場合、match_columnsで指定されたカラムに対しての検索であることを示します。[1]_
576
+ selectコマンドには、match_columnsというパラメータが存在します。
577
+ .sp
578
+ これを指定すると、query内にカラム名を指定しない条件があった場合、match_columnsで指定されたカラムに対しての検索であることを示します。[1]_
592
579
  .sp
593
580
  match_columnsパラメータに\(aqtitle\(aq、queryパラメータに\(aqthis\(aqという文字列を指定すると、上記のクエリと同じ結果を得ることができます。
594
581
  .sp
595
- 実行例
582
+ 実行例:
596
583
  .sp
597
584
  .nf
598
585
  .ft C
599
586
  > select \-\-table Site \-\-match_columns title \-\-query this
600
- [[0,1308820934.87474,0.000280727],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[1,"http://example.org/","This is test record 1!"]]]]
587
+ [[0,1317212717.30596,0.000716439],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[1,"http://example.org/","This is test record 1!"]]]]
601
588
  .ft P
602
589
  .fi
603
590
  .SS 出力カラムの指定
@@ -606,34 +593,34 @@ selectコマンドにおいて、output_columnsパラメータを用いること
606
593
  .sp
607
594
  複数のカラムを指定する場合は、カンマ(,)区切りで指定します。
608
595
  .sp
609
- 実行例
596
+ 実行例:
610
597
  .sp
611
598
  .nf
612
599
  .ft C
613
600
  > select \-\-table Site \-\-output_columns _key,title,_score \-\-query title:@test
614
- [[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]]]]
601
+ [[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]]]]
615
602
  .ft P
616
603
  .fi
617
604
  .sp
618
605
  groongaの検索結果には、「_score」という名前のカラムが追加されています。このカラムは、全文検索の条件が合致する文書ほど高い数値が入ります。
619
606
  .SS 表示範囲指定
620
607
  .sp
621
- selectコマンドにおいて、offset,limitパラメータを用いることで、検索結果から指定された範囲のみを表示することが出来ます。大量の検索結果をページで分けて、1ページ分のみを表示したい場合に有効です。
608
+ selectコマンドにおいて、offset,limitパラメータを用いることで、検索結果から指定された範囲のみを表示することが出来ます。大量の検索結果をページで分けて、1ページ分のみを表示したい場合に有用です。
622
609
  .sp
623
610
  offsetパラメータには、検索結果を返す始点を指定します。1件目から結果を返す場合には、0を指定します。
624
611
  .sp
625
612
  limitパラメータには、検索結果を何件表示するのかを指定します。
626
613
  .sp
627
- 実行例
614
+ 実行例:
628
615
  .sp
629
616
  .nf
630
617
  .ft C
631
618
  > select \-\-table Site \-\-offset 0 \-\-limit 3
632
- [[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."]]]]
619
+ [[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."]]]]
633
620
  > select \-\-table Site \-\-offset 3 \-\-limit 3
634
- [[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."]]]]
621
+ [[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."]]]]
635
622
  > select \-\-table Site \-\-offset 7 \-\-limit 3
636
- [[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."]]]]
623
+ [[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."]]]]
637
624
  .ft P
638
625
  .fi
639
626
  .SS 並び替え
@@ -642,39 +629,38 @@ selectコマンドにおいて、sortbyパラメータを用いることで、
642
629
  .sp
643
630
  sortbyパラメータにカラム名を指定することで、そのカラムの値で昇順にソートします。また、カラム名の前にハイフン(\-)を付けることで、降順にソートすることも出来ます。
644
631
  .sp
645
- 実行例
632
+ 実行例:
646
633
  .sp
647
634
  .nf
648
635
  .ft C
649
636
  > select \-\-table Site \-\-sortby \-_id
650
- [[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!"]]]]
637
+ [[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!"]]]]
651
638
  .ft P
652
639
  .fi
653
640
  .sp
654
641
  出力カラムの指定で紹介した「_score」カラムは、ソートの条件としても使うことができます。
655
642
  .sp
656
- 実行例
643
+ 実行例:
657
644
  .sp
658
645
  .nf
659
646
  .ft C
660
647
  > select \-\-table Site \-\-query title:@test \-\-output_columns _id,_score,title \-\-sortby _score
661
- [[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."]]]]
648
+ [[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."]]]]
662
649
  .ft P
663
650
  .fi
664
651
  .sp
665
652
  ソートするカラム名を複数指定したい場合は、カンマ(,)区切りで指定します。複数のカラムを指定した場合、最初のカラムで同一の値のレコードがあった場合に、次のカラムの値でソートさせることができます。
666
653
  .sp
667
- 実行例
654
+ 実行例:
668
655
  .sp
669
656
  .nf
670
657
  .ft C
671
658
  > select \-\-table Site \-\-query title:@test \-\-output_columns _id,_score,title \-\-sortby _score,_id
672
- [[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."]]]]
659
+ [[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."]]]]
673
660
  .ft P
674
661
  .fi
675
662
  脚注
676
663
  .IP [1] 5
677
- .
678
664
  現在のバージョンでは、全文検索インデックスが存在する場合にのみ、match_columnsパラメータを利用することができます。通常のカラムでの絞り込みには利用できません。
679
665
  .SS ネットワークを通じた利用
680
666
  .sp
@@ -682,23 +668,21 @@ groongaはネットワークを通じて利用することができます。groo
682
668
  .SS groonga専用プロトコルによる通信
683
669
  .SS groongaデーモンの起動
684
670
  .sp
685
- 書式
671
+ 書式:
686
672
  .sp
687
673
  .nf
688
674
  .ft C
689
- groonga [\-p ポート番号] \-d DBパス名
675
+ groonga [\-p PORT_NUMBER] \-d DB_PATH_NAME
690
676
  .ft P
691
677
  .fi
692
678
  .sp
693
- 既存のデータベースのフルパス名をDBパス名に指定します。
694
- groongaがデーモンモードで起動し、指定したポート番号でgroongaの専用プロトコルを用いた通信をすることができます。
695
- (ポート番号を省略した場合は10041が使用されます)
679
+ 既存のデータベースのフルパス名をDBパス名に指定します。groongaがデーモンモードで起動し、指定したポート番号でgroongaの専用プロトコルを用いた通信をすることができます。(ポート番号を省略した場合は10041が使用されます)
696
680
  .sp
697
681
  実行例:
698
682
  .sp
699
683
  .nf
700
684
  .ft C
701
- % groonga \-d /tmp/tutorial.db
685
+ % groonga \-d /tmp/groonga\-databases/introduction.db
702
686
  12345
703
687
  %
704
688
  .ft P
@@ -707,11 +691,11 @@ groongaがデーモンモードで起動し、指定したポート番号でgroo
707
691
  デーモンモードで起動後、プロセス番号が表示されます。
708
692
  .SS groongaサーバへの接続
709
693
  .sp
710
- 書式
694
+ 書式:
711
695
  .sp
712
696
  .nf
713
697
  .ft C
714
- groonga [\-p ポート番号] \-c [対象ホスト名またはIPアドレス]
698
+ groonga [\-p PORT_NUMBER] \-c [HOST_NAME_OR_IP_ADDRESS]
715
699
  .ft P
716
700
  .fi
717
701
  .sp
@@ -721,13 +705,13 @@ groonga [\-p ポート番号] \-c [対象ホスト名またはIPアドレス]
721
705
  .sp
722
706
  接続に成功すると対話モードに入り、標準入力からコマンドを読み込んで順次実行します。
723
707
  .sp
724
- 実行例
708
+ 実行例:
725
709
  .sp
726
710
  .nf
727
711
  .ft C
728
712
  % groonga \-c
729
713
  > status
730
- [[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}]
714
+ [[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}]
731
715
  > ctrl\-d
732
716
  %
733
717
  .ft P
@@ -736,7 +720,7 @@ groonga [\-p ポート番号] \-c [対象ホスト名またはIPアドレス]
736
720
  .sp
737
721
  groongaデーモンにshutdownコマンドを発行することにより、終了させることができます。
738
722
  .sp
739
- 実行例
723
+ 実行例:
740
724
  .sp
741
725
  .nf
742
726
  .ft C
@@ -749,11 +733,11 @@ groongaデーモンにshutdownコマンドを発行することにより、終
749
733
  .sp
750
734
  groongaをHTTP経由で利用したい場合には、HTTPプロトコルモードで起動します。
751
735
  .sp
752
- 書式
736
+ 書式:
753
737
  .sp
754
738
  .nf
755
739
  .ft C
756
- groonga [\-p ポート番号] \-d \-\-protocol http DBパス名
740
+ groonga [\-p PORT_NUMBER] \-d \-\-protocol http DB_PATH_NAME
757
741
  .ft P
758
742
  .fi
759
743
  .sp
@@ -767,24 +751,24 @@ groongaがHTTPプロトコルモードで起動されているとき、「/d/コ
767
751
  .sp
768
752
  コマンドのオプションは、HTTPのGETパラメータで渡します。つまり、「?オプション=値&オプション=値 …」という書式になります。
769
753
  .sp
770
- 実行例
754
+ 実行例:
771
755
  .sp
772
756
  .nf
773
757
  .ft C
774
758
  http://[IPまたはホスト名]:[ポート番号]/d/status
775
759
  実行される処理:
776
760
  > status
777
- [[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}]
761
+ [[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}]
778
762
 
779
763
  http://[IPまたはホスト名]:[ポート番号]/d/select?table=Site&query=title:@this
780
764
  実行される処理:
781
765
  > select \-\-table Site \-\-query title:@this
782
- [[0,1308820929.28709,6.8668e\-05],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[1,"http://example.org/","This is test record 1!"]]]]
766
+ [[0,1317212813.54112,6.7993e\-05],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[1,"http://example.org/","This is test record 1!"]]]]
783
767
  .ft P
784
768
  .fi
785
769
  .SS セキュリティ
786
770
  .sp
787
- groongaのネットワークサービスにはは認証機能がありません。誰でもデータベースの内容を閲覧・修正することができます。iptablesなどを用いて、アクセス元IPアドレスを制限することを薦めます。
771
+ groongaのネットワークサービスには認証機能がありません。誰でもデータベースの内容を閲覧・修正することができます。iptablesなどを用いて、アクセス元IPアドレスを制限することを薦めます。
788
772
  .SS さまざまな種類をもったデータの保存
789
773
  .sp
790
774
  groongaでは、さまざまなデータを格納させることが出来ます。
@@ -794,27 +778,27 @@ groongaでは、数値(整数・小数)や文字列や時刻や経緯度な
794
778
  .sp
795
779
  ここでは、Int32型のカラムに整数を格納、Float型のカラムに浮動小数点の小数を、ShortText型のカラムに文字列を、Time型のカラムに時間を格納する例を示します。経緯度の格納については、のちのチュートリアルで触れます。
796
780
  .sp
797
- その他のデータ型の一覧は、 \fB../type\fP を参照してください。
781
+ その他のデータ型の一覧は、 \fB/type\fP を参照してください。
798
782
  .sp
799
- 実行例
783
+ 実行例:
800
784
  .sp
801
785
  .nf
802
786
  .ft C
803
787
  > table_create \-\-name Type \-\-flags TABLE_HASH_KEY \-\-key_type ShortText
804
- [[0,1308820985.62521,0.057448585],true]
788
+ [[0,1317212791.02322,0.03942904],true]
805
789
  > column_create \-\-table Type \-\-name number \-\-type Int32
806
- [[0,1308820985.88435,0.0506424],true]
790
+ [[0,1317212791.26314,0.124383285],true]
807
791
  > column_create \-\-table Type \-\-name float \-\-type Float
808
- [[0,1308820986.13667,0.06274076],true]
792
+ [[0,1317212791.58803,0.027924039],true]
809
793
  > column_create \-\-table Type \-\-name string \-\-type ShortText
794
+ [[0,1317212791.81654,0.040399047],true]
810
795
  > column_create \-\-table Type \-\-name time \-\-type Time
811
- [[0,1308820986.40111,0.207566663],true]
812
- [[0,1308820986.60872,0.060231324],true]
796
+ [[0,1317212792.05751,0.027354067],true]
813
797
  > load \-\-table Type
814
798
  > [{"_key":"sample","number":12345,"float":42.195,"string":"GROONGA","time":1234567890.12}]
815
- [[0,1308820986.87067,0.202168318],1]
799
+ [[0,1317212792.28516,0.200775839],1]
816
800
  > select \-\-table Type
817
- [[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]]]]
801
+ [[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]]]]
818
802
  .ft P
819
803
  .fi
820
804
  .SS テーブル型
@@ -827,17 +811,17 @@ table_createで作成したテーブルを、カラムの型として使うこ
827
811
  .sp
828
812
  他のテーブルを参照するカラムにデータを入力する場合には、参照先のテーブルの_keyカラムの値を代入する必要があります。
829
813
  .sp
830
- 実行例
814
+ 実行例:
831
815
  .sp
832
816
  .nf
833
817
  .ft C
834
818
  > column_create \-\-table Site \-\-name link \-\-type Site
835
- [[0,1308820987.47796,0.067493639],true]
819
+ [[0,1317212792.88872,0.060705006],true]
836
820
  > load \-\-table Site
837
821
  > [{"_key":"http://example.org/","link":"http://example.net/"}]
838
- [[0,1308820987.74711,0.201407365],1]
822
+ [[0,1317212793.14984,0.200481934],1]
839
823
  > select \-\-table Site \-\-output_columns _key,title,link._key,link.title \-\-query title:@this
840
- [[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."]]]]
824
+ [[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."]]]]
841
825
  .ft P
842
826
  .fi
843
827
  .sp
@@ -852,17 +836,17 @@ column_createコマンドでカラムを作成するとき、\-\-flagsオプシ
852
836
  .sp
853
837
  他のテーブルを参照するベクターカラムにデータを入力する場合には、参照先のテーブルの_keyカラムの値の「配列」を代入する必要があります。
854
838
  .sp
855
- 実行例
839
+ 実行例:
856
840
  .sp
857
841
  .nf
858
842
  .ft C
859
843
  > column_create \-\-table Site \-\-name links \-\-flags COLUMN_VECTOR \-\-type Site
860
- [[0,1308820988.35428,0.055857261],true]
844
+ [[0,1317212793.75262,0.049658904],true]
861
845
  > load \-\-table Site
862
846
  > [{"_key":"http://example.org/","links":["http://example.net/","http://example.org/","http://example.com/"]}]
863
- [[0,1308820988.61189,0.20152687],1]
847
+ [[0,1317212794.00274,0.200473621],1]
864
848
  > select \-\-table Site \-\-output_columns _key,title,links._key,links.title \-\-query title:@this
865
- [[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."]]]]]
849
+ [[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."]]]]]
866
850
  .ft P
867
851
  .fi
868
852
  .sp
@@ -874,19 +858,18 @@ groongaは、JavaScriptに似た文法での条件絞込や、計算した値を
874
858
  .sp
875
859
  selectコマンドのfilterパラメータは、queryパラメータと同様に、レコードの検索条件を指定します。filterパラメータとqueryパラメータが異なる点は、filterパラメータには、JavaScriptの式に似た文法で条件を指定する点です。
876
860
  .sp
877
- 実行例
861
+ 実行例:
878
862
  .sp
879
863
  .nf
880
864
  .ft C
881
865
  > select \-\-table Site \-\-filter "_id <= 1" \-\-output_columns _id,_key
882
- [[0,1308820947.12902,0.000234772],[[[1],[["_id","UInt32"],["_key","ShortText"]],[1,"http://example.org/"]]]]
866
+ [[0,1317212733.77852,0.000333188],[[[1],[["_id","UInt32"],["_key","ShortText"]],[1,"http://example.org/"]]]]
883
867
  .ft P
884
868
  .fi
885
869
  .sp
886
870
  ここで、filterパラメータには
887
871
  .INDENT 0.0
888
872
  .INDENT 3.5
889
- .sp
890
873
  _id <= 1
891
874
  .UNINDENT
892
875
  .UNINDENT
@@ -895,14 +878,14 @@ _id <= 1
895
878
  .sp
896
879
  また、&& や || を使って、条件のAND・OR指定をすることもできます。
897
880
  .sp
898
- 実行例
881
+ 実行例:
899
882
  .sp
900
883
  .nf
901
884
  .ft C
902
885
  > select \-\-table Site \-\-filter "_id >= 4 && _id <= 6" \-\-output_columns _id,_key
903
- [[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"]]]]
886
+ [[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"]]]]
904
887
  > select \-\-table Site \-\-filter "_id <= 2 || _id >= 7" \-\-output_columns _id,_key
905
- [[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"]]]]
888
+ [[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"]]]]
906
889
  .ft P
907
890
  .fi
908
891
  .sp
@@ -915,14 +898,14 @@ selectコマンドのscorerパラメータは、
915
898
  filterパラメータと同様に、
916
899
  JavaScriptの式に似たな文法で様々な条件を指定することができます。
917
900
  .sp
918
- 実行例
901
+ 実行例:
919
902
  .sp
920
903
  .nf
921
904
  .ft C
922
905
  > select \-\-table Site \-\-filter "1" \-\-scorer "_score = rand()" \-\-output_columns _id,_key,_score \-\-sortby _score
923
- [[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]]]]
906
+ [[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]]]]
924
907
  > select \-\-table Site \-\-filter "1" \-\-scorer "_score = rand()" \-\-output_columns _id,_key,_score \-\-sortby _score
925
- [[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]]]]
908
+ [[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]]]]
926
909
  .ft P
927
910
  .fi
928
911
  .sp
@@ -931,7 +914,6 @@ JavaScriptの式に似たな文法で様々な条件を指定することがで
931
914
  上記の実行例では、scorerパラメータに
932
915
  .INDENT 0.0
933
916
  .INDENT 3.5
934
- .sp
935
917
  _score = rand()
936
918
  .UNINDENT
937
919
  .UNINDENT
@@ -941,7 +923,6 @@ _score = rand()
941
923
  sortbyパラメータには、
942
924
  .INDENT 0.0
943
925
  .INDENT 3.5
944
- .sp
945
926
  _score
946
927
  .UNINDENT
947
928
  .UNINDENT
@@ -955,37 +936,47 @@ groongaでは、位置情報(経緯度)を保存することができます
955
936
  .sp
956
937
  位置情報を保存するためのカラムの型として、TokyoGeoPoint/WGS84GeoPointの2つの型があります。前者は日本測地系、後者は世界測地系(WGS84相当)の経緯度を保存します。
957
938
  .sp
958
- 経緯度をデータを入力するためには、"緯度のミリ秒x経度のミリ秒"という形式の文字列を代入する必要があります。
939
+ 経緯度は以下のいずれかの形式の文字列として指定します。
940
+ .INDENT 0.0
941
+ .IP \(bu 2
942
+ "[緯度のミリ秒]x[経度のミリ秒]"(例: "128452975x503157902")
943
+ .IP \(bu 2
944
+ "[緯度のミリ秒],[経度のミリ秒]"(例: "128452975,503157902")
945
+ .IP \(bu 2
946
+ "[緯度の小数表記の度数]x[経度の小数表記の度数]"(例: "35.6813819x139.7660839")
947
+ .IP \(bu 2
948
+ "[緯度の小数表記の度数],[経度の小数表記の度数]"(例: "35.6813819,139.7660839")
949
+ .UNINDENT
959
950
  .sp
960
- ここでは、ためしに東京駅と新宿駅とついて、世界測地系での位置情報を保存してみましょう。東京駅は緯度が35度40分52.975秒、経度が139度45分57.902秒です。新宿駅は緯度が35度41分27.316秒、経度が139度42分0.929秒です。よって、代入する文字列はそれぞれ"128452975x503157902"/"128487316x502920929"となります。
951
+ ここでは、ためしに東京駅と新宿駅とついて、世界測地系での位置情報を保存してみましょう。東京駅は緯度が35度40分52.975秒、経度が139度45分57.902秒です。新宿駅は緯度が35度41分27.316秒、経度が139度42分0.929秒です。よって、ミリ秒表記の場合はそれぞれ"128452975x503157902"/"128487316x502920929"となります。度数表記の場合はそれぞれ"35.6813819x139.7660839"/"35.6909211x139.7002581"となります。ここではミリ秒表記で登録しましょう。
961
952
  .sp
962
- 実行例
953
+ 実行例:
963
954
  .sp
964
955
  .nf
965
956
  .ft C
966
957
  > column_create \-\-table Site \-\-name location \-\-type WGS84GeoPoint
967
- [[0,1308820948.149,0.106673308],true]
958
+ [[0,1317212734.78744,0.047997601],true]
968
959
  > load \-\-table Site
969
960
  > [
970
961
  > {"_key":"http://example.org/","location":"128452975x503157902"}
971
962
  > {"_key":"http://example.net/","location":"128487316x502920929"},
972
963
  > ]
973
- [[0,1308820948.45731,0.804828624],2]
964
+ [[0,1317212735.0361,0.801149613],2]
974
965
  > select \-\-table Site \-\-query "_id:1 OR _id:2" \-\-output_columns _key,location
975
- [[0,1308820949.46367,0.000415883],[[[2],[["_key","ShortText"],["location","WGS84GeoPoint"]],["http://example.org/","128452975x503157902"],["http://example.net/","128487316x502920929"]]]]
966
+ [[0,1317212736.03775,0.000261897],[[[2],[["_key","ShortText"],["location","WGS84GeoPoint"]],["http://example.org/","128452975x503157902"],["http://example.net/","128487316x502920929"]]]]
976
967
  .ft P
977
968
  .fi
978
969
  .sp
979
- scorerパラメータにおいて、 \fB../functions/geo_distance\fP 関数を用いることにより、2点間の距離を計算することができます。
970
+ scorerパラメータにおいて、 \fB/functions/geo_distance\fP 関数を用いることにより、2点間の距離を計算することができます。
980
971
  .sp
981
972
  ここでは、秋葉原駅からの距離を表示させてみましょう。世界測地系では、秋葉原駅の位置は緯度が35度41分55.259秒、経度が139度46分27.188秒です。よって、geo_distance関数に与える文字列は"128515259x503187188"となります。
982
973
  .sp
983
- 実行例
974
+ 実行例:
984
975
  .sp
985
976
  .nf
986
977
  .ft C
987
978
  > select \-\-table Site \-\-query "_id:1 OR _id:2" \-\-output_columns _key,location,_score \-\-scorer \(aq_score = geo_distance(location, "128515259x503187188")\(aq
988
- [[0,1308820949.66719,0.000579851],[[[2],[["_key","ShortText"],["location","WGS84GeoPoint"],["_score","Int32"]],["http://example.org/","128452975x503157902",2054],["http://example.net/","128487316x502920929",6720]]]]
979
+ [[0,1317212736.23918,0.000393211],[[[2],[["_key","ShortText"],["location","WGS84GeoPoint"],["_score","Int32"]],["http://example.org/","128452975x503157902",2054],["http://example.net/","128487316x502920929",6720]]]]
989
980
  .ft P
990
981
  .fi
991
982
  .sp
@@ -993,27 +984,27 @@ scorerパラメータにおいて、 \fB../functions/geo_distance\fP 関数を
993
984
  .sp
994
985
  geo_distance関数は、_scoreを通じてソートでも用いることができます。
995
986
  .sp
996
- 実行例
987
+ 実行例:
997
988
  .sp
998
989
  .nf
999
990
  .ft C
1000
991
  > select \-\-table Site \-\-query "_id:1 OR _id:2" \-\-output_columns _key,location,_score \-\-scorer \(aq_score = geo_distance(location, "128515259x503187188")\(aq \-\-sortby \-_score
1001
- [[0,1308820949.87105,0.00059959],[[[2],[["_key","ShortText"],["location","WGS84GeoPoint"],["_score","Int32"]],["http://example.net/","128487316x502920929",6720],["http://example.org/","128452975x503157902",2054]]]]
992
+ [[0,1317212736.44102,0.000345608],[[[2],[["_key","ShortText"],["location","WGS84GeoPoint"],["_score","Int32"]],["http://example.net/","128487316x502920929",6720],["http://example.org/","128452975x503157902",2054]]]]
1002
993
  .ft P
1003
994
  .fi
1004
995
  .sp
1005
996
  「ある地点から何m以内に存在する」といった絞込も可能です。
1006
997
  .sp
1007
- filterパラメータにおいて、 \fB../functions/geo_in_circle\fP 関数を用いることにより、2点間の距離が指定のm以下におさまるかどうかを判定することができます。
998
+ filterパラメータにおいて、 \fB/functions/geo_in_circle\fP 関数を用いることにより、2点間の距離が指定のm以下におさまるかどうかを判定することができます。
1008
999
  .sp
1009
1000
  たとえば、秋葉原駅から5000m以内にあるレコードを検索してみましょう。
1010
1001
  .sp
1011
- 実行例
1002
+ 実行例:
1012
1003
  .sp
1013
1004
  .nf
1014
1005
  .ft C
1015
1006
  > select \-\-table Site \-\-output_columns _key,location \-\-filter \(aqgeo_in_circle(location, "128515259x503187188", 5000)\(aq
1016
- [[0,1308820950.07638,0.000388003],[[[1],[["_key","ShortText"],["location","WGS84GeoPoint"]],["http://example.org/","128452975x503157902"]]]]
1007
+ [[0,1317212736.64335,0.000245378],[[[1],[["_key","ShortText"],["location","WGS84GeoPoint"]],["http://example.org/","128452975x503157902"]]]]
1017
1008
  .ft P
1018
1009
  .fi
1019
1010
  .sp
@@ -1024,18 +1015,18 @@ groongaでは、特定のカラム値で検索結果をグループ化するこ
1024
1015
  .sp
1025
1016
  Siteテーブルに2つのカラムを追加します。TLDドメイン名を格納するdomainカラムと、国名を格納するcountryカラムです。これらのカラムの型は、それぞれドメイン名を主キーとするSiteDomainテーブルと、国名を主キーとするSiteCountryテーブルとします。
1026
1017
  .sp
1027
- 実行例
1018
+ 実行例:
1028
1019
  .sp
1029
1020
  .nf
1030
1021
  .ft C
1031
1022
  > table_create \-\-name SiteDomain \-\-flags TABLE_HASH_KEY \-\-key_type ShortText
1032
- [[0,1308821014.79373,0.08400713],true]
1023
+ [[0,1317212750.98228,0.098212593],true]
1033
1024
  > table_create \-\-name SiteCountry \-\-flags TABLE_HASH_KEY \-\-key_type ShortText
1034
- [[0,1308821015.07862,0.039604105],true]
1035
1025
  > column_create \-\-table Site \-\-name domain \-\-flags COLUMN_SCALAR \-\-type SiteDomain
1036
- [[0,1308821015.31978,0.038851776],true]
1026
+ [[0,1317212751.28095,0.256200943],true]
1027
+ [[0,1317212751.53719,0.085740621],true]
1037
1028
  > column_create \-\-table Site \-\-name country \-\-flags COLUMN_SCALAR \-\-type SiteCountry
1038
- [[0,1308821015.56016,0.038916093],true]
1029
+ [[0,1317212751.82329,0.064026147],true]
1039
1030
  > load \-\-table Site
1040
1031
  > [
1041
1032
  > {"_key":"http://example.org/","domain":".org","country":"japan"},
@@ -1048,62 +1039,62 @@ Siteテーブルに2つのカラムを追加します。TLDドメイン名を
1048
1039
  > {"_key":"http://example.org/gat","domain":".org","country":"usa"},
1049
1040
  > {"_key":"http://example.com/vdw","domain":".com","country":"japan"}
1050
1041
  > ]
1051
- [[0,1308821015.80061,2.21225519],9]
1042
+ [[0,1317212752.0878,2.202801388],9]
1052
1043
  .ft P
1053
1044
  .fi
1054
1045
  .sp
1055
1046
  domainカラムとcountryカラムでドリルダウンを行う例を以下に示します。
1056
1047
  .sp
1057
- 実行例
1048
+ 実行例:
1058
1049
  .sp
1059
1050
  .nf
1060
1051
  .ft C
1061
1052
  > select \-\-table Site \-\-limit 0 \-\-drilldown domain
1062
- [[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]]]]
1053
+ [[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]]]]
1063
1054
  .ft P
1064
1055
  .fi
1065
1056
  .sp
1066
1057
  テーブル型を持つカラムに対してドリルダウンを行った場合、参照先のテーブルに存在するカラム値を取得することもできます。ドリルダウンを行ったテーブルには、_nsubrecsという仮想的なカラムが追加されます。このカラムには、グループ化されたレコード数が入ります。
1067
1058
  .sp
1068
- 実行例
1059
+ 実行例:
1069
1060
  .sp
1070
1061
  .nf
1071
1062
  .ft C
1072
1063
  > select \-\-table Site \-\-limit 0 \-\-drilldown domain \-\-drilldown_output_columns _id,_key,_nsubrecs
1073
- [[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]]]]
1064
+ [[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]]]]
1074
1065
  .ft P
1075
1066
  .fi
1076
1067
  .sp
1077
1068
  複数のカラムに対してドリルダウンを行うことができます。複数のカラムに対してドリルダウンを行う場合には、drilldownパラメータにカラム名をカンマ区切りで与えます。
1078
1069
  .sp
1079
- 実行例
1070
+ 実行例:
1080
1071
  .sp
1081
1072
  .nf
1082
1073
  .ft C
1083
1074
  > select \-\-table Site \-\-limit 0 \-\-drilldown domain,country
1084
- [[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]]]]
1075
+ [[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]]]]
1085
1076
  .ft P
1086
1077
  .fi
1087
1078
  .sp
1088
1079
  ドリルダウン結果を並びかえることができます。例えば、_nsubrecsパラメータの降順で並び替えることができます。
1089
1080
  .sp
1090
- 実行例
1081
+ 実行例:
1091
1082
  .sp
1092
1083
  .nf
1093
1084
  .ft C
1094
1085
  > select \-\-table Site \-\-limit 0 \-\-drilldown country \-\-drilldown_sortby _nsubrecs
1095
- [[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]]]]
1086
+ [[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]]]]
1096
1087
  .ft P
1097
1088
  .fi
1098
1089
  .sp
1099
1090
  ドリルダウン結果は、デフォルトでは10件のみ表示されます。drilldown_offsetパラメータと、drilldown_limitパラメータによって、offsetとlimitを指定することができます。
1100
1091
  .sp
1101
- 実行例
1092
+ 実行例:
1102
1093
  .sp
1103
1094
  .nf
1104
1095
  .ft C
1105
1096
  > select \-\-table Site \-\-limit 0 \-\-drilldown country \-\-drilldown_sortby _nsubrecs \-\-drilldown_limit 2 \-\-drilldown_offset 2
1106
- [[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]]]]
1097
+ [[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]]]]
1107
1098
  .ft P
1108
1099
  .fi
1109
1100
  .sp
@@ -1122,20 +1113,20 @@ domainカラムとcountryカラムでドリルダウンを行う例を以下に
1122
1113
  動画の情報を保存する、Videoテーブルを作成します。Videoテーブルでは、動画のタイトルをtitleカラムに、動画のタグ情報をtagsカラムにTagテーブル型で複数格納しています。
1123
1114
  タグの情報を保存する、Tagテーブルを作成します。Tagテーブルでは、タグ文字列を主キーに格納し、Videoテーブルのtagsカラムに対するインデックスをindex_tagsカラムに格納しています。
1124
1115
  .sp
1125
- 実行例
1116
+ 実行例:
1126
1117
  .sp
1127
1118
  .nf
1128
1119
  .ft C
1129
1120
  > table_create \-\-name Video \-\-flags TABLE_HASH_KEY \-\-key_type UInt32
1130
- [[\-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]
1121
+ [[0,1317212832.70606,0.061331715],true]
1131
1122
  > table_create \-\-name Tag \-\-flags TABLE_HASH_KEY \-\-key_type ShortText
1132
- [[\-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]
1123
+ [[0,1317212832.968,0.039868236],true]
1133
1124
  > column_create \-\-table Video \-\-name title \-\-flags COLUMN_SCALAR \-\-type ShortText
1134
- [[\-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]
1125
+ [[0,1317212833.20833,0.040494862],true]
1135
1126
  > column_create \-\-table Video \-\-name tags \-\-flags COLUMN_VECTOR \-\-type Tag
1136
- [[\-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]
1127
+ [[0,1317212833.44939,0.051861409],true]
1137
1128
  > column_create \-\-table Tag \-\-name index_tags \-\-flags COLUMN_INDEX \-\-type Video \-\-source tags
1138
- [[\-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]
1129
+ [[0,1317212833.70185,0.092878953],true]
1139
1130
  > load \-\-table Video
1140
1131
  > [
1141
1132
  > {"_key":1,"title":"Soccer 2010","tags":["Sports","Soccer"]},
@@ -1147,7 +1138,7 @@ domainカラムとcountryカラムでドリルダウンを行う例を以下に
1147
1138
  > {"_key":7,"title":"Draw 8 Month","tags":["Animation","Raccoon"]},
1148
1139
  > {"_key":8,"title":"K.O.","tags":["Animation","Music"]}
1149
1140
  > ]
1150
- [[0,1308820913.81791,2.009808857],8]
1141
+ [[0,1317212833.99531,2.002850011],8]
1151
1142
  .ft P
1152
1143
  .fi
1153
1144
  .sp
@@ -1155,16 +1146,16 @@ domainカラムとcountryカラムでドリルダウンを行う例を以下に
1155
1146
  .sp
1156
1147
  「ある語句が付与されている動画の一覧を取得する」検索を行いましょう。
1157
1148
  .sp
1158
- 実行例
1149
+ 実行例:
1159
1150
  .sp
1160
1151
  .nf
1161
1152
  .ft C
1162
1153
  > select \-\-table Video \-\-query tags:@Variety \-\-output_columns _key,title
1163
- [[0,1308820916.02932,0.000242814],[[[2],[["_key","UInt32"],["title","ShortText"]],[2,"Zenigata Kinjirou"],[5,"Hex Gone!"]]]]
1154
+ [[0,1317212836.19894,0.000330108],[[[2],[["_key","UInt32"],["title","ShortText"]],[2,"Zenigata Kinjirou"],[5,"Hex Gone!"]]]]
1164
1155
  > select \-\-table Video \-\-query tags:@Sports \-\-output_columns _key,title
1165
- [[0,1308820916.23053,0.000231493],[[[2],[["_key","UInt32"],["title","ShortText"]],[1,"Soccer 2010"],[4,"Moero!! Ultra Baseball"]]]]
1156
+ [[0,1317212836.39998,0.000316897],[[[2],[["_key","UInt32"],["title","ShortText"]],[1,"Soccer 2010"],[4,"Moero!! Ultra Baseball"]]]]
1166
1157
  > select \-\-table Video \-\-query tags:@Animation \-\-output_columns _key,title
1167
- [[0,1308820916.43258,0.000233013],[[[3],[["_key","UInt32"],["title","ShortText"]],[6,"Pikonyan 1"],[7,"Draw 8 Month"],[8,"K.O."]]]]
1158
+ [[0,1317212836.60111,0.000349157],[[[3],[["_key","UInt32"],["title","ShortText"]],[6,"Pikonyan 1"],[7,"Draw 8 Month"],[8,"K.O."]]]]
1168
1159
  .ft P
1169
1160
  .fi
1170
1161
  .sp
@@ -1177,18 +1168,18 @@ groongaはテーブル間の参照関係の逆引きを高速に行うための
1177
1168
  .sp
1178
1169
  以下の例では、ユーザー情報を格納するUserテーブルを作成し、ユーザー名を格納するusernameカラム、ユーザーの友人一覧を配列で格納するfriendsカラムとそのインデックスのindex_friendsカラムを追加しています。
1179
1170
  .sp
1180
- 実行例
1171
+ 実行例:
1181
1172
  .sp
1182
1173
  .nf
1183
1174
  .ft C
1184
1175
  > table_create \-\-name User \-\-flags TABLE_HASH_KEY \-\-key_type ShortText
1185
- [[\-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]
1176
+ [[0,1317212836.80268,0.048923839],true]
1186
1177
  > column_create \-\-table User \-\-name username \-\-flags COLUMN_SCALAR \-\-type ShortText
1187
- [[\-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]
1178
+ [[0,1317212837.05226,0.040322616],true]
1188
1179
  > column_create \-\-table User \-\-name friends \-\-flags COLUMN_VECTOR \-\-type User
1189
- [[\-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]
1180
+ [[0,1317212837.29306,0.039978793],true]
1190
1181
  > column_create \-\-table User \-\-name index_friends \-\-flags COLUMN_INDEX \-\-type User \-\-source friends
1191
- [[\-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]
1182
+ [[0,1317212837.53369,0.067271637],true]
1192
1183
  > load \-\-table User
1193
1184
  > [
1194
1185
  > {"_key":"ken","username":"健作","friends":["taro","jiro","tomo","moritapo"]}
@@ -1198,31 +1189,31 @@ groongaはテーブル間の参照関係の逆引きを高速に行うための
1198
1189
  > {"_key":"tomo","username":"トモちゃん","friends":["ken","hana"]}
1199
1190
  > {"_key":"hana","username":"花子","friends":["ken","taro","jiro","moritapo","tomo"]}
1200
1191
  > ]
1201
- [[0,1308820917.44495,1.609341731],6]
1192
+ [[0,1317212837.80152,1.602221355],6]
1202
1193
  .ft P
1203
1194
  .fi
1204
1195
  .sp
1205
1196
  指定したユーザーを友人リストに入れているユーザーの一覧を表示してみましょう。
1206
1197
  .sp
1207
- 実行例
1198
+ 実行例:
1208
1199
  .sp
1209
1200
  .nf
1210
1201
  .ft C
1211
1202
  > select \-\-table User \-\-query friends:@tomo \-\-output_columns _key,username
1212
- [[0,1308820919.25622,0.000551379],[[[5],[["_key","ShortText"],["username","ShortText"]],["ken","健作"],["taro","ぐるんが太郎"],["jiro","ぐるんが次郎"],["moritapo","森田"],["hana","花子"]]]]
1203
+ [[0,1317212839.60442,0.000260617],[[[5],[["_key","ShortText"],["username","ShortText"]],["ken","健作"],["taro","ぐるんが太郎"],["jiro","ぐるんが次郎"],["moritapo","森田"],["hana","花子"]]]]
1213
1204
  > select \-\-table User \-\-query friends:@jiro \-\-output_columns _key,username
1214
- [[0,1308820919.46056,0.000443467],[[[3],[["_key","ShortText"],["username","ShortText"]],["ken","健作"],["taro","ぐるんが太郎"],["hana","花子"]]]]
1205
+ [[0,1317212839.80577,0.000253172],[[[3],[["_key","ShortText"],["username","ShortText"]],["ken","健作"],["taro","ぐるんが太郎"],["hana","花子"]]]]
1215
1206
  .ft P
1216
1207
  .fi
1217
1208
  .sp
1218
1209
  さらに、ドリルダウンを使って、友人リストに入っている数の一覧を表示してみましょう。
1219
1210
  .sp
1220
- 実行例
1211
+ 実行例:
1221
1212
  .sp
1222
1213
  .nf
1223
1214
  .ft C
1224
1215
  > select \-\-table User \-\-limit 0 \-\-drilldown friends
1225
- [[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]]]]
1216
+ [[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]]]]
1226
1217
  .ft P
1227
1218
  .fi
1228
1219
  .sp
@@ -1231,33 +1222,33 @@ groongaはテーブル間の参照関係の逆引きを高速に行うための
1231
1222
  .sp
1232
1223
  位置情報のカラムに対して、インデックスを付与することが出来ます。大量の位置情報レコードを検索する場合に、検索速度が速くなります。
1233
1224
  .sp
1234
- 実行例
1225
+ 実行例:
1235
1226
  .sp
1236
1227
  .nf
1237
1228
  .ft C
1238
1229
  > table_create \-\-name GeoIndex \-\-flags TABLE_PAT_KEY \-\-key_type WGS84GeoPoint
1239
- [[0,1308820919.86871,0.074996815],true]
1230
+ [[0,1317212840.20962,0.088534001],true]
1240
1231
  > column_create \-\-table GeoIndex \-\-name index_point \-\-type Site \-\-flags COLUMN_INDEX \-\-source location
1241
- [[0,1308820920.14512,0.125822381],true]
1232
+ [[0,1317212840.49869,0.093704431],true]
1242
1233
  > load \-\-table Site
1243
1234
  > [
1244
1235
  > {"_key":"http://example.org/","location":"128452975x503157902"},
1245
1236
  > {"_key":"http://example.net/","location":"128487316x502920929"}
1246
1237
  > ]
1247
- [[0,1308820920.47239,0.80439359],2]
1238
+ [[0,1317212840.79332,0.801438285],2]
1248
1239
  > select \-\-table Site \-\-filter \(aqgeo_in_circle(location, "128515259x503187188", 5000)\(aq \-\-output_columns _key,location
1249
- [[0,1308820921.4776,0.000305925],[[[1],[["_key","ShortText"],["location","WGS84GeoPoint"]],["http://example.org/","128452975x503157902"]]]]
1240
+ [[0,1317212841.79563,0.000626003],[[[1],[["_key","ShortText"],["location","WGS84GeoPoint"]],["http://example.org/","128452975x503157902"]]]]
1250
1241
  .ft P
1251
1242
  .fi
1252
1243
  .sp
1253
1244
  同様に、位置情報レコードを用いてソートする場合に、ソート速度が速くなります。
1254
1245
  .sp
1255
- 実行例
1246
+ 実行例:
1256
1247
  .sp
1257
1248
  .nf
1258
1249
  .ft C
1259
1250
  > 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
1260
- [[0,1308820921.67976,0.00036066],[[[2],[["_key","ShortText"],["location","WGS84GeoPoint"],["_score","Int32"]],["http://example.org/","128452975x503157902",2054],["http://example.net/","128487316x502920929",6720]]]]
1251
+ [[0,1317212841.99878,0.0011657],[[[2],[["_key","ShortText"],["location","WGS84GeoPoint"],["_score","Int32"]],["http://example.org/","128452975x503157902",2054],["http://example.net/","128487316x502920929",6720]]]]
1261
1252
  .ft P
1262
1253
  .fi
1263
1254
  .SS match_columnsパラメータ
@@ -1271,29 +1262,29 @@ groongaでは、複数のカラムを対象とした全文検索を行うこと
1271
1262
  Blog1テーブルを作り、タイトル文字列のtitleカラム、本文のmessageカラムを追加しています。
1272
1263
  インデックス用のIndexBlog1テーブルも作り、titleカラムのインデックス用にindex_titleカラム、messageカラムのインデック用にindex_messageカラムと、それぞれ1カラムごとに1つずつ追加しています。
1273
1264
  .sp
1274
- 実行例
1265
+ 実行例:
1275
1266
  .sp
1276
1267
  .nf
1277
1268
  .ft C
1278
1269
  > table_create \-\-name Blog1 \-\-flags TABLE_HASH_KEY \-\-key_type ShortText
1279
- [[0,1308820990.03354,0.035673804],true]
1270
+ [[0,1317212795.41036,0.047939793],true]
1280
1271
  > column_create \-\-table Blog1 \-\-name title \-\-flags COLUMN_SCALAR \-\-type ShortText
1281
- [[0,1308820990.27064,0.039038327],true]
1272
+ [[0,1317212795.65884,0.040658195],true]
1282
1273
  > column_create \-\-table Blog1 \-\-name message \-\-flags COLUMN_SCALAR \-\-type ShortText
1283
- [[0,1308820990.51063,0.02746529],true]
1274
+ [[0,1317212795.89978,0.029458384],true]
1284
1275
  > table_create \-\-name IndexBlog1 \-\-flags TABLE_PAT_KEY|KEY_NORMALIZE \-\-key_type ShortText \-\-default_tokenizer TokenBigram
1285
- [[0,1308820990.73983,0.050621344],true]
1276
+ [[0,1317212796.12974,0.183567683],true]
1286
1277
  > column_create \-\-table IndexBlog1 \-\-name index_title \-\-flags COLUMN_INDEX|WITH_POSITION \-\-type Blog1 \-\-source title
1287
- [[0,1308820990.99215,0.0775106330000001],true]
1278
+ [[0,1317212796.51381,0.092148792],true]
1288
1279
  > column_create \-\-table IndexBlog1 \-\-name index_message \-\-flags COLUMN_INDEX|WITH_POSITION \-\-type Blog1 \-\-source message
1280
+ [[0,1317212796.80646,0.088690675],true]
1289
1281
  > load \-\-table Blog1
1290
- [[0,1308820991.2714,0.374852452],true]
1291
1282
  > [
1292
1283
  > {"_key":"grn1","title":"groonga test","message":"groonga message"},
1293
1284
  > {"_key":"grn2","title":"baseball result","message":"rakutan eggs 4 \- 4 groonga moritars"},
1294
1285
  > {"_key":"grn3","title":"groonga message","message":"none"}
1295
1286
  > ]
1296
- [[0,1308820991.64629,1.006391124],3]
1287
+ [[0,1317212797.09575,1.001254761],3]
1297
1288
  .ft P
1298
1289
  .fi
1299
1290
  .sp
@@ -1301,16 +1292,16 @@ match_columnsオプションで、検索対象のカラムを複数指定する
1301
1292
  .sp
1302
1293
  実際に検索してみましょう。
1303
1294
  .sp
1304
- 実行例
1295
+ 実行例:
1305
1296
  .sp
1306
1297
  .nf
1307
1298
  .ft C
1308
1299
  > select \-\-table Blog1 \-\-match_columns title||message \-\-query groonga
1309
- [[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"]]]]
1300
+ [[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"]]]]
1310
1301
  > select \-\-table Blog1 \-\-match_columns title||message \-\-query message
1311
- [[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"]]]]
1302
+ [[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"]]]]
1312
1303
  > select \-\-table Blog1 \-\-match_columns title \-\-query message
1313
- [[0,1308820993.26226,0.000493886],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["message","ShortText"]],[3,"grn3","groonga message","none"]]]]
1304
+ [[0,1317212798.70102,0.000314581],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["message","ShortText"]],[3,"grn3","groonga message","none"]]]]
1314
1305
  .ft P
1315
1306
  .fi
1316
1307
  .SS 複数のカラムにまたがったインデックスを付与する場合
@@ -1319,42 +1310,42 @@ match_columnsオプションで、検索対象のカラムを複数指定する
1319
1310
  .sp
1320
1311
  共通のインデックスを用いても、titleカラムのみでの検索、messageカラムのみでの検索、titleもしくはmessageカラムでの検索、全ての検索を行うことができます。
1321
1312
  .sp
1322
- 実行例
1313
+ 実行例:
1323
1314
  .sp
1324
1315
  .nf
1325
1316
  .ft C
1326
1317
  > table_create \-\-name Blog2 \-\-flags TABLE_HASH_KEY \-\-key_type ShortText
1327
- [[0,1308820993.46608,0.05057593],true]
1318
+ [[0,1317212798.90253,0.052986511],true]
1328
1319
  > column_create \-\-table Blog2 \-\-name title \-\-flags COLUMN_SCALAR \-\-type ShortText
1329
- [[0,1308820993.71836,0.038892177],true]
1320
+ [[0,1317212799.156,0.028355347],true]
1330
1321
  > column_create \-\-table Blog2 \-\-name message \-\-flags COLUMN_SCALAR \-\-type ShortText
1331
- [[0,1308820993.95896,0.050752981],true]
1322
+ [[0,1317212799.38486,0.040142104],true]
1332
1323
  > table_create \-\-name IndexBlog2 \-\-flags TABLE_PAT_KEY|KEY_NORMALIZE \-\-key_type ShortText \-\-default_tokenizer TokenBigram
1333
- [[0,1308820994.21131,0.038689527],true]
1324
+ [[0,1317212799.62539,0.039673533],true]
1334
1325
  > column_create \-\-table IndexBlog2 \-\-name index_blog \-\-flags COLUMN_INDEX|WITH_POSITION|WITH_SECTION \-\-type Blog2 \-\-source title,message
1335
- [[0,1308820994.45174,0.089530422],true]
1326
+ [[0,1317212799.86551,0.079790187],true]
1336
1327
  > load \-\-table Blog2
1337
1328
  > [
1338
1329
  > {"_key":"grn1","title":"groonga test","message":"groonga message"},
1339
1330
  > {"_key":"grn2","title":"baseball result","message":"rakutan eggs 4 \- 4 groonga moritars"},
1340
1331
  > {"_key":"grn3","title":"groonga message","message":"none"}
1341
1332
  > ]
1342
- [[0,1308820994.74295,1.006034383],3]
1333
+ [[0,1317212800.14589,1.001367315],3]
1343
1334
  .ft P
1344
1335
  .fi
1345
1336
  .sp
1346
1337
  実際に検索してみましょう。結果は上の例と同じになります。
1347
1338
  .sp
1348
- 実行例
1339
+ 実行例:
1349
1340
  .sp
1350
1341
  .nf
1351
1342
  .ft C
1352
1343
  > select \-\-table Blog2 \-\-match_columns title||message \-\-query groonga
1353
- [[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"]]]]
1344
+ [[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"]]]]
1354
1345
  > select \-\-table Blog2 \-\-match_columns title||message \-\-query message
1355
- [[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"]]]]
1346
+ [[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"]]]]
1356
1347
  > select \-\-table Blog2 \-\-match_columns title \-\-query message
1357
- [[0,1308820996.35865,0.000473223],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["message","ShortText"]],[3,"grn3","groonga message","none"]]]]
1348
+ [[0,1317212801.75107,0.000323124],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["message","ShortText"]],[3,"grn3","groonga message","none"]]]]
1358
1349
  .ft P
1359
1350
  .fi
1360
1351
  .SS インデックス名を指定した全文検索
@@ -1363,28 +1354,28 @@ match_columnsオプションで、検索対象のカラムを複数指定する
1363
1354
  .SS インデックスの重み
1364
1355
  .sp
1365
1356
  執筆中です。
1366
- .SS 主キーによる前方一致検索
1357
+ .SS パトリシア木による前方一致検索
1367
1358
  .sp
1368
1359
  groongaのテーブルは、テーブル作成時にパトリシア木オプションを指定すると、前方一致検索を行うことができます。また、追加のオプションを指定することにより、主キーの後方一致検索をも行うことができます。
1369
1360
  .SS 主キーによる前方一致検索
1370
1361
  .sp
1371
1362
  table_createコマンドのflagsオプションにTABLE_PAT_KEYを指定することで、主キーによる前方一致検索ができるようになります。
1372
1363
  .sp
1373
- 実行例
1364
+ 実行例:
1374
1365
  .sp
1375
1366
  .nf
1376
1367
  .ft C
1377
1368
  > table_create \-\-name PatPrefix \-\-flags TABLE_PAT_KEY \-\-key_type ShortText
1378
- [[0,1308820996.96716,0.044653865],true]
1369
+ [[0,1317212719.34619,0.047490604],true]
1379
1370
  > load \-\-table PatPrefix
1380
1371
  > [
1381
1372
  > {"_key":"ひろゆき"},
1382
1373
  > {"_key":"まろゆき"},
1383
1374
  > {"_key":"ひろあき"}
1384
1375
  > ]
1385
- [[0,1308820997.21348,1.005917803],3]
1376
+ [[0,1317212719.59456,1.001406593],3]
1386
1377
  > select \-\-table PatPrefix \-\-query _key:@ひろ
1387
- [[0,1308820998.42103,0.000401963],[[[2],[["_id","UInt32"],["_key","ShortText"]],[3,"ひろあき"],[1,"ひろゆき"]]]]
1378
+ [[0,1317212720.79648,0.00031203],[[[2],[["_id","UInt32"],["_key","ShortText"]],[3,"ひろあき"],[1,"ひろゆき"]]]]
1388
1379
  .ft P
1389
1380
  .fi
1390
1381
  .SS 主キーによる後方一致検索
@@ -1395,25 +1386,25 @@ KEY_WITH_SISフラグを付与すると、データを追加する際に後方
1395
1386
  .sp
1396
1387
  例えば、元のレコードと自動的に追加されたレコードとの区別をつけるために、元のレコードであることを示すoriginalカラムを追加して、検索時にはoriginalカラムが \fBtrue\fP も検索条件に加えます。
1397
1388
  .sp
1398
- 実行例
1389
+ 実行例:
1399
1390
  .sp
1400
1391
  .nf
1401
1392
  .ft C
1402
1393
  > table_create \-\-name PatSuffix \-\-flags TABLE_PAT_KEY|KEY_WITH_SIS \-\-key_type ShortText
1403
- [[0,1308820998.62409,0.056108533],true]
1394
+ [[0,1317212720.99778,0.0531648179999999],true]
1404
1395
  > column_create \-\-table PatSuffix \-\-name original \-\-type Bool
1405
- [[0,1308820998.8819,0.038650376],true]
1396
+ [[0,1317212721.25163,0.099479727],true]
1406
1397
  > load \-\-table PatSuffix
1407
1398
  > [
1408
1399
  > {"_key":"ひろゆき","original":true},
1409
1400
  > {"_key":"まろゆき","original":true},
1410
1401
  > {"_key":"ひろあき","original":true}
1411
1402
  > ]
1412
- [[0,1308820999.12224,1.0055318],3]
1403
+ [[0,1317212721.55167,1.001449341],3]
1413
1404
  > select \-\-table PatSuffix \-\-query _key:@ゆき
1414
- [[0,1308821000.32928,0.000440379],[[[4],[["_id","UInt32"],["_key","ShortText"],["original","Bool"]],[1,"ひろゆき",true],[5,"まろゆき",true],[3,"ゆき",false],[2,"ろゆき",false]]]]
1405
+ [[0,1317212722.75369,0.000313623],[[[4],[["_id","UInt32"],["_key","ShortText"],["original","Bool"]],[1,"ひろゆき",true],[5,"まろゆき",true],[3,"ゆき",false],[2,"ろゆき",false]]]]
1415
1406
  > select \-\-table PatSuffix \-\-query "_key:@ゆき original:true"
1416
- [[0,1308821000.5325,0.000412256],[[[2],[["_id","UInt32"],["_key","ShortText"],["original","Bool"]],[1,"ひろゆき",true],[5,"まろゆき",true]]]]
1407
+ [[0,1317212722.95502,0.00032577],[[[2],[["_id","UInt32"],["_key","ShortText"],["original","Bool"]],[1,"ひろゆき",true],[5,"まろゆき",true]]]]
1417
1408
  .ft P
1418
1409
  .fi
1419
1410
  .SS 全文検索の語彙表に対する追加情報
@@ -1464,35 +1455,27 @@ column_create \-\-table Bigram \-\-name comment_index \-\-flags COLUMN_INDEX|WIT
1464
1455
  .INDENT 0.0
1465
1456
  .TP
1466
1457
  .B \fB_key\fP
1467
- .sp
1468
1458
  ユーザーID
1469
1459
  .TP
1470
1460
  .B \fBname\fP
1471
- .sp
1472
1461
  ユーザー名
1473
1462
  .TP
1474
1463
  .B \fBfollower\fP
1475
- .sp
1476
1464
  フォローしているユーザーの一覧
1477
1465
  .TP
1478
1466
  .B \fBfavorites\fP
1479
- .sp
1480
1467
  お気に入りのコメント一覧
1481
1468
  .TP
1482
1469
  .B \fBlocation\fP
1483
- .sp
1484
1470
  ユーザーの現在地(緯度経度座標)
1485
1471
  .TP
1486
1472
  .B \fBlocation_str\fP
1487
- .sp
1488
1473
  ユーザーの現在地(文字列)
1489
1474
  .TP
1490
1475
  .B \fBdescription\fP
1491
- .sp
1492
1476
  ユーザーの自己紹介
1493
1477
  .TP
1494
1478
  .B \fBfollowee\fP
1495
- .sp
1496
1479
  Usersテーブルのfollowerカラムに対するインデックス。
1497
1480
  このインデックスを作ることで、あるユーザーをフォローしているユーザーを検索できるようになります。
1498
1481
  .UNINDENT
@@ -1502,39 +1485,30 @@ Usersテーブルのfollowerカラムに対するインデックス。
1502
1485
  .INDENT 0.0
1503
1486
  .TP
1504
1487
  .B \fB_key\fP
1505
- .sp
1506
1488
  コメントID
1507
1489
  .TP
1508
1490
  .B \fBcomment\fP
1509
- .sp
1510
1491
  コメント内容
1511
1492
  .TP
1512
1493
  .B \fBlast_modified\fP
1513
- .sp
1514
1494
  投稿日時
1515
1495
  .TP
1516
1496
  .B \fBreplied_to\fP
1517
- .sp
1518
1497
  返信元のコメント内容
1519
1498
  .TP
1520
1499
  .B \fBreplied_users\fP
1521
- .sp
1522
1500
  返信先のユーザーの一覧
1523
1501
  .TP
1524
1502
  .B \fBhash_tags\fP
1525
- .sp
1526
1503
  コメントのハッシュタグの一覧
1527
1504
  .TP
1528
1505
  .B \fBlocation\fP
1529
- .sp
1530
1506
  投稿場所(緯度経度座標のため)
1531
1507
  .TP
1532
1508
  .B \fBposted_by\fP
1533
- .sp
1534
1509
  コメントを書いたユーザー
1535
1510
  .TP
1536
1511
  .B \fBfavorited_by\fP
1537
- .sp
1538
1512
  Usersテーブルのfavoritesカラムに対するインデックス。
1539
1513
  このインデックスを作ることで、指定したコメントを誰がお気に入りに入れているのかを検索できるようになります。
1540
1514
  .UNINDENT
@@ -1544,11 +1518,9 @@ Usersテーブルのfavoritesカラムに対するインデックス。
1544
1518
  .INDENT 0.0
1545
1519
  .TP
1546
1520
  .B \fB_key\fP
1547
- .sp
1548
1521
  ハッシュタグ
1549
1522
  .TP
1550
1523
  .B \fBhash_index\fP
1551
- .sp
1552
1524
  「Comments.hash_tags」のインデックス。
1553
1525
  このインデックスを作ることで、指定したハッシュタグのついているコメントの一覧を出すことが出来るようになります。
1554
1526
  .UNINDENT
@@ -1558,16 +1530,13 @@ Usersテーブルのfavoritesカラムに対するインデックス。
1558
1530
  .INDENT 0.0
1559
1531
  .TP
1560
1532
  .B \fB_key\fP
1561
- .sp
1562
1533
  単語
1563
1534
  .TP
1564
1535
  .B \fBusers_index\fP
1565
- .sp
1566
1536
  ユーザー情報のインデックス。
1567
1537
  このカラムは、ユーザー名「Users.name」、現在地「Users.location_str」、自己紹介文「Users.description」のインデックスになっています。
1568
1538
  .TP
1569
1539
  .B \fBcomment_index\fP
1570
- .sp
1571
1540
  コメント内容「Comments.comment」のインデックス
1572
1541
  .UNINDENT
1573
1542
  .SS データのロード
@@ -1682,45 +1651,45 @@ Commentsテーブルのlast_modifiedカラムは、Time型です。この型で
1682
1651
  それでは、実際に検索をしてみましょう。
1683
1652
  .SS キーワードでユーザー検索
1684
1653
  .sp
1685
- ここでは、 \fBtutorial07\fP で扱った、複数カラムを対象とした検索を行います。
1654
+ ここでは、 \fBmatch_columns\fP で扱った、複数カラムを対象とした検索を行います。
1686
1655
  指定された文字列で、ユーザー名・現在地・自己紹介文を対象に検索をします。
1687
1656
  .sp
1688
- 実行例
1657
+ 実行例:
1689
1658
  .sp
1690
1659
  .nf
1691
1660
  .ft C
1692
1661
  > select \-\-table Users \-\-match_columns name,location_str,description \-\-query 東京 \-\-output_columns _key,name
1693
- [[0,1308820976.45769,0.000541951],[[[2],[["_key","ShortText"],["name","ShortText"]],["tasukuchan","グニャラくん"],["OffGao","OffGao"]]]]
1662
+ [[0,1317212781.80175,0.000302755],[[[2],[["_key","ShortText"],["name","ShortText"]],["tasukuchan","グニャラくん"],["OffGao","OffGao"]]]]
1694
1663
  .ft P
1695
1664
  .fi
1696
1665
  .sp
1697
1666
  「東京」をキーワードにユーザー検索した結果、東京都に住んでいる「グニャラくん」と「OffGao」がヒットしました。
1698
1667
  .SS GeoPointでユーザー検索
1699
1668
  .sp
1700
- ここでは、 \fBtutorial04\fP で扱った、GeoPoint型のカラムで検索をします。
1669
+ ここでは、 \fBsearch\fP で扱った、GeoPoint型のカラムで検索をします。
1701
1670
  以下の例では、指定された位置から5000m以内にいるユーザーを検索しています。
1702
1671
  .sp
1703
- 実行例
1672
+ 実行例:
1704
1673
  .sp
1705
1674
  .nf
1706
1675
  .ft C
1707
1676
  > select \-\-table Users \-\-filter \(aqgeo_in_circle(location,"128484216x502919856",5000)\(aq \-\-output_columns _key,name
1708
- [[0,1308820976.66084,0.000278696],[[[2],[["_key","ShortText"],["name","ShortText"]],["tasukuchan","グニャラくん"],["OffGao","OffGao"]]]]
1677
+ [[0,1317212782.00321,0.000241271],[[[2],[["_key","ShortText"],["name","ShortText"]],["tasukuchan","グニャラくん"],["OffGao","OffGao"]]]]
1709
1678
  .ft P
1710
1679
  .fi
1711
1680
  .sp
1712
1681
  新宿駅から5km以内にすんでいるユーザーを検索したところ、「グニャラくん」と「OffGao」がヒットしました。
1713
1682
  .SS あるユーザーをフォローしているユーザーの検索
1714
1683
  .sp
1715
- ここでは、 \fBtutorial06\fP で扱った、参照関係の逆引きをします。
1684
+ ここでは、 \fBindex\fP で扱った、参照関係の逆引きをします。
1716
1685
  以下の例では、Usersテーブルのfollowerカラムにあるフォローリストを逆引きします。
1717
1686
  .sp
1718
- 実行例
1687
+ 実行例:
1719
1688
  .sp
1720
1689
  .nf
1721
1690
  .ft C
1722
1691
  > select \-\-table Users \-\-query follower:@tasukuchan \-\-output_columns _key,name
1723
- [[0,1308820976.86282,0.000287394],[[[2],[["_key","ShortText"],["name","ShortText"]],["daijiro","hsiomaneki"],["OffGao","OffGao"]]]]
1692
+ [[0,1317212782.20472,0.000231885],[[[2],[["_key","ShortText"],["name","ShortText"]],["daijiro","hsiomaneki"],["OffGao","OffGao"]]]]
1724
1693
  .ft P
1725
1694
  .fi
1726
1695
  .sp
@@ -1728,14 +1697,14 @@ Commentsテーブルのlast_modifiedカラムは、Time型です。この型で
1728
1697
  .SS GeoPointでコメント検索
1729
1698
  .sp
1730
1699
  ある範囲内で書かれたコメントを検索します。
1731
- また、 \fBtutorial05\fP で扱ったドリルダウンも行います。検索結果をハッシュタグとユーザーでドリルダウンし、ユーザー別・ハッシュタグ別のカウントを出します。
1700
+ また、 \fBdrilldown\fP で扱ったドリルダウンも行います。検索結果をハッシュタグとユーザーでドリルダウンし、ユーザー別・ハッシュタグ別のカウントを出します。
1732
1701
  .sp
1733
- 実行例
1702
+ 実行例:
1734
1703
  .sp
1735
1704
  .nf
1736
1705
  .ft C
1737
1706
  > select \-\-table Comments \-\-filter \(aqgeo_in_circle(location,"127975798x502919856",20000)\(aq \-\-output_columns posted_by.name,comment \-\-drilldown hash_tags,posted_by
1738
- [[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]]]]
1707
+ [[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]]]]
1739
1708
  .ft P
1740
1709
  .fi
1741
1710
  .sp
@@ -1743,14 +1712,14 @@ Commentsテーブルのlast_modifiedカラムは、Time型です。この型で
1743
1712
  .SS キーワードでコメント検索
1744
1713
  .sp
1745
1714
  あるキーワードを含むコメントを検索します。
1746
- さらに、 \fBtutorial04\fP で扱った、スコア値_scoreも出してみましょう。
1715
+ さらに、 \fBsearch\fP で扱った、スコア値_scoreも出してみましょう。
1747
1716
  .sp
1748
- 実行例
1717
+ 実行例:
1749
1718
  .sp
1750
1719
  .nf
1751
1720
  .ft C
1752
1721
  > select \-\-table Comments \-\-query comment:@なう \-\-output_columns comment,_score
1753
- [[0,1308820977.27259,0.000430023],[[[2],[["comment","ShortText"],["_score","Int32"]],["groongaなう #groonga",1],["中野ブロードウェイなうなう",2]]]]
1722
+ [[0,1317212782.60919,0.000239996],[[[2],[["comment","ShortText"],["_score","Int32"]],["groongaなう #groonga",1],["中野ブロードウェイなうなう",2]]]]
1754
1723
  .ft P
1755
1724
  .fi
1756
1725
  .sp
@@ -1759,12 +1728,12 @@ Commentsテーブルのlast_modifiedカラムは、Time型です。この型で
1759
1728
  .sp
1760
1729
  今度は、キーワードとGeoPointの両方を条件に検索をしてみます。\-\-queryと\-\-filterの両方を使用した場合、両方の条件に一致するレコードがヒットします。
1761
1730
  .sp
1762
- 実行例
1731
+ 実行例:
1763
1732
  .sp
1764
1733
  .nf
1765
1734
  .ft C
1766
1735
  > select \-\-table Comments \-\-query comment:@羽田 \-\-filter \(aqgeo_in_circle(location,"127975798x502919856",20000)\(aq \-\-output_columns posted_by.name,comment \-\-drilldown hash_tags,posted_by
1767
- [[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]]]]
1736
+ [[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]]]]
1768
1737
  .ft P
1769
1738
  .fi
1770
1739
  .sp
@@ -1772,14 +1741,14 @@ Commentsテーブルのlast_modifiedカラムは、Time型です。この型で
1772
1741
  .SS ハッシュタグでコメント検索
1773
1742
  .sp
1774
1743
  あるハッシュタグのついているコメントを検索します。
1775
- これも、 \fBtutorial06\fP で扱った、参照関係の逆引きを使います。
1744
+ これも、 \fBindex\fP で扱った、参照関係の逆引きを使います。
1776
1745
  .sp
1777
- 実行例
1746
+ 実行例:
1778
1747
  .sp
1779
1748
  .nf
1780
1749
  .ft C
1781
1750
  > select \-\-table Comments \-\-query hash_tags:@groonga \-\-output_columns posted_by.name,comment \-\-drilldown posted_by
1782
- [[0,1308820977.68094,0.000539037],[[[2],[["posted_by.name","ShortText"],["comment","ShortText"]],["グニャラくん","groongaなう #groonga"],["グニャラくん","groonga開発合宿のため羽田空港に来ました! #groonga #travel"]],[[1],[["_key","ShortText"],["_nsubrecs","Int32"]],["tasukuchan",2]]]]
1751
+ [[0,1317212783.01379,0.000311974],[[[2],[["posted_by.name","ShortText"],["comment","ShortText"]],["グニャラくん","groongaなう #groonga"],["グニャラくん","groonga開発合宿のため羽田空港に来ました! #groonga #travel"]],[[1],[["_key","ShortText"],["_nsubrecs","Int32"]],["tasukuchan",2]]]]
1783
1752
  .ft P
1784
1753
  .fi
1785
1754
  .sp
@@ -1788,12 +1757,12 @@ Commentsテーブルのlast_modifiedカラムは、Time型です。この型で
1788
1757
  .sp
1789
1758
  あるユーザーが投稿したコメントを検索します。
1790
1759
  .sp
1791
- 実行例
1760
+ 実行例:
1792
1761
  .sp
1793
1762
  .nf
1794
1763
  .ft C
1795
1764
  > select \-\-table Comments \-\-query posted_by:tasukuchan \-\-output_columns comment \-\-drilldown hash_tags
1796
- [[0,1308820977.88551,0.000513653],[[[4],[["comment","ShortText"]],["初の書き込み。テストテスト。"],["@daijiro ありがとう!"],["groongaなう #groonga"],["groonga開発合宿のため羽田空港に来ました! #groonga #travel"]],[[2],[["_key","ShortText"],["_nsubrecs","Int32"]],["groonga",2],["travel",1]]]]
1765
+ [[0,1317212783.21601,0.000313114],[[[4],[["comment","ShortText"]],["初の書き込み。テストテスト。"],["@daijiro ありがとう!"],["groongaなう #groonga"],["groonga開発合宿のため羽田空港に来ました! #groonga #travel"]],[[2],[["_key","ShortText"],["_nsubrecs","Int32"]],["groonga",2],["travel",1]]]]
1797
1766
  .ft P
1798
1767
  .fi
1799
1768
  .sp
@@ -1802,34 +1771,105 @@ Commentsテーブルのlast_modifiedカラムは、Time型です。この型で
1802
1771
  .sp
1803
1772
  あるユーザーがお気に入りに入れているコメントを検索します。
1804
1773
  .sp
1805
- 実行例
1774
+ 実行例:
1806
1775
  .sp
1807
1776
  .nf
1808
1777
  .ft C
1809
1778
  > select \-\-table Users \-\-query _key:tasukuchan \-\-output_columns favorites.posted_by,favorites.comment
1810
- [[0,1308820978.09026,0.000447909],[[[1],[["favorites.posted_by","Users"],["favorites.comment","ShortText"]],[["daijiro","OffGao"],["マイクロブログ作ってみました(甘栗むいちゃいました的な感じで)。","@daijiro @tasukuchan 登録してみましたよー!"]]]]]
1779
+ [[0,1317212783.41809,0.000257979],[[[1],[["favorites.posted_by","Users"],["favorites.comment","ShortText"]],[["daijiro","OffGao"],["マイクロブログ作ってみました(甘栗むいちゃいました的な感じで)。","@daijiro @tasukuchan 登録してみましたよー!"]]]]]
1811
1780
  .ft P
1812
1781
  .fi
1813
1782
  .sp
1814
1783
  「グニャラくん」がお気に入りに入れている2件のコメントがヒットしました。
1815
1784
  .SS 投稿時間でコメント検索
1816
1785
  .sp
1817
- コメントの投稿時間で検索をします。Time型については \fBtutorial03\fP で扱っています。
1786
+ コメントの投稿時間で検索をします。Time型については \fBdata\fP で扱っています。
1818
1787
  この例では、指定した時間よりも前に投稿されているコメントを検索します。
1819
1788
  .sp
1820
- 実行例
1789
+ 実行例:
1821
1790
  .sp
1822
1791
  .nf
1823
1792
  .ft C
1824
1793
  > select Comments \-\-filter \(aqlast_modified<=1268802000\(aq \-\-output_columns posted_by.name,comment,last_modified \-\-drilldown hash_tags,posted_by
1825
- [[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]]]]
1794
+ [[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]]]]
1826
1795
  .ft P
1827
1796
  .fi
1828
1797
  .sp
1829
1798
  2010/03/17 14:00:00以前に書かれたコメント5件がヒットしました。また、ドリルダウンの結果も返ってきており、「hsiomaneki」が2件、「グニャラくん」が3件ヒットしていることがわかります。
1799
+ .SS クエリ拡張
1800
+ .sp
1801
+ groongaでは、 \fB/commands/select\fP コマンドにquery_expansionパラメータを指定することによって、ユーザが指定した検索文字列を適宜拡張することが可能です。
1802
+ .sp
1803
+ たとえば、ユーザが\(aqシークヮーサー\(aqという文字列で検索した場合に、\(aqシークヮーサー OR シークァーサー\(aqで検索した場合と同一の結果を返すことによって、本来ユーザが必要とする結果をよりもれなく検索できるようになります。
1804
+ .SS 準備
1805
+ .sp
1806
+ クエリ拡張機能を使用するためには、検索対象となる文書を格納するテーブル(ここでは文書テーブルと呼びます)以外に、ユーザの指定した検索文字列を置換するためのテーブル(ここでは置換テーブルと呼びます)を準備します。置換テーブルでは、その主キーが置換前の文字列となり、文字列型(ShortText)のカラムの値が置換後の文字列となります。
1807
+ .sp
1808
+ 実際に文書テーブルと置換テーブルを作成してみましょう。
1809
+ .sp
1810
+ 実行例:
1811
+ .sp
1812
+ .nf
1813
+ .ft C
1814
+ > table_create Doc TABLE_PAT_KEY ShortText
1815
+ [[0,1317212801.95257,0.054058921],true]
1816
+ > column_create Doc body COLUMN_SCALAR ShortText
1817
+ [[0,1317212802.2071,0.040301713],true]
1818
+ > table_create Term TABLE_PAT_KEY|KEY_NORMALIZE ShortText \-\-default_tokenizer TokenBigram
1819
+ [[0,1317212802.44812,0.027340933],true]
1820
+ > column_create Term Doc_body COLUMN_INDEX|WITH_POSITION Doc body
1821
+ [[0,1317212802.676,0.079743674],true]
1822
+ > table_create Synonym TABLE_PAT_KEY ShortText
1823
+ [[0,1317212802.95629,0.03656858],true]
1824
+ > column_create Synonym body COLUMN_SCALAR ShortText
1825
+ [[0,1317212803.19316,0.040515932],true]
1826
+ > load \-\-table Doc
1827
+ > [
1828
+ > {"_key": "001", "body": "すっぱいブドウと甘いシークァーサー"},
1829
+ > {"_key": "002", "body": "シークヮーサージュースとゴーヤチャンプル"},
1830
+ > ]
1831
+ [[0,1317212803.43422,0.80056314],2]
1832
+ > load \-\-table Synonym
1833
+ > [
1834
+ > {"_key": "シークァーサー", "body": "(シークァーサー OR シークヮーサー)"},
1835
+ > {"_key": "シークヮーサー", "body": "(シークァーサー OR シークヮーサー)"},
1836
+ > ]
1837
+ [[0,1317212804.43524,0.801037492],2]
1838
+ .ft P
1839
+ .fi
1840
+ .sp
1841
+ この例では、ユーザが"シークァーサー"と入力しても、"シークヮーサー"と入力しても、それぞれの異なる表記の文書をもれなく検索するための置換テーブルを作成しています。
1842
+ .SS 検索
1843
+ .sp
1844
+ それでは実際に、準備した置換テーブルを使ってみましょう。まずは、query_expansionパラメータを指定せずにselectコマンドを使って検索してみます。
1845
+ .sp
1846
+ 実行例:
1847
+ .sp
1848
+ .nf
1849
+ .ft C
1850
+ > select Doc \-\-match_columns body \-\-query "シークァーサー"
1851
+ [[0,1317212805.4371,0.000567851],[[[1],[["_id","UInt32"],["_key","ShortText"],["body","ShortText"]],[1,"001","すっぱいブドウと甘いシークァーサー"]]]]
1852
+ > select Doc \-\-match_columns body \-\-query "シークヮーサー"
1853
+ [[0,1317212805.63859,0.000387831],[[[1],[["_id","UInt32"],["_key","ShortText"],["body","ShortText"]],[2,"002","シークヮーサージュースとゴーヤチャンプル"]]]]
1854
+ .ft P
1855
+ .fi
1856
+ .sp
1857
+ 指定された文字列に完全に一致するレコードのみがそれぞれヒットします。次に、query_expansionパラメータに、準備したSynonymテーブルのbodyカラムを指定してみましょう。
1858
+ .sp
1859
+ 実行例:
1860
+ .sp
1861
+ .nf
1862
+ .ft C
1863
+ > select Doc \-\-match_columns body \-\-query "シークァーサー" \-\-query_expansion Synonym.body
1864
+ [[0,1317212805.84016,0.000441852],[[[2],[["_id","UInt32"],["_key","ShortText"],["body","ShortText"]],[1,"001","すっぱいブドウと甘いシークァーサー"],[2,"002","シークヮーサージュースとゴーヤチャンプル"]]]]
1865
+ > select Doc \-\-match_columns body \-\-query "シークヮーサー" \-\-query_expansion Synonym.body
1866
+ [[0,1317212806.04176,0.000580261],[[[2],[["_id","UInt32"],["_key","ShortText"],["body","ShortText"]],[1,"001","すっぱいブドウと甘いシークァーサー"],[2,"002","シークヮーサージュースとゴーヤチャンプル"]]]]
1867
+ .ft P
1868
+ .fi
1869
+ .sp
1870
+ どちらのクエリ文字列も、"(シークァーサー OR シークヮーサー)"という文字列に置換されてから検索されるため、表記の揺れを吸収して検索できるようになりました。
1830
1871
  .SH サジェスト
1831
1872
  .IP ノート
1832
- .
1833
1873
  サジェスト機能の仕様はまだ確定していません。仕様は変更される可能性があります。
1834
1874
  .RE
1835
1875
  .sp
@@ -1839,13 +1879,10 @@ groongaにはサジェスト機能があります。このセクションでは
1839
1879
  groongaのサジェスト機能は以下の機能を提供します。:
1840
1880
  .INDENT 0.0
1841
1881
  .IP \(bu 2
1842
- .
1843
1882
  補完
1844
1883
  .IP \(bu 2
1845
- .
1846
1884
  補正
1847
1885
  .IP \(bu 2
1848
- .
1849
1886
  提案
1850
1887
  .UNINDENT
1851
1888
  .SS 補完
@@ -1855,16 +1892,12 @@ groongaのサジェスト機能は以下の機能を提供します。:
1855
1892
  例えば、以下が登録済みの語とします。:
1856
1893
  .INDENT 0.0
1857
1894
  .IP \(bu 2
1858
- .
1859
1895
  "groonga"
1860
1896
  .IP \(bu 2
1861
- .
1862
1897
  "complete"
1863
1898
  .IP \(bu 2
1864
- .
1865
1899
  "correction"
1866
1900
  .IP \(bu 2
1867
- .
1868
1901
  "suggest"
1869
1902
  .UNINDENT
1870
1903
  .sp
@@ -1952,13 +1985,10 @@ TODO...
1952
1985
  このセクションでは以下の補完機能について説明します。:
1953
1986
  .INDENT 0.0
1954
1987
  .IP \(bu 2
1955
- .
1956
1988
  どのように動作するか
1957
1989
  .IP \(bu 2
1958
- .
1959
1990
  使い方
1960
1991
  .IP \(bu 2
1961
- .
1962
1992
  学習方法
1963
1993
  .UNINDENT
1964
1994
  .SS どのように動作するか
@@ -1968,13 +1998,10 @@ TODO...
1968
1998
  .INDENT 3.5
1969
1999
  .INDENT 0.0
1970
2000
  .IP 1. 3
1971
- .
1972
2001
  登録されている語を前方一致RK検索。
1973
2002
  .IP 2. 3
1974
- .
1975
2003
  学習したデータを共起検索。
1976
2004
  .IP 3. 3
1977
- .
1978
2005
  登録されている語を前方一致検索。(実行しないこともある)
1979
2006
  .UNINDENT
1980
2007
  .UNINDENT
@@ -2192,8 +2219,8 @@ groongaは補完機能を使うために \fB/commands/suggest\fP コマンドを
2192
2219
  .sp
2193
2220
  .nf
2194
2221
  .ft C
2195
- > suggest \-\-table item_query \-\-column kana \-\-types complete \-\-threshold 1 \-\-query en
2196
- [[0,1313131879.64588,0.000913584],{"complete":[[1],[["_key","ShortText"],["_score","Int32"]],["engine",1]]}]
2222
+ > suggest \-\-table item_query \-\-column kana \-\-types complete \-\-frequency_threshold 1 \-\-query en
2223
+ [[0,1317212704.42103,0.001348612],{"complete":[[1],[["_key","ShortText"],["_score","Int32"]],["engine",1]]}]
2197
2224
  .ft P
2198
2225
  .fi
2199
2226
  .SS 学習方法
@@ -2205,22 +2232,16 @@ groongaは補完機能を使うために \fB/commands/suggest\fP コマンドを
2205
2232
  .INDENT 3.5
2206
2233
  .INDENT 0.0
2207
2234
  .IP 1. 3
2208
- .
2209
2235
  2011\-08\-10T13:33:23+09:00: e
2210
2236
  .IP 2. 3
2211
- .
2212
2237
  2011\-08\-10T13:33:23+09:00: en
2213
2238
  .IP 3. 3
2214
- .
2215
2239
  2011\-08\-10T13:33:24+09:00: eng
2216
2240
  .IP 4. 3
2217
- .
2218
2241
  2011\-08\-10T13:33:24+09:00: engi
2219
2242
  .IP 5. 3
2220
- .
2221
2243
  2011\-08\-10T13:33:24+09:00: engin
2222
2244
  .IP 6. 3
2223
- .
2224
2245
  2011\-08\-10T13:33:25+09:00: engine (検索実行!)
2225
2246
  .UNINDENT
2226
2247
  .UNINDENT
@@ -2246,13 +2267,10 @@ load \-\-table event_query \-\-each \(aqsuggest_preparer(_id, type, item, sequen
2246
2267
  このセクションでは以下の補正機能について説明します。:
2247
2268
  .INDENT 0.0
2248
2269
  .IP \(bu 2
2249
- .
2250
2270
  どのように動作するか
2251
2271
  .IP \(bu 2
2252
- .
2253
2272
  使い方
2254
2273
  .IP \(bu 2
2255
- .
2256
2274
  学習方法
2257
2275
  .UNINDENT
2258
2276
  .SS どのように動作するか
@@ -2262,10 +2280,8 @@ load \-\-table event_query \-\-each \(aqsuggest_preparer(_id, type, item, sequen
2262
2280
  .INDENT 3.5
2263
2281
  .INDENT 0.0
2264
2282
  .IP 1. 3
2265
- .
2266
2283
  学習したデータを共起検索。
2267
2284
  .IP 2. 3
2268
- .
2269
2285
  登録されている語を類似検索。(実行しないこともある)
2270
2286
  .UNINDENT
2271
2287
  .UNINDENT
@@ -2338,8 +2354,8 @@ groongaは補正機能を使うために \fB/commands/suggest\fP コマンドを
2338
2354
  .sp
2339
2355
  .nf
2340
2356
  .ft C
2341
- > suggest \-\-table item_query \-\-column kana \-\-types correction \-\-threshold 1 \-\-query saerch
2342
- [[0,1313131812.39207,0.000783031],{"correct":[[1],[["_key","ShortText"],["_score","Int32"]],["search",1]]}]
2357
+ > suggest \-\-table item_query \-\-column kana \-\-types correction \-\-frequency_threshold 1 \-\-query saerch
2358
+ [[0,1317212708.7696,0.000882462],{"correct":[[1],[["_key","ShortText"],["_score","Int32"]],["search",1]]}]
2343
2359
  .ft P
2344
2360
  .fi
2345
2361
  .SS 学習方法
@@ -2351,28 +2367,20 @@ groongaは補正機能を使うために \fB/commands/suggest\fP コマンドを
2351
2367
  .INDENT 3.5
2352
2368
  .INDENT 0.0
2353
2369
  .IP 1. 3
2354
- .
2355
2370
  2011\-08\-10T13:33:23+09:00: s
2356
2371
  .IP 2. 3
2357
- .
2358
2372
  2011\-08\-10T13:33:23+09:00: sa
2359
2373
  .IP 3. 3
2360
- .
2361
2374
  2011\-08\-10T13:33:24+09:00: sae
2362
2375
  .IP 4. 3
2363
- .
2364
2376
  2011\-08\-10T13:33:24+09:00: saer
2365
2377
  .IP 5. 3
2366
- .
2367
2378
  2011\-08\-10T13:33:24+09:00: saerc
2368
2379
  .IP 6. 3
2369
- .
2370
2380
  2011\-08\-10T13:33:25+09:00: saerch (検索実行!)
2371
2381
  .IP 7. 3
2372
- .
2373
2382
  2011\-08\-10T13:33:29+09:00: serch (修正中…)
2374
2383
  .IP 8. 3
2375
- .
2376
2384
  2011\-08\-10T13:33:30+09:00: search (検索実行!)
2377
2385
  .UNINDENT
2378
2386
  .UNINDENT
@@ -2400,13 +2408,10 @@ load \-\-table event_query \-\-each \(aqsuggest_preparer(_id, type, item, sequen
2400
2408
  このセクションでは以下の補完機能について説明します。:
2401
2409
  .INDENT 0.0
2402
2410
  .IP \(bu 2
2403
- .
2404
2411
  どのように動作するか
2405
2412
  .IP \(bu 2
2406
- .
2407
2413
  使い方
2408
2414
  .IP \(bu 2
2409
- .
2410
2415
  学習方法
2411
2416
  .UNINDENT
2412
2417
  .SS どのように動作するか
@@ -2416,7 +2421,6 @@ load \-\-table event_query \-\-each \(aqsuggest_preparer(_id, type, item, sequen
2416
2421
  .INDENT 3.5
2417
2422
  .INDENT 0.0
2418
2423
  .IP 1. 3
2419
- .
2420
2424
  学習したデータを共起検索。
2421
2425
  .UNINDENT
2422
2426
  .UNINDENT
@@ -2492,10 +2496,8 @@ _
2492
2496
  .INDENT 3.5
2493
2497
  .INDENT 0.0
2494
2498
  .IP 1. 3
2495
- .
2496
2499
  ユーザの入力をTokenDelimitトークナイザーでトークナイズします。TokenDelimitは空白をトークンの区切りに使います。(例えば、"search engine"は"search"トークンと"engine"トークンの2つのトークンにトークナイズされます。)
2497
2500
  .IP 2. 3
2498
- .
2499
2501
  各トークンについて、トークンと元のクエリからなるペアを作成する。
2500
2502
  .UNINDENT
2501
2503
  .UNINDENT
@@ -2512,8 +2514,8 @@ groongaは提案機能を使うために \fB/commands/suggest\fP コマンドを
2512
2514
  .sp
2513
2515
  .nf
2514
2516
  .ft C
2515
- > suggest \-\-table item_query \-\-column kana \-\-types suggest \-\-threshold 1 \-\-query search
2516
- [[0,1313131808.92868,0.000607197],{"suggest":[[2],[["_key","ShortText"],["_score","Int32"]],["search engine",1],["web search realtime",1]]}]
2517
+ > suggest \-\-table item_query \-\-column kana \-\-types suggest \-\-frequency_threshold 1 \-\-query search
2518
+ [[0,1317212711.42188,0.000553344],{"suggest":[[2],[["_key","ShortText"],["_score","Int32"]],["search engine",1],["web search realtime",1]]}]
2517
2519
  .ft P
2518
2520
  .fi
2519
2521
  .SS 学習方法
@@ -2525,10 +2527,8 @@ groongaは提案機能を使うために \fB/commands/suggest\fP コマンドを
2525
2527
  .INDENT 3.5
2526
2528
  .INDENT 0.0
2527
2529
  .IP 1. 3
2528
- .
2529
2530
  2011\-08\-10T13:33:25+09:00: search engine (検索実行)
2530
2531
  .IP 2. 3
2531
- .
2532
2532
  2011\-08\-10T13:33:28+09:00: web search realtime (検索実行)
2533
2533
  .UNINDENT
2534
2534
  .UNINDENT
@@ -2545,6 +2545,48 @@ load \-\-table event_query \-\-each \(aqsuggest_preparer(_id, type, item, sequen
2545
2545
  ]
2546
2546
  .ft P
2547
2547
  .fi
2548
+ .SH 位置情報検索
2549
+ .sp
2550
+ groongaは位置情報検索をサポートしています。検索にはインデックスを使うので全文検索と同様に位置情報も高速に検索できます。
2551
+ .SS 対応している機能
2552
+ .sp
2553
+ groongaは位置情報データのうち座標データのみサポートしています。線や面などはサポートしています。よってgroongaができることは以下の通りです。
2554
+ .INDENT 0.0
2555
+ .IP 1. 3
2556
+ カラムに座標データを保存できる。
2557
+ .IP 2. 3
2558
+ 指定した四角形の中にある座標を持つレコードを検索できる。
2559
+ .IP 3. 3
2560
+ 指定した円の中にある座標を持つレコードを検索できる。
2561
+ .IP 4. 3
2562
+ 2点間の距離を計算できる。
2563
+ .IP 5. 3
2564
+ 指定した座標からの距離が近い順にレコードをソートできる。
2565
+ .UNINDENT
2566
+ .sp
2567
+ 以下はgroongaの位置情報検索を利用例です。
2568
+ .INDENT 0.0
2569
+ .IP \(bu 2
2570
+ 駅の近くにあるマクドナルドをリストする。
2571
+ .IP \(bu 2
2572
+ 現在地から近い順にケンタッキーをソートし、現在地からの距離付きでリストする。
2573
+ .UNINDENT
2574
+ .sp
2575
+ 以下はgroongaではできないことです。
2576
+ .INDENT 0.0
2577
+ .IP \(bu 2
2578
+ 市内にあるマクドナルドを検索する。(groongaは四角形と円以外の形状の位置情報検索をサポートしていません。)
2579
+ .IP \(bu 2
2580
+ 湖を表すレコードに位置情報として座標ではなく範囲を格納する。(カラムには座標データ以外を格納できません。)
2581
+ .UNINDENT
2582
+ .sp
2583
+ 以下の図はgroongaの位置情報検索機能を示しています。
2584
+ .sp
2585
+ 以下の図はレコードのみがある図です。黒い点がレコードを表しています。以降の図ではレコードがどのように扱われるかを示します。
2586
+ [image: only records]
2587
+ [image]
2588
+ .sp
2589
+ 執筆中。。。 ( \fI\%下書き\fP )
2548
2590
  .SH リファレンスマニュアル
2549
2591
  .SS 実行ファイル
2550
2592
  .sp
@@ -2573,13 +2615,11 @@ groonga独自プロトコルであるgqtpと、httpの両プロトコルでリ
2573
2615
  .INDENT 0.0
2574
2616
  .TP
2575
2617
  .B \-P
2576
- .
2577
2618
  リクエストのプロトコルを指定します。
2578
2619
  .sp
2579
2620
  \fIhttp\fP
2580
2621
  .INDENT 7.0
2581
2622
  .INDENT 3.5
2582
- .sp
2583
2623
  httpでリクエストします。対象のhttpのパス群(GETパラメータを含む)をLF区切り形式で標準入力に与えると、それらのパスに順次アクセスします。
2584
2624
  .UNINDENT
2585
2625
  .UNINDENT
@@ -2587,7 +2627,6 @@ httpでリクエストします。対象のhttpのパス群(GETパラメータ
2587
2627
  \fIgqtp\fP
2588
2628
  .INDENT 7.0
2589
2629
  .INDENT 3.5
2590
- .sp
2591
2630
  gqtpでリクエストします。gqtpのリクエストをLF区切り形式で標準入力に与えると、それらのリクエストを順次行います。
2592
2631
  .UNINDENT
2593
2632
  .UNINDENT
@@ -2595,14 +2634,12 @@ gqtpでリクエストします。gqtpのリクエストをLF区切り形式で
2595
2634
  .INDENT 0.0
2596
2635
  .TP
2597
2636
  .B \-m
2598
- .
2599
2637
  リクエストの多重度を指定します。初期値は10です。
2600
2638
  .UNINDENT
2601
2639
  .SS 引数
2602
2640
  .INDENT 0.0
2603
2641
  .TP
2604
2642
  .B dest
2605
- .
2606
2643
  接続先のホスト名とポート番号をを指定します(デフォルト値は\(aqlocalhost:10041\(aq)。ポート番号を指定しない場合には、10041が指定されたものとします。
2607
2644
  .UNINDENT
2608
2645
  .SS サンプル
@@ -2633,63 +2670,54 @@ grntestは、groonga汎用テストツールです。
2633
2670
  .sp
2634
2671
  groongaを単独のプロセスとして利用する場合はもちろん、サーバプログラムとして利用する場合の動作確認や実行速度測定が可能です。
2635
2672
  .sp
2636
- grntest を利用するために必要なデータファイルは、ftp.groonga.orgから必要に応じダウンロードしますので、groonga及びgrntestが動作し、インターネットに接続できる環境であればgroongaコマンドの知識がなくてもgroongaの動作を確認できます。
2673
+ grntest用のデータファイルは自分で作成することも既存のものを利用することもできます。既存のデータファイルは、ftp.groonga.orgから必要に応じダウンロードします。そのため、groonga及びgrntestが動作し、インターネットに接続できる環境であればgroongaコマンドの知識がなくてもgroongaの動作を確認できます。
2637
2674
  .sp
2638
- 現在は、linux 及びWindows上で動作します。make installしてもインストールは行われません。
2675
+ 現在は、Linux 及びWindows上で動作します。make installしてもインストールは行われません。
2639
2676
  .SS オプション
2640
2677
  .INDENT 0.0
2641
2678
  .TP
2642
2679
  .B \-i, \-\-host <ip/hostname>
2643
- .sp
2644
2680
  接続するgroongaサーバを、ipアドレスまたはホスト名で指定します。指定先にgroongaサーバが立ち上がっていない場合、接続不能となることに注意してください。このオプションを指定しない場合、grntestは自動的にlocalhostのgroongaサーバを起動して接続します。
2645
2681
  .UNINDENT
2646
2682
  .INDENT 0.0
2647
2683
  .TP
2648
2684
  .B \-p, \-\-port <port number>
2649
- .sp
2650
2685
  自動的に起動するgroongaサーバ、または明示的に指定した接続先のgroonga サーバが利用するポート番号を指定します。接続先のgroongaサーバが利用しているポートと、このオプションで指定したポート番号が異なる場合、接続不能となることに注意してください。
2651
2686
  .UNINDENT
2652
2687
  .INDENT 0.0
2653
2688
  .TP
2654
2689
  .B \-\-dir
2655
- .
2656
2690
  ftp.groonga.org に用意されているスクリプトファイルを表示します。
2657
2691
  .UNINDENT
2658
2692
  .INDENT 0.0
2659
2693
  .TP
2660
- .B \-\-noftp
2661
- .
2662
- 通常grntestはftp.groonga.orgとftp通信を行い、scriptファイルの同期やログファイルの送信を行います。\-\-noftp オプションを指定するとftp 通信を一切行わないようになります。存在しないスクリプトファイルを指定した場合、エラーとなることに注意してください。
2694
+ .B \-\-ftp
2695
+ ftp.groonga.orgとFTP通信を行い、scriptファイルの同期やログファイルの送信を行います。
2663
2696
  .UNINDENT
2664
2697
  .INDENT 0.0
2665
2698
  .TP
2666
2699
  .B \-\-log\-output\-dir
2667
- .
2668
2700
  デフォルトでは、grntest終了後のログファイルの出力先ははカレントディレクトリです。このオプションを利用すると、任意のディレクトリに出力先を変更することができます。
2669
2701
  .UNINDENT
2670
2702
  .INDENT 0.0
2671
2703
  .TP
2672
2704
  .B \-\-groonga <groonga_path>
2673
- .sp
2674
2705
  groongaコマンドのパスを指定します。デフォルトでは、PATHの中からgroongaコマンドを探します。
2675
2706
  .UNINDENT
2676
2707
  .INDENT 0.0
2677
2708
  .TP
2678
2709
  .B \-\-protocol <gqtp|http>
2679
- .sp
2680
- groongaコマンドが使うプロトコルとして\(ga\(gagqtp\(ga\(gaまたは\(ga\(gahttp\(ga\(gaを指定します。
2710
+ groongaコマンドが使うプロトコルとして \fIgqtp\fP または \fIhttp\fP を指定します。
2681
2711
  .UNINDENT
2682
2712
  .SS 引数
2683
2713
  .INDENT 0.0
2684
2714
  .TP
2685
2715
  .B script
2686
- .
2687
2716
  grntestの動作方法(以下、grntest命令と呼びます)を記述したテキストファイルです。拡張子は.scrです。
2688
2717
  .UNINDENT
2689
2718
  .INDENT 0.0
2690
2719
  .TP
2691
2720
  .B db
2692
- .
2693
2721
  grntestが利用するgroonga データベースです。指定されたデータベースが存在しない場合、grntestが新規に作成します。またgroonga サーバを自動的に起動する場合もこの引数で指定したデータベースが利用されます。接続するgroonga サーバを明示的に指定した場合に利用するデータベースは、接続先サーバが使用中のデータベースになることに注意してください。
2694
2722
  .UNINDENT
2695
2723
  .SS 使い方
@@ -2721,11 +2749,9 @@ test\-ユーザ名\-数字.log
2721
2749
  現在サポートされているgrntest命令は以下の8つです。
2722
2750
  .INDENT 0.0
2723
2751
  .INDENT 3.5
2724
- .sp
2725
2752
  do_local コマンドファイル [スレッド数] [繰り返し数]
2726
2753
  .INDENT 0.0
2727
2754
  .INDENT 3.5
2728
- .sp
2729
2755
  コマンドファイルをgrntest単体で実行します。スレッド数が指定されている場合、複数のスレッドで同じコマンドファイルを同時に実行します。繰り返し数が指定されてい場合、コマンドファイルの内容を繰り返し実行します。スレッド数、繰り返し数とも省略時は1です。1スレッドで複数回動作させたい場合は、do_local コマンドファイル 1 [繰り返し数]と明示的に指定してください。
2730
2756
  .UNINDENT
2731
2757
  .UNINDENT
@@ -2733,7 +2759,6 @@ do_local コマンドファイル [スレッド数] [繰り返し数]
2733
2759
  do_gqpt コマンドファイル [スレッド数] [繰り返し数]
2734
2760
  .INDENT 0.0
2735
2761
  .INDENT 3.5
2736
- .sp
2737
2762
  コマンドファイルをgroongaサーバで実行します。スレッド数や繰り返し数の意味はdo_localの場合と同じです。
2738
2763
  .UNINDENT
2739
2764
  .UNINDENT
@@ -2741,7 +2766,6 @@ do_gqpt コマンドファイル [スレッド数] [繰り返し数]
2741
2766
  rep_local コマンドファイル [スレッド数] [繰り返し数]
2742
2767
  .INDENT 0.0
2743
2768
  .INDENT 3.5
2744
- .sp
2745
2769
  コマンドファイルをgrntest単体で実行し、より詳細な報告を行います。
2746
2770
  .UNINDENT
2747
2771
  .UNINDENT
@@ -2749,7 +2773,6 @@ rep_local コマンドファイル [スレッド数] [繰り返し数]
2749
2773
  rep_gqpt コマンドファイル [スレッド数] [繰り返し数]
2750
2774
  .INDENT 0.0
2751
2775
  .INDENT 3.5
2752
- .sp
2753
2776
  コマンドファイルをgroongaサーバで実行し、より詳細な報告を行います。 スレッド数や繰り返し数の意味はdo_localと 同じです。
2754
2777
  .UNINDENT
2755
2778
  .UNINDENT
@@ -2757,7 +2780,6 @@ rep_gqpt コマンドファイル [スレッド数] [繰り返し数]
2757
2780
  out_local コマンドファイル 入力ファイル名
2758
2781
  .INDENT 0.0
2759
2782
  .INDENT 3.5
2760
- .sp
2761
2783
  コマンドファイルをgrntest単体で実行し、各コマンドの実行結果をすべて”出力ファイル"に書きだします。この結果は、test_local, test_gqtp命令で利用します。なおこの命令の「出力ファイル」とは、grntest実行時に自動的に作成されるログとは別のものです。grntestではコメントが利用できる以外、:
2762
2784
  .sp
2763
2785
  .nf
@@ -2773,14 +2795,12 @@ groonga < コマンドファイル > 出力ファイル
2773
2795
  out_gqtp コマンドファイル 出力ファイル名
2774
2796
  .INDENT 0.0
2775
2797
  .INDENT 3.5
2776
- .sp
2777
2798
  コマンドファイルをgroongaサーバで実行します。その他はout_local命令と同等です。
2778
2799
  .UNINDENT
2779
2800
  .UNINDENT
2780
2801
  .INDENT 0.0
2781
2802
  .TP
2782
2803
  .B test_local コマンドファイル 入力ファイル名
2783
- .
2784
2804
  コマンドファイルをgrntest単体で実行し、各コマンドの実行結果を入力ファイルと比較します。処理時間など本質的要素以外に差分があった場合、差分を、入力ファイル.diffというファイルに書きだします。
2785
2805
  .UNINDENT
2786
2806
  .UNINDENT
@@ -2807,19 +2827,15 @@ do_gqtp test.select 10 10; do_local test.status 10
2807
2827
  .INDENT 0.0
2808
2828
  .TP
2809
2829
  .B 1行目
2810
- .
2811
2830
  コメント行。
2812
2831
  .TP
2813
2832
  .B 2行目
2814
- .
2815
2833
  test.dll というコマンドファイルをgroonga単体で実行し、詳細に報告する。
2816
2834
  .TP
2817
2835
  .B 3行目
2818
- .
2819
2836
  test.load というコマンドファイルをgroonga単体で実行する。(最後の";"セミコロンは複数のgrntest命令を記述する場合に必要ですが、この例のように1つのgrntest命令を実行する場合に付与しても問題ありません。)
2820
2837
  .TP
2821
2838
  .B 4行目
2822
- .
2823
2839
  test.select というコマンドファイルをgroongaサーバで10個のスレッドで同時に実行する。各スレッドはtest.selectの中身を10回繰り返す。また同時に、groonga単体でtest.statusというコマンドファイルを10個のスレッドで実行する。
2824
2840
  .UNINDENT
2825
2841
  .UNINDENT
@@ -2832,11 +2848,9 @@ test.select というコマンドファイルをgroongaサーバで10個のス
2832
2848
  .INDENT 0.0
2833
2849
  .TP
2834
2850
  .B #SET_HOST <ip/hostname>
2835
- .
2836
2851
  \-i, \-\-hostオプションと同等の機能です。コマンドラインオプションに指定したIPアドレス/ホスト名と、SET_HOSTで指定したIPアドレス/ホスト名が異なる場合、またコマンドラインオプションを指定しなかった場合にもSET_HOSTが優先されます。SET_HOSTを利用した場合、サーバが自動的には起動されないのもコマンドラインオプションで指定した場合と同様です。
2837
2852
  .TP
2838
2853
  .B #SET_PORT <port number>
2839
- .
2840
2854
  \-p, \-\-port オプションと同等の機能です。コマンドラインオプションに指定したポート番号とSET_PORTで指定したポート番号が異なる場合、またコマンドラインオプションを指定しなかった場合にもSET_PORTが優先されます。
2841
2855
  .UNINDENT
2842
2856
  .UNINDENT
@@ -2926,10 +2940,8 @@ ency": 831495, "self": 762519, "qps": 1967.164097, "min": 73, "max": 135631, "qu
2926
2940
  .SS 制限事項
2927
2941
  .INDENT 0.0
2928
2942
  .IP \(bu 2
2929
- .
2930
2943
  スクリプトファイルの一行には複数のgrntest命令を記述できますが、すべてのスレッド数の合計は最大64までに制限されます。
2931
2944
  .IP \(bu 2
2932
- .
2933
2945
  コマンドファイル中のgroongaコマンドの長さは最長5000000byteです。
2934
2946
  .UNINDENT
2935
2947
  .SS トラブルシューティング
@@ -2937,13 +2949,10 @@ ency": 831495, "self": 762519, "qps": 1967.164097, "min": 73, "max": 135631, "qu
2937
2949
  もし、grntestが正常に動作しない場合、まず以下を確認してください。
2938
2950
  .INDENT 0.0
2939
2951
  .IP \(bu 2
2940
- .
2941
- インターネットに接続しているか? \-\-noftp モードを指定しない限り、grntestは動作のたびにftp.groonga.orgと通信します。ftp.groonga.orgと通信可能でない場合、grntestは正常に動作しません。
2952
+ インターネットに接続しているか? \fI\-\-ftp\fP オプションを指定すると、grntestは動作のたびにftp.groonga.orgと通信します。ftp.groonga.orgと通信可能でない場合、grntestは正常に動作しません。
2942
2953
  .IP \(bu 2
2943
- .
2944
2954
  groonga サーバが動作していないか? grntestは、\-i, \-\-host オプションで明示的にサーバを指定しないかぎり、自動的にlocalhostのgroongaサーバを立ち上げます。すでにgroongaサーバが動作している場合、grntestは正常に動作しない可能性があります。
2945
2955
  .IP \(bu 2
2946
- .
2947
2956
  指定したDBが適切か? grntestは、引数で指定したDBの中身はチェックしません。もし指定されたDBが存在しなければ自動的にDBを作成しますが、もしファイルとして存在する場合は中身に関わらず動作を続けてしまい、結果が異常になる可能性があります。
2948
2957
  .UNINDENT
2949
2958
  .sp
@@ -2967,49 +2976,41 @@ groongaのデータベースは、groonga実行ファイルかCライブラリ
2967
2976
  .INDENT 0.0
2968
2977
  .TP
2969
2978
  .B \-n
2970
- .
2971
2979
  新たなデータベースを作成します。
2972
2980
  .UNINDENT
2973
2981
  .INDENT 0.0
2974
2982
  .TP
2975
2983
  .B \-c
2976
- .
2977
2984
  クライアントモードで実行します。
2978
2985
  .UNINDENT
2979
2986
  .INDENT 0.0
2980
2987
  .TP
2981
2988
  .B \-s
2982
- .
2983
2989
  サーバモードで実行します。
2984
2990
  .UNINDENT
2985
2991
  .INDENT 0.0
2986
2992
  .TP
2987
2993
  .B \-d
2988
- .
2989
2994
  デーモンモードで実行します。(forkする点がサーバモードと異なる)
2990
2995
  .UNINDENT
2991
2996
  .INDENT 0.0
2992
2997
  .TP
2993
2998
  .B \-e, \-\-encoding <encoding>
2994
- .sp
2995
2999
  データベースで使用する文字エンコーディング方式を指定します。新たなデータベースを作成する時のみ有効です。none, euc, utf8, sjis, latin, koi8rのいずれかが指定できます。
2996
3000
  .UNINDENT
2997
3001
  .INDENT 0.0
2998
3002
  .TP
2999
3003
  .B \-l, \-\-log\-level <log level>
3000
- .sp
3001
3004
  ログレベルを指定します。0〜8までの数値が指定可能で、数が大きいほど多くのログが出力されます。
3002
3005
  .UNINDENT
3003
3006
  .INDENT 0.0
3004
3007
  .TP
3005
3008
  .B \-a, \-\-address <ip/hostname>
3006
- .sp
3007
3009
  バージョン 1.2.2 で撤廃: Use \fI\-\-bind\-address\fP instead.
3008
3010
  .UNINDENT
3009
3011
  .INDENT 0.0
3010
3012
  .TP
3011
3013
  .B \-\-bind\-address <ip/hostname>
3012
- .sp
3013
3014
  バージョン 1.2.2 で追加.
3014
3015
  .sp
3015
3016
  サーバモードかデーモンモードで実行するとき、listenするアドレスを指定します。(デフォルトは \fIhostname\fP の返すホスト名)
@@ -3017,26 +3018,22 @@ groongaのデータベースは、groonga実行ファイルかCライブラリ
3017
3018
  .INDENT 0.0
3018
3019
  .TP
3019
3020
  .B \-p, \-\-port <port number>
3020
- .sp
3021
3021
  クライアント、サーバ、またはデーモンモードで使用するTCPポート番号。
3022
3022
  (デフォルトは10041番)
3023
3023
  .UNINDENT
3024
3024
  .INDENT 0.0
3025
3025
  .TP
3026
3026
  .B \-i, \-\-server\-id <ip/hostname>
3027
- .sp
3028
3027
  サーバモードかデーモンモードで実行するとき、サーバのIDとなるアドレスを指定します。(デフォルトは\(gahostname\(gaの返すホスト名)
3029
3028
  .UNINDENT
3030
3029
  .INDENT 0.0
3031
3030
  .TP
3032
3031
  .B \-h, \-\-help
3033
- .sp
3034
3032
  ヘルプメッセージを出力します。
3035
3033
  .UNINDENT
3036
3034
  .INDENT 0.0
3037
3035
  .TP
3038
3036
  .B \-\-document\-root <path>
3039
- .sp
3040
3037
  httpサーバとしてgroongaを使用する場合に静的ページを格納するディレクトリを指定します。
3041
3038
  .sp
3042
3039
  デフォルトでは、データベースを管理するための汎用的なページに対応するファイルが/usr/share/groonga/admin_html以下にインストールされます。このディレクトリをdocument\-rootオプションの値に指定して起動した場合、ウェブブラウザでhttp://hostname:port/index.htmlにアクセスすると、ウェブベースのデータベース管理ツールを使用できます。
@@ -3044,37 +3041,31 @@ httpサーバとしてgroongaを使用する場合に静的ページを格納す
3044
3041
  .INDENT 0.0
3045
3042
  .TP
3046
3043
  .B \-\-protocol <protocol>
3047
- .sp
3048
3044
  http,gqtpのいずれかを指定します。(デフォルトはgqtp)
3049
3045
  .UNINDENT
3050
3046
  .INDENT 0.0
3051
3047
  .TP
3052
3048
  .B \-\-log\-path <path>
3053
- .sp
3054
3049
  ログを出力するファイルのパスを指定します。(デフォルトは/var/log/groonga/groonga.logです)
3055
3050
  .UNINDENT
3056
3051
  .INDENT 0.0
3057
3052
  .TP
3058
3053
  .B \-\-query\-log\-path <path>
3059
- .sp
3060
3054
  クエリーログを出力するファイルのパスを指定します。(デフォルトでは出力されません)
3061
3055
  .UNINDENT
3062
3056
  .INDENT 0.0
3063
3057
  .TP
3064
3058
  .B \-t, \-\-max\-threads <max threasd>
3065
- .sp
3066
3059
  最大で利用するスレッド数を指定します。(デフォルトはマシンのCPUコア数と同じ数です)
3067
3060
  .UNINDENT
3068
3061
  .INDENT 0.0
3069
3062
  .TP
3070
3063
  .B \-\-pid\-path <path>
3071
- .sp
3072
3064
  PIDを保存するパスを指定します。(デフォルトでは保存しません)
3073
3065
  .UNINDENT
3074
3066
  .INDENT 0.0
3075
3067
  .TP
3076
3068
  .B \-\-config\-path <path>
3077
- .sp
3078
3069
  設定ファイルのパスを指定します。設定ファイルは以下のようなフォーマットになります。:
3079
3070
  .sp
3080
3071
  .nf
@@ -3097,20 +3088,17 @@ pid\-file=/var/run/groonga.pid
3097
3088
  .INDENT 0.0
3098
3089
  .TP
3099
3090
  .B \-\-cache\-limit <limit>
3100
- .sp
3101
3091
  キャッシュ数の最大値を指定します。(デフォルトは100です)
3102
3092
  .UNINDENT
3103
3093
  .INDENT 0.0
3104
3094
  .TP
3105
3095
  .B \-\-default\-match\-escalation\-threshold <threshold>
3106
- .sp
3107
3096
  検索の挙動をエスカレーションする閾値を指定します。(デフォルトは0です)
3108
3097
  .UNINDENT
3109
3098
  .SS 引数
3110
3099
  .INDENT 0.0
3111
3100
  .TP
3112
3101
  .B dest
3113
- .
3114
3102
  使用するデータベースのパス名を指定します。
3115
3103
  .sp
3116
3104
  クライアントモードの場合は接続先のホスト名とポート番号を指定します(デフォルト値は\(aqlocalhost:10041\(aq)。ポート番号を指定しない場合には、10041が指定されたものとします。
@@ -3118,7 +3106,6 @@ pid\-file=/var/run/groonga.pid
3118
3106
  .INDENT 0.0
3119
3107
  .TP
3120
3108
  .B command [args]
3121
- .
3122
3109
  スタンドアロンおよびクライアントモードの場合は、実行するコマンドとその引数をコマンドライン引数に指定できます。コマンドライン引数にcommandを与えなかった場合は、標準入力から一行ずつEOFに達するまでコマンド文字列を読み取り、順次実行します。
3123
3110
  .UNINDENT
3124
3111
  .SS コマンド
@@ -3147,67 +3134,51 @@ groonga実行ファイルを通してデータベースを操作する命令を
3147
3134
  .INDENT 0.0
3148
3135
  .TP
3149
3136
  .B \fBstatus\fP
3150
- .sp
3151
3137
  groongaプロセスの状態を表示します。
3152
3138
  .TP
3153
3139
  .B \fBtable_list\fP
3154
- .sp
3155
3140
  DBに定義されているテーブルのリストを表示します。
3156
3141
  .TP
3157
3142
  .B \fBcolumn_list\fP
3158
- .sp
3159
3143
  テーブルに定義されているカラムのリストを表示します。
3160
3144
  .TP
3161
3145
  .B \fBtable_create\fP
3162
- .sp
3163
3146
  DBにテーブルを追加します。
3164
3147
  .TP
3165
3148
  .B \fBcolumn_create\fP
3166
- .sp
3167
3149
  テーブルにカラムを追加します。
3168
3150
  .TP
3169
3151
  .B \fBtable_remove\fP
3170
- .sp
3171
3152
  DBに定義されているテーブルを削除します。
3172
3153
  .TP
3173
3154
  .B \fBcolumn_remove\fP
3174
- .sp
3175
3155
  テーブルに定義されているカラムを削除します。
3176
3156
  .TP
3177
3157
  .B \fBview_add\fP
3178
- .sp
3179
3158
  VIEW型のテーブルに要素となるテーブルを定義します。
3180
3159
  .TP
3181
3160
  .B \fBload\fP
3182
- .sp
3183
3161
  テーブルにレコードを挿入します。
3184
3162
  .TP
3185
3163
  .B \fBselect\fP
3186
- .sp
3187
3164
  テーブルに含まれるレコードを検索して表示します。
3188
3165
  .TP
3189
3166
  .B \fBdefine_selector\fP
3190
- .sp
3191
3167
  検索条件をカスタマイズした新たな検索コマンドを定義します。
3192
3168
  .TP
3193
3169
  .B \fBquit\fP
3194
- .sp
3195
3170
  データベースとのセッションを終了します。
3196
3171
  .TP
3197
3172
  .B \fBshutdown\fP
3198
- .sp
3199
3173
  サーバ(デーモン)プロセスを停止します。
3200
3174
  .TP
3201
3175
  .B \fBlog_level\fP
3202
- .sp
3203
3176
  ログ出力レベルを設定します。
3204
3177
  .TP
3205
3178
  .B \fBlog_put\fP
3206
- .sp
3207
3179
  ログ出力を行います。
3208
3180
  .TP
3209
3181
  .B \fBclearlock\fP
3210
- .sp
3211
3182
  ロックを解除します。
3212
3183
  .UNINDENT
3213
3184
  .UNINDENT
@@ -3285,7 +3256,6 @@ httpを指定して起動したgroongaサーバに対しても、他のモード
3285
3256
  スタンドアロンやクライアントモードでは、コマンドは以下のような形式で指定します。
3286
3257
  .INDENT 0.0
3287
3258
  .INDENT 3.5
3288
- .sp
3289
3259
  形式1: コマンド名 値1 値2,..
3290
3260
  .sp
3291
3261
  形式2: コマンド名 \-\-引数名1 値1 \-\-引数名2 値2,..
@@ -3361,15 +3331,12 @@ groonga1.1からコマンドバージョンという概念が導入されます
3361
3331
  .INDENT 0.0
3362
3332
  .TP
3363
3333
  .B develop
3364
- .
3365
3334
  まだ開発中であり、仕様が変更される可能性があります。
3366
3335
  .TP
3367
3336
  .B stable
3368
- .
3369
3337
  使用可能であり仕様も安定しています。その時点で使用することが推奨されます。
3370
3338
  .TP
3371
3339
  .B deprecated
3372
- .
3373
3340
  使用可能であり仕様も安定していますが、廃止予定であり使用が推奨されません。
3374
3341
  .UNINDENT
3375
3342
  .sp
@@ -3444,7 +3411,6 @@ cache_limitは、クエリキャッシュの最大件数を取得したり設定
3444
3411
  \fBmax\fP
3445
3412
  .INDENT 0.0
3446
3413
  .INDENT 3.5
3447
- .sp
3448
3414
  クエリキャッシュの最大件数を整数で指定します。
3449
3415
  maxが指定されなかった場合には、クエリキャッシュの最大件数は変更せず、
3450
3416
  現在の設定値のみが返されます。
@@ -3491,7 +3457,6 @@ checkコマンドは、groongaプロセス内の指定したオブジェクト
3491
3457
  \fBobj\fP
3492
3458
  .INDENT 0.0
3493
3459
  .INDENT 3.5
3494
- .sp
3495
3460
  状態を表示するオブジェクトの名前を指定します。
3496
3461
  .UNINDENT
3497
3462
  .UNINDENT
@@ -3653,7 +3618,6 @@ clearlockは、対象となるオブジェクト(データベース,テーブル
3653
3618
  \fBobjname\fP
3654
3619
  .INDENT 0.0
3655
3620
  .INDENT 3.5
3656
- .sp
3657
3621
  対象となるオブジェクト名を指定します。空の場合、開いているdbオブジェクトが対象となります。
3658
3622
  .UNINDENT
3659
3623
  .UNINDENT
@@ -3714,7 +3678,6 @@ column_createは、使用しているデータベースのテーブルに対し
3714
3678
  \fBtable\fP
3715
3679
  .INDENT 0.0
3716
3680
  .INDENT 3.5
3717
- .sp
3718
3681
  カラムを追加するテーブルの名前を指定します。
3719
3682
  .UNINDENT
3720
3683
  .UNINDENT
@@ -3722,7 +3685,6 @@ column_createは、使用しているデータベースのテーブルに対し
3722
3685
  \fBname\fP
3723
3686
  .INDENT 0.0
3724
3687
  .INDENT 3.5
3725
- .sp
3726
3688
  作成するカラムの名前を指定します。カラム名は、テーブルの中で一意でなければなりません。
3727
3689
  .sp
3728
3690
  ピリオド(\(aq.\(aq), コロン(\(aq:\(aq)を含む名前のカラムは作成できません。また、アンダースコア(\(aq_\(aq)で始まる名前は予約済みであり、使用できません。
@@ -3732,20 +3694,16 @@ column_createは、使用しているデータベースのテーブルに対し
3732
3694
  \fBflags\fP
3733
3695
  .INDENT 0.0
3734
3696
  .INDENT 3.5
3735
- .sp
3736
3697
  カラムの属性を表す以下の数値か、パイプ(\(aq|\(aq)で組み合わせたシンボル名を指定します。
3737
3698
  .INDENT 0.0
3738
3699
  .TP
3739
3700
  .B 0, \fBCOLUMN_SCALAR\fP
3740
- .sp
3741
3701
  単一の値が格納できるカラムを作成します。
3742
3702
  .TP
3743
3703
  .B 1, \fBCOLUMN_VECTOR\fP
3744
- .sp
3745
3704
  複数の値の配列を格納できるカラムを作成します。
3746
3705
  .TP
3747
3706
  .B 2, \fBCOLUMN_INDEX\fP
3748
- .sp
3749
3707
  インデックス型のカラムを作成します。
3750
3708
  .UNINDENT
3751
3709
  .sp
@@ -3754,15 +3712,12 @@ column_createは、使用しているデータベースのテーブルに対し
3754
3712
  .INDENT 0.0
3755
3713
  .TP
3756
3714
  .B 128, \fBWITH_SECTION\fP
3757
- .sp
3758
3715
  段落情報を格納するインデックスを作成します。
3759
3716
  .TP
3760
3717
  .B 256, \fBWITH_WEIGHT\fP
3761
- .sp
3762
3718
  ウェイト情報を格納するインデックスを作成します。
3763
3719
  .TP
3764
3720
  .B 512, \fBWITH_POSITION\fP
3765
- .sp
3766
3721
  位置情報を格納するインデックス(完全転置インデックス)を作成します。
3767
3722
  .UNINDENT
3768
3723
  .UNINDENT
@@ -3771,7 +3726,6 @@ column_createは、使用しているデータベースのテーブルに対し
3771
3726
  \fBtype\fP
3772
3727
  .INDENT 0.0
3773
3728
  .INDENT 3.5
3774
- .sp
3775
3729
  値の型を指定します。groongaの組込型か、同一データベースに定義済みのユーザ定義型、定義済みのテーブルを指定することができます。
3776
3730
  .UNINDENT
3777
3731
  .UNINDENT
@@ -3779,7 +3733,6 @@ column_createは、使用しているデータベースのテーブルに対し
3779
3733
  \fBsource\fP
3780
3734
  .INDENT 0.0
3781
3735
  .INDENT 3.5
3782
- .sp
3783
3736
  インデックス型のカラムを作成した場合は、インデックス対象となるカラムをsource引数に指定します。
3784
3737
  .UNINDENT
3785
3738
  .UNINDENT
@@ -3834,7 +3787,6 @@ column_listはテーブルに定義されているカラムをリスト表示し
3834
3787
  .INDENT 0.0
3835
3788
  .TP
3836
3789
  .B \fBtable\fP
3837
- .sp
3838
3790
  カラム情報を出力するテーブルの名前を指定します。
3839
3791
  .UNINDENT
3840
3792
  .SS 返値
@@ -3851,14 +3803,12 @@ column_listはテーブルに定義されているカラムをリスト表示し
3851
3803
  \fBカラム情報名n\fP
3852
3804
  .INDENT 0.0
3853
3805
  .INDENT 3.5
3854
- .sp
3855
3806
  \fBカラム情報n\fP には複数の情報が含まれますが、そこに入る情報がどんな内容かを示す名前を出力します。
3856
3807
  情報名は以下の通りです。
3857
3808
  .sp
3858
3809
  \fBid\fP
3859
3810
  .INDENT 0.0
3860
3811
  .INDENT 3.5
3861
- .sp
3862
3812
  カラムオブジェクトに割り当てられたID
3863
3813
  .UNINDENT
3864
3814
  .UNINDENT
@@ -3866,7 +3816,6 @@ column_listはテーブルに定義されているカラムをリスト表示し
3866
3816
  \fBname\fP
3867
3817
  .INDENT 0.0
3868
3818
  .INDENT 3.5
3869
- .sp
3870
3819
  カラム名
3871
3820
  .UNINDENT
3872
3821
  .UNINDENT
@@ -3874,7 +3823,6 @@ column_listはテーブルに定義されているカラムをリスト表示し
3874
3823
  \fBpath\fP
3875
3824
  .INDENT 0.0
3876
3825
  .INDENT 3.5
3877
- .sp
3878
3826
  カラム値を格納するファイル名
3879
3827
  .UNINDENT
3880
3828
  .UNINDENT
@@ -3882,7 +3830,6 @@ column_listはテーブルに定義されているカラムをリスト表示し
3882
3830
  \fBtype\fP
3883
3831
  .INDENT 0.0
3884
3832
  .INDENT 3.5
3885
- .sp
3886
3833
  スカラ型、ベクタ型、インデックス型の種別
3887
3834
  .UNINDENT
3888
3835
  .UNINDENT
@@ -3890,7 +3837,6 @@ column_listはテーブルに定義されているカラムをリスト表示し
3890
3837
  \fBflags\fP
3891
3838
  .INDENT 0.0
3892
3839
  .INDENT 3.5
3893
- .sp
3894
3840
  カラムのflags属性
3895
3841
  .UNINDENT
3896
3842
  .UNINDENT
@@ -3898,7 +3844,6 @@ column_listはテーブルに定義されているカラムをリスト表示し
3898
3844
  \fBdomain\fP
3899
3845
  .INDENT 0.0
3900
3846
  .INDENT 3.5
3901
- .sp
3902
3847
  カラムの値の属する型
3903
3848
  .UNINDENT
3904
3849
  .UNINDENT
@@ -3906,7 +3851,6 @@ column_listはテーブルに定義されているカラムをリスト表示し
3906
3851
  \fBrange\fP
3907
3852
  .INDENT 0.0
3908
3853
  .INDENT 3.5
3909
- .sp
3910
3854
  テーブルのkeyの型
3911
3855
  .UNINDENT
3912
3856
  .UNINDENT
@@ -3914,7 +3858,6 @@ column_listはテーブルに定義されているカラムをリスト表示し
3914
3858
  \fBsource\fP
3915
3859
  .INDENT 0.0
3916
3860
  .INDENT 3.5
3917
- .sp
3918
3861
  インデックスカラムのとき、インデックス対象カラム名の配列
3919
3862
  .UNINDENT
3920
3863
  .UNINDENT
@@ -3924,7 +3867,6 @@ column_listはテーブルに定義されているカラムをリスト表示し
3924
3867
  \fBカラム情報型n\fP
3925
3868
  .INDENT 0.0
3926
3869
  .INDENT 3.5
3927
- .sp
3928
3870
  カラム情報の型を出力します。
3929
3871
  .UNINDENT
3930
3872
  .UNINDENT
@@ -3932,7 +3874,6 @@ column_listはテーブルに定義されているカラムをリスト表示し
3932
3874
  \fBカラム情報n\fP
3933
3875
  .INDENT 0.0
3934
3876
  .INDENT 3.5
3935
- .sp
3936
3877
  \fBカラム情報名n\fP で示された情報の配列を出力します。
3937
3878
  情報の順序は \fBカラム情報名n\fP の順序と同じです。
3938
3879
  .UNINDENT
@@ -3984,11 +3925,9 @@ column_removeはテーブルに定義されているカラムを削除します
3984
3925
  .INDENT 0.0
3985
3926
  .TP
3986
3927
  .B \fBtable\fP
3987
- .sp
3988
3928
  削除対象のカラムが定義されているテーブルの名前を指定します。
3989
3929
  .TP
3990
3930
  .B \fBname\fP
3991
- .sp
3992
3931
  削除対象のカラム名を指定します。
3993
3932
  .UNINDENT
3994
3933
  .SS 返値
@@ -4014,7 +3953,6 @@ column_remove Entry body
4014
3953
  .fi
4015
3954
  脚注
4016
3955
  .IP [1] 5
4017
- .
4018
3956
  マルチセクションインデックスの一部である場合も、インデックスが削除されます。
4019
3957
  .SS define_selector
4020
3958
  .SS 名前
@@ -4039,7 +3977,6 @@ define_selectorは、検索条件をカスタマイズした新たな検索コ
4039
3977
  \fBname\fP
4040
3978
  .INDENT 0.0
4041
3979
  .INDENT 3.5
4042
- .sp
4043
3980
  定義するselectorコマンドの名前を指定します。
4044
3981
  .UNINDENT
4045
3982
  .UNINDENT
@@ -4047,7 +3984,6 @@ define_selectorは、検索条件をカスタマイズした新たな検索コ
4047
3984
  \fBtable\fP
4048
3985
  .INDENT 0.0
4049
3986
  .INDENT 3.5
4050
- .sp
4051
3987
  検索対象のテーブルを指定します。
4052
3988
  .UNINDENT
4053
3989
  .UNINDENT
@@ -4055,7 +3991,6 @@ define_selectorは、検索条件をカスタマイズした新たな検索コ
4055
3991
  \fBmatch_columns\fP
4056
3992
  .INDENT 0.0
4057
3993
  .INDENT 3.5
4058
- .sp
4059
3994
  追加するselectorコマンドのmatch_columns引数のデフォルト値を指定します。
4060
3995
  .UNINDENT
4061
3996
  .UNINDENT
@@ -4063,7 +3998,6 @@ define_selectorは、検索条件をカスタマイズした新たな検索コ
4063
3998
  \fBquery\fP
4064
3999
  .INDENT 0.0
4065
4000
  .INDENT 3.5
4066
- .sp
4067
4001
  追加するselectorコマンドのquery引数のデフォルト値を指定します。
4068
4002
  .UNINDENT
4069
4003
  .UNINDENT
@@ -4071,7 +4005,6 @@ define_selectorは、検索条件をカスタマイズした新たな検索コ
4071
4005
  \fBfilter\fP
4072
4006
  .INDENT 0.0
4073
4007
  .INDENT 3.5
4074
- .sp
4075
4008
  追加するselectorコマンドのfilter引数のデフォルト値を指定します。
4076
4009
  .UNINDENT
4077
4010
  .UNINDENT
@@ -4079,7 +4012,6 @@ define_selectorは、検索条件をカスタマイズした新たな検索コ
4079
4012
  \fBscorer\fP
4080
4013
  .INDENT 0.0
4081
4014
  .INDENT 3.5
4082
- .sp
4083
4015
  追加するselectorコマンドのscorer引数のデフォルト値を指定します。
4084
4016
  .UNINDENT
4085
4017
  .UNINDENT
@@ -4087,7 +4019,6 @@ define_selectorは、検索条件をカスタマイズした新たな検索コ
4087
4019
  \fBsortby\fP
4088
4020
  .INDENT 0.0
4089
4021
  .INDENT 3.5
4090
- .sp
4091
4022
  追加するselectorコマンドのsortby引数のデフォルト値を指定します。
4092
4023
  .UNINDENT
4093
4024
  .UNINDENT
@@ -4095,7 +4026,6 @@ define_selectorは、検索条件をカスタマイズした新たな検索コ
4095
4026
  \fBoutput_columns\fP
4096
4027
  .INDENT 0.0
4097
4028
  .INDENT 3.5
4098
- .sp
4099
4029
  追加するselectorコマンドのoutput_columns引数のデフォルト値を指定します。
4100
4030
  .UNINDENT
4101
4031
  .UNINDENT
@@ -4103,7 +4033,6 @@ define_selectorは、検索条件をカスタマイズした新たな検索コ
4103
4033
  \fBoffset\fP
4104
4034
  .INDENT 0.0
4105
4035
  .INDENT 3.5
4106
- .sp
4107
4036
  追加するselectorコマンドのoffset引数のデフォルト値を指定します。
4108
4037
  .UNINDENT
4109
4038
  .UNINDENT
@@ -4111,7 +4040,6 @@ define_selectorは、検索条件をカスタマイズした新たな検索コ
4111
4040
  \fBlimit\fP
4112
4041
  .INDENT 0.0
4113
4042
  .INDENT 3.5
4114
- .sp
4115
4043
  追加するselectorコマンドのlimit引数のデフォルト値を指定します。
4116
4044
  .UNINDENT
4117
4045
  .UNINDENT
@@ -4119,7 +4047,6 @@ define_selectorは、検索条件をカスタマイズした新たな検索コ
4119
4047
  \fBdrilldown\fP
4120
4048
  .INDENT 0.0
4121
4049
  .INDENT 3.5
4122
- .sp
4123
4050
  追加するselectorコマンドのdrilldown引数のデフォルト値を指定します。
4124
4051
  .UNINDENT
4125
4052
  .UNINDENT
@@ -4127,7 +4054,6 @@ define_selectorは、検索条件をカスタマイズした新たな検索コ
4127
4054
  \fBdrilldown_sortby\fP
4128
4055
  .INDENT 0.0
4129
4056
  .INDENT 3.5
4130
- .sp
4131
4057
  追加するselectorコマンドのdrilldown_sortby引数のデフォルト値を指定します。
4132
4058
  .UNINDENT
4133
4059
  .UNINDENT
@@ -4135,7 +4061,6 @@ define_selectorは、検索条件をカスタマイズした新たな検索コ
4135
4061
  \fBdrilldown_output_columns\fP
4136
4062
  .INDENT 0.0
4137
4063
  .INDENT 3.5
4138
- .sp
4139
4064
  追加するselectorコマンドのdrilldown_output_columns引数のデフォルト値を指定します。
4140
4065
  .UNINDENT
4141
4066
  .UNINDENT
@@ -4143,7 +4068,6 @@ define_selectorは、検索条件をカスタマイズした新たな検索コ
4143
4068
  \fBdrilldown_offset\fP
4144
4069
  .INDENT 0.0
4145
4070
  .INDENT 3.5
4146
- .sp
4147
4071
  追加するselectorコマンドのdrilldown_offset引数のデフォルト値を指定します。
4148
4072
  .UNINDENT
4149
4073
  .UNINDENT
@@ -4151,7 +4075,6 @@ define_selectorは、検索条件をカスタマイズした新たな検索コ
4151
4075
  \fBdrilldown_limit\fP
4152
4076
  .INDENT 0.0
4153
4077
  .INDENT 3.5
4154
- .sp
4155
4078
  追加するselectorコマンドのdrilldown_limit引数のデフォルト値を指定します。
4156
4079
  .UNINDENT
4157
4080
  .UNINDENT
@@ -4201,7 +4124,6 @@ defragは、対象となるオブジェクト(データベースか可変長サ
4201
4124
  \fBobjname\fP
4202
4125
  .INDENT 0.0
4203
4126
  .INDENT 3.5
4204
- .sp
4205
4127
  対象となるオブジェクト名を指定します。空の場合、開いているdbオブジェクトが対象となります。
4206
4128
  .UNINDENT
4207
4129
  .UNINDENT
@@ -4257,7 +4179,6 @@ deleteは、使用しているデータベースのテーブルに1件のレコ
4257
4179
  \fBtable\fP
4258
4180
  .INDENT 0.0
4259
4181
  .INDENT 3.5
4260
- .sp
4261
4182
  レコードを削除しようとするテーブルの名前を指定します。
4262
4183
  .UNINDENT
4263
4184
  .UNINDENT
@@ -4265,7 +4186,6 @@ deleteは、使用しているデータベースのテーブルに1件のレコ
4265
4186
  \fBkey\fP
4266
4187
  .INDENT 0.0
4267
4188
  .INDENT 3.5
4268
- .sp
4269
4189
  削除するレコードの主キー値を指定します。主キーなしのテーブルの場合はこのパラメータを指定しても無視されます(idパラメータを代わりに指定します)。
4270
4190
  .UNINDENT
4271
4191
  .UNINDENT
@@ -4273,7 +4193,6 @@ deleteは、使用しているデータベースのテーブルに1件のレコ
4273
4193
  \fBid\fP
4274
4194
  .INDENT 0.0
4275
4195
  .INDENT 3.5
4276
- .sp
4277
4196
  レコードIDによってレコードを指定します。idパラメータを指定する場合は、keyパラメータを指定してはいけません。
4278
4197
  .UNINDENT
4279
4198
  .UNINDENT
@@ -4336,7 +4255,6 @@ dumpが出力するフォーマットは直接groongaが解釈できるフォー
4336
4255
  \fBtables\fP
4337
4256
  .INDENT 0.0
4338
4257
  .INDENT 3.5
4339
- .sp
4340
4258
  出力対象のテーブルを「,」(カンマ)区切りで指定します。存在しないテーブルを指定した場合は無視されます。
4341
4259
  .UNINDENT
4342
4260
  .UNINDENT
@@ -4414,18 +4332,15 @@ loadは、使用しているデータベースのテーブルにレコードを
4414
4332
  \fBvalues\fP
4415
4333
  .INDENT 0.0
4416
4334
  .INDENT 3.5
4417
- .sp
4418
4335
  input_typeに指定する形式で登録するレコードの値を表現した文字列を渡します。
4419
4336
  .sp
4420
4337
  input_typeがjsonである場合には、以下のいずれかの形式が使用できます。
4421
4338
  .INDENT 0.0
4422
4339
  .TP
4423
4340
  .B \fB形式1\fP
4424
- .sp
4425
4341
  [[カラム名1, カラム名2,..], [カラム値1, カラム値2,..], [カラム値1, カラム値2,..],..]
4426
4342
  .TP
4427
4343
  .B \fB形式2\fP
4428
- .sp
4429
4344
  [{カラム名1: カラム値1, カラム名2: カラム値2}, {カラム名1: カラム値1, カラム名2: カラム値2},..]
4430
4345
  .UNINDENT
4431
4346
  .sp
@@ -4442,7 +4357,6 @@ values引数が省略された場合には、括弧の対応が取れるまで
4442
4357
  \fBtable\fP
4443
4358
  .INDENT 0.0
4444
4359
  .INDENT 3.5
4445
- .sp
4446
4360
  レコードを追加しようとするテーブルの名前を指定します。
4447
4361
  .UNINDENT
4448
4362
  .UNINDENT
@@ -4450,7 +4364,6 @@ values引数が省略された場合には、括弧の対応が取れるまで
4450
4364
  \fBcolumns\fP
4451
4365
  .INDENT 0.0
4452
4366
  .INDENT 3.5
4453
- .sp
4454
4367
  テーブルに登録するレコードに値を設定するカラム名のリストを、カンマ区切りで指定します。
4455
4368
  .UNINDENT
4456
4369
  .UNINDENT
@@ -4458,7 +4371,6 @@ values引数が省略された場合には、括弧の対応が取れるまで
4458
4371
  \fBifexists\fP
4459
4372
  .INDENT 0.0
4460
4373
  .INDENT 3.5
4461
- .sp
4462
4374
  指定した主キーに対応するレコードが既にテーブルに登録済みであった場合に実行するscript形式のgrn_expr文字列を指定します。ifexistsにgrn_exprが指定された場合は、式の値が真である場合に限り、その他のカラムの値が更新されます。(デフォルトはtrue)
4463
4375
  .UNINDENT
4464
4376
  .UNINDENT
@@ -4466,7 +4378,6 @@ values引数が省略された場合には、括弧の対応が取れるまで
4466
4378
  \fBinput_type\fP
4467
4379
  .INDENT 0.0
4468
4380
  .INDENT 3.5
4469
- .sp
4470
4381
  入力形式を指定します。JSONのみに対応しています。
4471
4382
  .UNINDENT
4472
4383
  .UNINDENT
@@ -4482,7 +4393,6 @@ values引数が省略された場合には、括弧の対応が取れるまで
4482
4393
  \fB登録件数\fP
4483
4394
  .INDENT 0.0
4484
4395
  .INDENT 3.5
4485
- .sp
4486
4396
  テーブルに登録されたレコードの件数が返されます。
4487
4397
  .UNINDENT
4488
4398
  .UNINDENT
@@ -4534,11 +4444,9 @@ log_levelは、ログ出力レベルを設定します。
4534
4444
  \fBlevel\fP
4535
4445
  .INDENT 0.0
4536
4446
  .INDENT 3.5
4537
- .sp
4538
4447
  設定するログ出力レベルの値を以下のいずれかで指定します。
4539
4448
  .INDENT 0.0
4540
4449
  .INDENT 3.5
4541
- .sp
4542
4450
  EMERG
4543
4451
  ALERT
4544
4452
  CRIT
@@ -4596,11 +4504,9 @@ log_putは、ログにmessageを出力します。
4596
4504
  \fBlevel\fP
4597
4505
  .INDENT 0.0
4598
4506
  .INDENT 3.5
4599
- .sp
4600
4507
  設定するログ出力レベルの値を以下のいずれかで指定します。
4601
4508
  .INDENT 0.0
4602
4509
  .INDENT 3.5
4603
- .sp
4604
4510
  EMERG
4605
4511
  ALERT
4606
4512
  CRIT
@@ -4617,7 +4523,6 @@ debug
4617
4523
  \fBmessage\fP
4618
4524
  .INDENT 0.0
4619
4525
  .INDENT 3.5
4620
- .sp
4621
4526
  出力する文字列を指定します。
4622
4527
  .UNINDENT
4623
4528
  .UNINDENT
@@ -4690,14 +4595,11 @@ log_reopen
4690
4595
  .SS log_reopenを用いたログのローテーション
4691
4596
  .INDENT 0.0
4692
4597
  .IP 1. 3
4693
- .
4694
4598
  ログファイルをmvなどで移動する。
4695
4599
  ログはmvで移動された先のファイルに書き込まれる。
4696
4600
  .IP 2. 3
4697
- .
4698
4601
  log_reopenコマンドを実行する。
4699
4602
  .IP 3. 3
4700
- .
4701
4603
  既存のログファイル名と同じファイル名で、新たなログファイルが作成される。
4702
4604
  今後のログは新たなログファイルに書き込まれる。
4703
4605
  .UNINDENT
@@ -4745,7 +4647,7 @@ select \- テーブルの中から条件にマッチするレコードを検索
4745
4647
  select table [match_columns [query [filter [scorer [sortby [output_columns
4746
4648
  [offset [limit [drilldown [drilldown_sortby [drilldown_output_columns
4747
4649
  [drilldown_offset [drilldown_limit [cache
4748
- [match_escalation_threshold]]]]]]]]]]]]]]]
4650
+ [match_escalation_threshold [query_expansion]]]]]]]]]]]]]]]]
4749
4651
  .ft P
4750
4652
  .fi
4751
4653
  .SS 説明
@@ -4758,7 +4660,6 @@ selectは、使用しているデータベースのテーブルの中から条
4758
4660
  \fBtable\fP
4759
4661
  .INDENT 0.0
4760
4662
  .INDENT 3.5
4761
- .sp
4762
4663
  検索対象のテーブルを指定します。存在しないテーブルを指定した場合はエラーになります。
4763
4664
  .UNINDENT
4764
4665
  .UNINDENT
@@ -4766,11 +4667,9 @@ selectは、使用しているデータベースのテーブルの中から条
4766
4667
  \fBmatch_columns\fP
4767
4668
  .INDENT 0.0
4768
4669
  .INDENT 3.5
4769
- .sp
4770
4670
  query引数に指定する検索条件文字列でデフォルトの検索対象となるカラムを指定します。
4771
4671
  .INDENT 0.0
4772
4672
  .INDENT 3.5
4773
- .sp
4774
4673
  カラム名
4775
4674
  .UNINDENT
4776
4675
  .UNINDENT
@@ -4778,7 +4677,6 @@ query引数に指定する検索条件文字列でデフォルトの検索対象
4778
4677
  カラム名の後ろに\(aq* 数値\(aqを指定することによって、そのカラムにヒットした際のスコアに積算される重みを指定することができます。
4779
4678
  .INDENT 0.0
4780
4679
  .INDENT 3.5
4781
- .sp
4782
4680
  カラム名 * 重み
4783
4681
  .UNINDENT
4784
4682
  .UNINDENT
@@ -4786,7 +4684,6 @@ query引数に指定する検索条件文字列でデフォルトの検索対象
4786
4684
  複数のカラムを\(aq||\(aqで結合して指定することもできます。
4787
4685
  .INDENT 0.0
4788
4686
  .INDENT 3.5
4789
- .sp
4790
4687
  カラム名1 * 重み1 || カラム名2 * 重み2
4791
4688
  .UNINDENT
4792
4689
  .UNINDENT
@@ -4798,7 +4695,6 @@ query引数に指定する検索条件文字列でデフォルトの検索対象
4798
4695
  \fBquery\fP
4799
4696
  .INDENT 0.0
4800
4697
  .INDENT 3.5
4801
- .sp
4802
4698
  以下の形式の文字列によって検索条件を指定します。
4803
4699
  .UNINDENT
4804
4700
  .UNINDENT
@@ -4808,39 +4704,30 @@ query引数に指定する検索条件文字列でデフォルトの検索対象
4808
4704
  .INDENT 0.0
4809
4705
  .TP
4810
4706
  .B 文字列
4811
- .
4812
4707
  全文検索条件(デフォルト検索対象カラムの値が指定された文字列を含んでいる)
4813
4708
  .TP
4814
4709
  .B "文字列"
4815
- .
4816
4710
  フレーズ検索条件(デフォルト検索対象カラムの値が指定されたフレーズを含んでいる)
4817
4711
  .TP
4818
4712
  .B カラム名:値
4819
- .
4820
4713
  一致条件(カラム値 == 値)
4821
4714
  .TP
4822
4715
  .B カラム名:!値
4823
- .
4824
4716
  不一致条件(カラム値 != 値)
4825
4717
  .TP
4826
4718
  .B カラム名:<値
4827
- .
4828
4719
  比較条件(カラム値 < 値)
4829
4720
  .TP
4830
4721
  .B カラム名:>値
4831
- .
4832
4722
  比較条件(カラム値 > 値)
4833
4723
  .TP
4834
4724
  .B カラム名:<=値
4835
- .
4836
4725
  比較条件(カラム値 <= 値)
4837
4726
  .TP
4838
4727
  .B カラム名:>=値
4839
- .
4840
4728
  比較条件(カラム値 >= 値)
4841
4729
  .TP
4842
4730
  .B カラム名:@文字列
4843
- .
4844
4731
  全文検索条件(カラム値が指定された文字列を含んでいる)
4845
4732
  .UNINDENT
4846
4733
  .SS 結合演算子
@@ -4849,26 +4736,21 @@ query引数に指定する検索条件文字列でデフォルトの検索対象
4849
4736
  .INDENT 0.0
4850
4737
  .TP
4851
4738
  .B a OR b
4852
- .
4853
4739
  論理和(aとbといずれかの条件がマッチする)
4854
4740
  .TP
4855
4741
  .B a + b
4856
- .
4857
4742
  論理積(aとbの両方がマッチする)
4858
4743
  .TP
4859
4744
  .B a \- b
4860
- .
4861
4745
  aにマッチし、bにはマッチしない
4862
4746
  .TP
4863
4747
  .B ( )
4864
- .
4865
4748
  複数の条件をまとめる
4866
4749
  .UNINDENT
4867
4750
  .sp
4868
4751
  \fBfilter\fP
4869
4752
  .INDENT 0.0
4870
4753
  .INDENT 3.5
4871
- .sp
4872
4754
  絞り込み条件をscript形式のgrn_expr文字列によって指定します。
4873
4755
  .sp
4874
4756
  query引数とfilter引数をどちらも指定した場合は、両方の条件を満足するレコードのみがヒットします。どちらも指定しない場合は全件がヒットします。
@@ -4878,7 +4760,6 @@ query引数とfilter引数をどちらも指定した場合は、両方の条件
4878
4760
  \fBscorer\fP
4879
4761
  .INDENT 0.0
4880
4762
  .INDENT 3.5
4881
- .sp
4882
4763
  検索条件にマッチする全てのレコードに対して適用するgrn_exprをscript形式で指定します。
4883
4764
  .sp
4884
4765
  scorerは、検索処理が完了し、ソート処理が実行される前に呼び出されます。従って、各レコードのスコアを操作する式を指定しておけば、検索結果のソート順序をカスタマイズできるようになります。
@@ -4888,7 +4769,6 @@ scorerは、検索処理が完了し、ソート処理が実行される前に
4888
4769
  \fBsortby\fP
4889
4770
  .INDENT 0.0
4890
4771
  .INDENT 3.5
4891
- .sp
4892
4772
  ソートキーとなるカラム名のリストをカンマ(\(aq,\(aq)区切りで指定します。:
4893
4773
  .sp
4894
4774
  .nf
@@ -4906,7 +4786,6 @@ query引数またはfilter引数を指定した場合はカラム名に\(aq_scor
4906
4786
  \fBoutput_columns\fP
4907
4787
  .INDENT 0.0
4908
4788
  .INDENT 3.5
4909
- .sp
4910
4789
  出力するカラム名のリストをカンマ(\(aq,\(aq)区切りで指定します。
4911
4790
  .sp
4912
4791
  アスタリスク(\(aq*\(aq)を指定すると、全てのカラムが指定されたものとみなされます。または、script形式のgrn_expr文字列を指定します。 (デフォルトは、\(aq_id, _key, *\(aq)
@@ -4916,7 +4795,6 @@ query引数またはfilter引数を指定した場合はカラム名に\(aq_scor
4916
4795
  \fBoffset\fP
4917
4796
  .INDENT 0.0
4918
4797
  .INDENT 3.5
4919
- .sp
4920
4798
  検索条件にマッチしたレコードのうち、出力対象となる最初のレコードの番号を0ベースで指定します。デフォルト値は0です。offsetに負の値を指定した場合は、ヒットした件数 + offset によって算出される値が指定されたものとみなされます。
4921
4799
  .UNINDENT
4922
4800
  .UNINDENT
@@ -4924,7 +4802,6 @@ query引数またはfilter引数を指定した場合はカラム名に\(aq_scor
4924
4802
  \fBlimit\fP
4925
4803
  .INDENT 0.0
4926
4804
  .INDENT 3.5
4927
- .sp
4928
4805
  検索条件にマッチしたレコードのうち、出力を行うレコードの件数を指定します。デフォルト値は10です。実際には、offset + limit がヒットした件数を超えない範囲でレコードが出力されます。limitに負の値を指定した場合は、ヒットした件数 + limit + 1 によって算出される値が指定されたものとみなされます。
4929
4806
  .UNINDENT
4930
4807
  .UNINDENT
@@ -4932,7 +4809,6 @@ query引数またはfilter引数を指定した場合はカラム名に\(aq_scor
4932
4809
  \fBdrilldown\fP
4933
4810
  .INDENT 0.0
4934
4811
  .INDENT 3.5
4935
- .sp
4936
4812
  グループ化のキーとなるカラム名のリストをカンマ(\(aq,\(aq)区切りで指定します。検索条件にマッチした各レコードを出力したのちに、drilldownに指定されたカラムの値が同一であるレコードをとりまとめて、それぞれについて結果レコードを出力します。
4937
4813
  .UNINDENT
4938
4814
  .UNINDENT
@@ -4940,7 +4816,6 @@ query引数またはfilter引数を指定した場合はカラム名に\(aq_scor
4940
4816
  \fBdrilldown_sortby\fP
4941
4817
  .INDENT 0.0
4942
4818
  .INDENT 3.5
4943
- .sp
4944
4819
  drilldown条件に指定されたカラムの値毎にとりまとめられたレコードについて、ソートキーとなるカラム名のリストをカンマ(\(aq,\(aq)区切りで指定します。sortbyパラメータと同様に昇降順を指定できます。
4945
4820
  .UNINDENT
4946
4821
  .UNINDENT
@@ -4948,7 +4823,6 @@ drilldown条件に指定されたカラムの値毎にとりまとめられた
4948
4823
  \fBdrilldown_output_columns\fP
4949
4824
  .INDENT 0.0
4950
4825
  .INDENT 3.5
4951
- .sp
4952
4826
  drilldown条件に指定されたカラムの値毎にとりまとめられたレコードについて、出力するカラム名のリストをカンマ(\(aq,\(aq)区切りで指定します。
4953
4827
  .UNINDENT
4954
4828
  .UNINDENT
@@ -4956,7 +4830,6 @@ drilldown条件に指定されたカラムの値毎にとりまとめられた
4956
4830
  \fBdrilldown_offset\fP
4957
4831
  .INDENT 0.0
4958
4832
  .INDENT 3.5
4959
- .sp
4960
4833
  drilldown条件に指定されたカラムの値毎にとりまとめられたレコードについて、出力対象となる最初のレコードの番号を0ベースで指定します。デフォルト値は0です。drilldown_offsetに負の値を指定した場合は、ヒットした件数 + drilldown_offsetによって算出される値が指定されたものとみなされます。
4961
4834
  .UNINDENT
4962
4835
  .UNINDENT
@@ -4964,7 +4837,6 @@ drilldown条件に指定されたカラムの値毎にとりまとめられた
4964
4837
  \fBdrilldown_limit\fP
4965
4838
  .INDENT 0.0
4966
4839
  .INDENT 3.5
4967
- .sp
4968
4840
  drilldown条件に指定されたカラムの値毎にとりまとめられたレコードについて、出力を行うレコードの件数を指定します。デフォルト値は10です。実際には、drilldown_offset + drilldown_limit がヒットした件数を超えない範囲でレコードが出力されます。drilldown_limitに負の値を指定した場合は、ヒットした件数 + drilldown_limit + 1 によって算出される値が指定されたものとみなされます。
4969
4841
  .UNINDENT
4970
4842
  .UNINDENT
@@ -4972,15 +4844,12 @@ drilldown条件に指定されたカラムの値毎にとりまとめられた
4972
4844
  \fBcache\fP
4973
4845
  .INDENT 0.0
4974
4846
  .INDENT 3.5
4975
- .sp
4976
4847
  クエリキャッシュに関する動作を設定します。
4977
4848
  .INDENT 0.0
4978
4849
  .INDENT 3.5
4979
- .sp
4980
4850
  \fBno\fP
4981
4851
  .INDENT 0.0
4982
4852
  .INDENT 3.5
4983
- .sp
4984
4853
  検索結果をクエリキャッシュに残しません。キャッシュして再利用される可能性が低いクエリに対して用います。キャッシュ容量は有限です。有効なキャッシュが多くヒットするために、このパラメータは有効です。
4985
4854
  .UNINDENT
4986
4855
  .UNINDENT
@@ -4992,19 +4861,15 @@ drilldown条件に指定されたカラムの値毎にとりまとめられた
4992
4861
  \fBmatch_escalation_threshold\fP
4993
4862
  .INDENT 0.0
4994
4863
  .INDENT 3.5
4995
- .sp
4996
4864
  検索の挙動をエスカレーションするかどうかの閾値を設定します。デフォルト値は0です。デフォルト値は以下のいずれかの方法で設定できます。
4997
4865
  .INDENT 0.0
4998
4866
  .INDENT 3.5
4999
4867
  .INDENT 0.0
5000
4868
  .IP \(bu 2
5001
- .
5002
4869
  configureの\-\-with\-match\-escalation\-thresholdオプション
5003
4870
  .IP \(bu 2
5004
- .
5005
4871
  groongaコマンド起動時の\-\-match\-escalation\-thresholdオプション
5006
4872
  .IP \(bu 2
5007
- .
5008
4873
  設定ファイル中のmatch\-escalation\-threshold設定項目
5009
4874
  .UNINDENT
5010
4875
  .UNINDENT
@@ -5013,6 +4878,15 @@ groongaコマンド起動時の\-\-match\-escalation\-thresholdオプション
5013
4878
  クエリのヒット件数が閾値を越えない場合は \fB/spec/search\fP で説明している方法で検索方法をエスカレーションしてきます。
5014
4879
  .UNINDENT
5015
4880
  .UNINDENT
4881
+ .sp
4882
+ \fBquery_expansion\fP
4883
+ .INDENT 0.0
4884
+ .INDENT 3.5
4885
+ query_expansionパラメータには、queryパラメータに指定された文字列を置換(拡張)する条件となるテーブル・カラムを指定します。フォーマットは「${テーブル名}.${カラム名}」となります。指定するテーブルは文字列を主キーとするハッシュ型あるいはパトリシア木型のテーブルで、一つ以上の文字列型のカラムが定義されている必要があります。(ここでは置換テーブルと呼びます。)
4886
+ .sp
4887
+ queryパラメータに指定された文字列が、指定されたテーブルの主キーと完全一致する場合、その文字列を指定されたカラム値の文字列に置換します。queryパラメータが、空白、括弧、演算子などを含む場合は、その演算子によって区切られた文字列の単位で置換が実行されます。ダブルクォート("")で括られた範囲は、その内部に空白を含んでいても一つの置換される単位と見なされます。検索文字列と置換テーブルの主キー値との比較に際して大文字小文字等を区別したくない場合には、置換テーブルを定義する際にKEY_NORMALIZEを指定します。置換後の文字列となるカラムの値には、括弧や*, ORなど、queryパラメータで利用可能な全ての演算子を指定することができます。
4888
+ .UNINDENT
4889
+ .UNINDENT
5016
4890
  .SS 返値
5017
4891
  .sp
5018
4892
  以下のようなjson形式で値が返却されます。
@@ -5026,7 +4900,6 @@ groongaコマンド起動時の\-\-match\-escalation\-thresholdオプション
5026
4900
  \fBリターンコード\fP
5027
4901
  .INDENT 0.0
5028
4902
  .INDENT 3.5
5029
- .sp
5030
4903
  grn_rcに対応する数値が返されます。0(GRN_SUCCESS)以外の場合は、続いてエラー内容を示す
5031
4904
  文字列が返されます。
5032
4905
  .UNINDENT
@@ -5035,7 +4908,6 @@ grn_rcに対応する数値が返されます。0(GRN_SUCCESS)以外の場合は
5035
4908
  \fB処理開始時間\fP
5036
4909
  .INDENT 0.0
5037
4910
  .INDENT 3.5
5038
- .sp
5039
4911
  処理を開始した時間について、1970年1月1日0時0分0秒を起点とした秒数を小数で返します。
5040
4912
  .UNINDENT
5041
4913
  .UNINDENT
@@ -5043,7 +4915,6 @@ grn_rcに対応する数値が返されます。0(GRN_SUCCESS)以外の場合は
5043
4915
  \fB処理時間\fP
5044
4916
  .INDENT 0.0
5045
4917
  .INDENT 3.5
5046
- .sp
5047
4918
  処理にかかった秒数を返します。
5048
4919
  .UNINDENT
5049
4920
  .UNINDENT
@@ -5051,7 +4922,6 @@ grn_rcに対応する数値が返されます。0(GRN_SUCCESS)以外の場合は
5051
4922
  \fB検索結果\fP
5052
4923
  .INDENT 0.0
5053
4924
  .INDENT 3.5
5054
- .sp
5055
4925
  drilldown条件が実行される前の検索結果が以下のように出力されます。:
5056
4926
  .sp
5057
4927
  .nf
@@ -5063,7 +4933,6 @@ drilldown条件が実行される前の検索結果が以下のように出力
5063
4933
  \fB検索件数\fP
5064
4934
  .INDENT 0.0
5065
4935
  .INDENT 3.5
5066
- .sp
5067
4936
  検索件数が出力されます。
5068
4937
  .UNINDENT
5069
4938
  .UNINDENT
@@ -5071,7 +4940,6 @@ drilldown条件が実行される前の検索結果が以下のように出力
5071
4940
  \fBカラム名n\fP
5072
4941
  .INDENT 0.0
5073
4942
  .INDENT 3.5
5074
- .sp
5075
4943
  output_columnsに指定された条件に従って、対象となるカラム名が出力されます。
5076
4944
  .UNINDENT
5077
4945
  .UNINDENT
@@ -5079,7 +4947,6 @@ output_columnsに指定された条件に従って、対象となるカラム名
5079
4947
  \fBカラム型n\fP
5080
4948
  .INDENT 0.0
5081
4949
  .INDENT 3.5
5082
- .sp
5083
4950
  output_columnsに指定された条件に従って、対象となるカラム型が出力されます。
5084
4951
  .UNINDENT
5085
4952
  .UNINDENT
@@ -5087,7 +4954,6 @@ output_columnsに指定された条件に従って、対象となるカラム型
5087
4954
  \fB検索結果n\fP
5088
4955
  .INDENT 0.0
5089
4956
  .INDENT 3.5
5090
- .sp
5091
4957
  output_columns, offset, limitによって指定された条件に従って各レコードの値が出力されます。
5092
4958
  .UNINDENT
5093
4959
  .UNINDENT
@@ -5097,7 +4963,6 @@ output_columns, offset, limitによって指定された条件に従って各レ
5097
4963
  \fBdrilldown結果\fP
5098
4964
  .INDENT 0.0
5099
4965
  .INDENT 3.5
5100
- .sp
5101
4966
  drilldown処理の結果が以下のように出力されます。:
5102
4967
  .sp
5103
4968
  .nf
@@ -5109,7 +4974,6 @@ drilldown処理の結果が以下のように出力されます。:
5109
4974
  \fB件数\fP
5110
4975
  .INDENT 0.0
5111
4976
  .INDENT 3.5
5112
- .sp
5113
4977
  drilldownに指定されたカラムの値の異なり数が出力されます。
5114
4978
  .UNINDENT
5115
4979
  .UNINDENT
@@ -5117,7 +4981,6 @@ drilldownに指定されたカラムの値の異なり数が出力されます
5117
4981
  \fBカラム名n\fP
5118
4982
  .INDENT 0.0
5119
4983
  .INDENT 3.5
5120
- .sp
5121
4984
  drilldown_output_columnsに指定された条件に従って、対象となるカラム名が出力されます。
5122
4985
  .UNINDENT
5123
4986
  .UNINDENT
@@ -5125,7 +4988,6 @@ drilldown_output_columnsに指定された条件に従って、対象となる
5125
4988
  \fBカラム型n\fP
5126
4989
  .INDENT 0.0
5127
4990
  .INDENT 3.5
5128
- .sp
5129
4991
  drilldown_output_columnsに指定された条件に従って、対象となるカラム型が出力されます。
5130
4992
  .UNINDENT
5131
4993
  .UNINDENT
@@ -5133,7 +4995,6 @@ drilldown_output_columnsに指定された条件に従って、対象となる
5133
4995
  \fBドリルダウン結果n\fP
5134
4996
  .INDENT 0.0
5135
4997
  .INDENT 3.5
5136
- .sp
5137
4998
  drilldown_output_columns, drilldown_offset, drilldown_limitによって指定された条件に従って各レコードの値が出力されます。
5138
4999
  .UNINDENT
5139
5000
  .UNINDENT
@@ -5233,7 +5094,6 @@ status
5233
5094
  .fi
5234
5095
  .SS suggest
5235
5096
  .IP ノート
5236
- .
5237
5097
  サジェスト機能の仕様はまだ確定していません。仕様は変更される可能性があります。
5238
5098
  .RE
5239
5099
  .SS 名前
@@ -5255,7 +5115,6 @@ suggestコマンドは指定されたクエリに対する補完・補正・提
5255
5115
  .INDENT 0.0
5256
5116
  .TP
5257
5117
  .B \fBtypes\fP
5258
- .sp
5259
5118
  suggestコマンドでどの種類の候補を返すかを指定します。
5260
5119
  .sp
5261
5120
  指定できる種類は以下の通りです。
@@ -5264,15 +5123,12 @@ suggestコマンドでどの種類の候補を返すかを指定します。
5264
5123
  .INDENT 0.0
5265
5124
  .TP
5266
5125
  .B \fBcomplete\fP
5267
- .sp
5268
5126
  補完を実行します。
5269
5127
  .TP
5270
5128
  .B \fBcorrect\fP
5271
- .sp
5272
5129
  補正を実行します。
5273
5130
  .TP
5274
5131
  .B \fBsuggest\fP
5275
- .sp
5276
5132
  提案を実行します。
5277
5133
  .UNINDENT
5278
5134
  .UNINDENT
@@ -5281,7 +5137,6 @@ suggestコマンドでどの種類の候補を返すかを指定します。
5281
5137
  1つ以上の種類を指定できます。複数の種類を指定する場合は \fB|\fP で区切ります。以下が例です。:
5282
5138
  .INDENT 7.0
5283
5139
  .INDENT 3.5
5284
- .sp
5285
5140
  補正候補を返します:
5286
5141
  .sp
5287
5142
  .nf
@@ -5309,7 +5164,6 @@ complete|correct|suggest
5309
5164
  .UNINDENT
5310
5165
  .TP
5311
5166
  .B \fBtable\fP
5312
- .sp
5313
5167
  \fBitem_${データセット名}\fP というフォーマットのテーブル名を指定します。例えば、以下のコマンドでデータセットを作成した場合はテーブル名として \fBitem_query\fP を指定します:
5314
5168
  .sp
5315
5169
  .nf
@@ -5319,60 +5173,48 @@ groonga\-suggest\-create\-dataset /tmp/db\-path query
5319
5173
  .fi
5320
5174
  .TP
5321
5175
  .B \fBcolumn\fP
5322
- .sp
5323
5176
  \fBtable\fP で指定したテーブルにあるふりがな情報を含むカラムを指定します。ふりがなはカタカナで指定します。
5324
5177
  .TP
5325
5178
  .B \fBquery\fP
5326
- .sp
5327
5179
  補完・補正・提案対象のクエリを指定します。
5328
5180
  .TP
5329
5181
  .B \fBsortby\fP
5330
- .sp
5331
5182
  ソートキーを指定します。
5332
5183
  .INDENT 7.0
5333
5184
  .TP
5334
5185
  .B Default:
5335
- .
5336
5186
  \fB\-_score\fP
5337
5187
  .UNINDENT
5338
5188
  .TP
5339
5189
  .B \fBoutput_columns\fP
5340
- .sp
5341
5190
  出力するカラムを指定します。
5342
5191
  .INDENT 7.0
5343
5192
  .TP
5344
5193
  .B Default:
5345
- .
5346
5194
  \fB_key,_score\fP
5347
5195
  .UNINDENT
5348
5196
  .TP
5349
5197
  .B \fBoffset\fP
5350
- .sp
5351
5198
  返されるレコードのオフセットを指定します。
5352
5199
  .INDENT 7.0
5353
5200
  .TP
5354
5201
  .B Default:
5355
- .
5356
5202
  \fB0\fP
5357
5203
  .UNINDENT
5358
5204
  .TP
5359
5205
  .B \fBlimit\fP
5360
- .sp
5361
5206
  返されるレコード数を指定します。
5362
5207
  .INDENT 7.0
5363
5208
  .TP
5364
5209
  .B Default:
5365
- .
5366
5210
  \fB10\fP
5367
5211
  .UNINDENT
5368
5212
  .TP
5369
5213
  .B \fBfrequency_threshold\fP
5370
- .sp
5371
5214
  出現頻度に対する閾値を指定します。返されるレコードの \fB_score\fP 値は \fBfrequency_threshold\fP 以上になります。
5372
5215
  .INDENT 7.0
5373
5216
  .TP
5374
5217
  .B Default:
5375
- .
5376
5218
  \fB100\fP
5377
5219
  .UNINDENT
5378
5220
  .UNINDENT
@@ -5380,12 +5222,10 @@ groonga\-suggest\-create\-dataset /tmp/db\-path query
5380
5222
  \fBconditional_probability_threshold\fP
5381
5223
  .INDENT 0.0
5382
5224
  .INDENT 3.5
5383
- .sp
5384
5225
  条件付き確率に対する閾値を指定します。学習データに対して条件付き確率を使います。ここで使う条件付き確率は、入力した \fBquery\fP と同じ入力があったときにクエリが検索された確率です。返されるレコードの条件付き確率は \fBconditional_probability_threshold\fP 以上になります。
5385
5226
  .INDENT 0.0
5386
5227
  .TP
5387
5228
  .B Default:
5388
- .
5389
5229
  \fB0.2\fP
5390
5230
  .UNINDENT
5391
5231
  .UNINDENT
@@ -5393,7 +5233,6 @@ groonga\-suggest\-create\-dataset /tmp/db\-path query
5393
5233
  .INDENT 0.0
5394
5234
  .TP
5395
5235
  .B \fBprefix_search\fP
5396
- .sp
5397
5236
  補完時に前方一致検索を実行するかどうかを指定します。
5398
5237
  .sp
5399
5238
  指定可能な値は以下の通りです。
@@ -5402,15 +5241,12 @@ groonga\-suggest\-create\-dataset /tmp/db\-path query
5402
5241
  .INDENT 0.0
5403
5242
  .TP
5404
5243
  .B \fByes\fP
5405
- .sp
5406
5244
  常に前方一致検索を実行します。
5407
5245
  .TP
5408
5246
  .B \fBno\fP
5409
- .sp
5410
5247
  前方一致検索を実行しません。
5411
5248
  .TP
5412
5249
  .B \fBauto\fP
5413
- .sp
5414
5250
  他の検索でレコードが見つからない場合のみ前方一致検索を実行します。
5415
5251
  .UNINDENT
5416
5252
  .UNINDENT
@@ -5418,7 +5254,6 @@ groonga\-suggest\-create\-dataset /tmp/db\-path query
5418
5254
  .INDENT 7.0
5419
5255
  .TP
5420
5256
  .B Default:
5421
- .
5422
5257
  \fBauto\fP
5423
5258
  .UNINDENT
5424
5259
  .UNINDENT
@@ -5442,7 +5277,6 @@ groonga\-suggest\-create\-dataset /tmp/db\-path query
5442
5277
  \fBtype\fP
5443
5278
  .INDENT 0.0
5444
5279
  .INDENT 3.5
5445
- .sp
5446
5280
  \fBtypes\fP で指定した値。
5447
5281
  .UNINDENT
5448
5282
  .UNINDENT
@@ -5450,7 +5284,6 @@ groonga\-suggest\-create\-dataset /tmp/db\-path query
5450
5284
  \fBcandidate\fP
5451
5285
  .INDENT 0.0
5452
5286
  .INDENT 3.5
5453
- .sp
5454
5287
  補完・補正・提案候補。
5455
5288
  .UNINDENT
5456
5289
  .UNINDENT
@@ -5458,7 +5291,6 @@ groonga\-suggest\-create\-dataset /tmp/db\-path query
5458
5291
  \fBscore of candidate\fP
5459
5292
  .INDENT 0.0
5460
5293
  .INDENT 3.5
5461
- .sp
5462
5294
  対応する \fBcandidate\fP のスコアです。スコアが高いほど補完・補正・提案候補として有力という意味になります。デフォルトでは候補は \fBscore of candidate\fP の降順でソートされています。
5463
5295
  .UNINDENT
5464
5296
  .UNINDENT
@@ -5479,7 +5311,7 @@ Execution example:
5479
5311
  > {"sequence": "1", "time": 1312950804.76057, "item": "engin"},
5480
5312
  > {"sequence": "1", "time": 1312950805.86057, "item": "engine", "type": "submit"}
5481
5313
  > ]
5482
- [[0,1313562872.82845,1.577141877],6]
5314
+ [[0,1317212843.70335,1.584911917],6]
5483
5315
  .ft P
5484
5316
  .fi
5485
5317
  .sp
@@ -5500,7 +5332,7 @@ Execution example:
5500
5332
  > {"sequence": "2", "time": 1312950809.76057, "item": "serch"},
5501
5333
  > {"sequence": "2", "time": 1312950810.86057, "item": "search", "type": "submit"}
5502
5334
  > ]
5503
- [[0,1313562874.6075,2.004191545],8]
5335
+ [[0,1317212845.48948,2.003051709],8]
5504
5336
  .ft P
5505
5337
  .fi
5506
5338
  .sp
@@ -5515,7 +5347,7 @@ Execution example:
5515
5347
  > {"sequence": "3", "time": 1312950803.86057, "item": "search engine", "type": "submit"},
5516
5348
  > {"sequence": "3", "time": 1312950808.86057, "item": "web search realtime", "type": "submit"}
5517
5349
  > ]
5518
- [[0,1313562876.81305,0.801821271],2]
5350
+ [[0,1317212847.69365,0.801326259],2]
5519
5351
  .ft P
5520
5352
  .fi
5521
5353
  .sp
@@ -5525,8 +5357,8 @@ Execution example:
5525
5357
  .sp
5526
5358
  .nf
5527
5359
  .ft C
5528
- > suggest \-\-table item_query \-\-column kana \-\-types complete \-\-threshold 1 \-\-query en
5529
- [[0,1313562877.81745,0.001827712],{"complete":[[1],[["_key","ShortText"],["_score","Int32"]],["engine",1]]}]
5360
+ > suggest \-\-table item_query \-\-column kana \-\-types complete \-\-frequency_threshold 1 \-\-query en
5361
+ [[0,1317212848.69611,0.00164469],{"complete":[[1],[["_key","ShortText"],["_score","Int32"]],["engine",1]]}]
5530
5362
  .ft P
5531
5363
  .fi
5532
5364
  .sp
@@ -5536,8 +5368,8 @@ Execution example:
5536
5368
  .sp
5537
5369
  .nf
5538
5370
  .ft C
5539
- > suggest \-\-table item_query \-\-column kana \-\-types correct \-\-threshold 1 \-\-query saerch
5540
- [[0,1313562878.02203,0.000442789],{"correct":[[1],[["_key","ShortText"],["_score","Int32"]],["search",1]]}]
5371
+ > suggest \-\-table item_query \-\-column kana \-\-types correct \-\-frequency_threshold 1 \-\-query saerch
5372
+ [[0,1317212848.8995,0.00037794],{"correct":[[1],[["_key","ShortText"],["_score","Int32"]],["search",1]]}]
5541
5373
  .ft P
5542
5374
  .fi
5543
5375
  .sp
@@ -5547,8 +5379,8 @@ Execution example:
5547
5379
  .sp
5548
5380
  .nf
5549
5381
  .ft C
5550
- > suggest \-\-table item_query \-\-column kana \-\-types suggest \-\-threshold 1 \-\-query search
5551
- [[0,1313562878.22422,0.000812428],{"suggest":[[2],[["_key","ShortText"],["_score","Int32"]],["search engine",1],["web search realtime",1]]}]
5382
+ > suggest \-\-table item_query \-\-column kana \-\-types suggest \-\-frequency_threshold 1 \-\-query search
5383
+ [[0,1317212849.10158,0.000376811],{"suggest":[[2],[["_key","ShortText"],["_score","Int32"]],["search engine",1],["web search realtime",1]]}]
5552
5384
  .ft P
5553
5385
  .fi
5554
5386
  .sp
@@ -5558,17 +5390,15 @@ Execution example:
5558
5390
  .sp
5559
5391
  .nf
5560
5392
  .ft C
5561
- > suggest \-\-table item_query \-\-column kana \-\-types complete|correct|suggest \-\-threshold 1 \-\-query search
5562
- [[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]]}]
5393
+ > suggest \-\-table item_query \-\-column kana \-\-types complete|correct|suggest \-\-frequency_threshold 1 \-\-query search
5394
+ [[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]]}]
5563
5395
  .ft P
5564
5396
  .fi
5565
5397
  .SS 参考
5566
5398
  .INDENT 0.0
5567
5399
  .IP \(bu 2
5568
- .
5569
5400
  \fB/suggest\fP
5570
5401
  .IP \(bu 2
5571
- .
5572
5402
  \fB/executables/groonga\-suggest\-create\-dataset\fP
5573
5403
  .UNINDENT
5574
5404
  .SS table_create
@@ -5594,7 +5424,6 @@ table_createコマンドは、使用しているデータベースに対して
5594
5424
  \fBname\fP
5595
5425
  .INDENT 0.0
5596
5426
  .INDENT 3.5
5597
- .sp
5598
5427
  作成するテーブルの名前を指定します。nameはデータベース内で一意な、未定義の名前でなければなりません。組込型名・組込コマンド名・組込関数名は予約済みであり、テーブル名には 使用できません。また、ピリオド(\(aq.\(aq), コロン(\(aq:\(aq)を含む名前のテーブルは作成できません。
5599
5428
  .UNINDENT
5600
5429
  .UNINDENT
@@ -5602,34 +5431,27 @@ table_createコマンドは、使用しているデータベースに対して
5602
5431
  \fBflags\fP
5603
5432
  .INDENT 0.0
5604
5433
  .INDENT 3.5
5605
- .sp
5606
5434
  作成するテーブルの属性を示す数値か、パイプ(\(aq|\(aq)で組み合わせたシンボル名を指定します。(デフォルト値は0(="TABLE_HASH_KEY"))
5607
5435
  .INDENT 0.0
5608
5436
  .INDENT 3.5
5609
5437
  .INDENT 0.0
5610
5438
  .TP
5611
5439
  .B 0, \fBTABLE_HASH_KEY\fP
5612
- .sp
5613
5440
  主キー値をハッシュ表で管理するテーブルを作成します。ハッシュ表を使用したテーブルでは、主キー値に完全一致するレコードを高速に検索することができます。
5614
5441
  .TP
5615
5442
  .B 1, \fBTABLE_PAT_KEY\fP
5616
- .sp
5617
5443
  主キー値をパトリシア木で管理するテーブルを作成します。パトリシア木を使用したテーブルでは、主キー値に完全一致するレコード、前方一致するレコード、および最長共通接頭辞となるレコードを高速に検索することができます。また、キー値の昇降順でレコードを取り出したり、キー値の範囲での検索を行うことができます。また、flagsの値に64を加えることによって、後方一致検索も可能となります。
5618
5444
  .TP
5619
5445
  .B 3, \fBTABLE_NO_KEY\fP
5620
- .sp
5621
5446
  主キーを持たないテーブルを作成します。各レコードはIDのみによって特定することができます。
5622
5447
  .TP
5623
5448
  .B 4, \fBTABLE_VIEW\fP
5624
- .sp
5625
5449
  複数のテーブルをまとめて操作するための仮想的なテーブル(view)を作成します。
5626
5450
  .TP
5627
5451
  .B 64, \fBKEY_WITH_SIS\fP
5628
- .sp
5629
5452
  語彙表となるパトリシア木型のテーブルにおいて、後方一致検索を可能とします。
5630
5453
  .TP
5631
5454
  .B 128, \fBKEY_NORMALIZE\fP
5632
- .sp
5633
5455
  ハッシュ表型か、パトリシア木型のテーブルにおいて、主キー値を正規化した上で登録します。この値が指定されたテーブルではたとえば、主キー値\(aqabc\(aqと\(aqABC\(aq は同一のレコードに対応するものとみなされます。
5634
5456
  .UNINDENT
5635
5457
  .UNINDENT
@@ -5640,7 +5462,6 @@ table_createコマンドは、使用しているデータベースに対して
5640
5462
  \fBkey_type\fP
5641
5463
  .INDENT 0.0
5642
5464
  .INDENT 3.5
5643
- .sp
5644
5465
  主キー値の型を指定します。主キー値を持つテーブルに限り有効です。型にはgroongaの組込型か、同一データベースに定義済みのユーザ定義型、定義済みのテーブルを指定することができます。
5645
5466
  .UNINDENT
5646
5467
  .UNINDENT
@@ -5648,7 +5469,6 @@ table_createコマンドは、使用しているデータベースに対して
5648
5469
  \fBvalue_type\fP
5649
5470
  .INDENT 0.0
5650
5471
  .INDENT 3.5
5651
- .sp
5652
5472
  値の型を指定します。tableの値には固定長の型のみが指定できます。(可変長の値が必要な場合は別途カラムを作成します) 型にはgroongaの組込型か、同一データベースに定義済みのユーザ定義型、またはテーブルを指定することができます。(デフォルトはvalueなし)
5653
5473
  .UNINDENT
5654
5474
  .UNINDENT
@@ -5656,30 +5476,24 @@ table_createコマンドは、使用しているデータベースに対して
5656
5476
  \fBdefault_tokenizer\fP
5657
5477
  .INDENT 0.0
5658
5478
  .INDENT 3.5
5659
- .sp
5660
5479
  作成するテーブルを語彙表として使用する場合、文字列を分割するトークナイザを指定します。
5661
5480
  .sp
5662
5481
  組込のトークナイザとして、以下が準備されています。
5663
5482
  .INDENT 0.0
5664
5483
  .TP
5665
5484
  .B \fBTokenDelimit\fP
5666
- .sp
5667
5485
  空白で区切られた文字列をトークンとする
5668
5486
  .TP
5669
5487
  .B \fBTokenUnigram\fP
5670
- .sp
5671
5488
  unigram(1文字を1トークンとする)
5672
5489
  .TP
5673
5490
  .B \fBTokenBigram\fP
5674
- .sp
5675
5491
  bigram(2文字の文字列要素をトークンとする)
5676
5492
  .TP
5677
5493
  .B \fBTokenTrigram\fP
5678
- .sp
5679
5494
  trigram(3文字の文字列要素をトークンとする)
5680
5495
  .TP
5681
5496
  .B \fBTokenMecab\fP
5682
- .sp
5683
5497
  形態素解析器mecabで解析した形態素をトークンとする。(mecabを組み込んだ場合のみ有効)
5684
5498
  .UNINDENT
5685
5499
  .sp
@@ -5750,14 +5564,12 @@ table_listは、DBに定義されているテーブルのリストを表示し
5750
5564
  \fBテーブル情報名n\fP
5751
5565
  .INDENT 0.0
5752
5566
  .INDENT 3.5
5753
- .sp
5754
5567
  \fBテーブル情報n\fP には複数の情報が含まれますが、そこに入る情報がどんな内容かを示す名前を出力します。
5755
5568
  情報名は以下の通りです。
5756
5569
  .sp
5757
5570
  \fBid\fP
5758
5571
  .INDENT 0.0
5759
5572
  .INDENT 3.5
5760
- .sp
5761
5573
  テーブルオブジェクトに割り当てられたID
5762
5574
  .UNINDENT
5763
5575
  .UNINDENT
@@ -5765,7 +5577,6 @@ table_listは、DBに定義されているテーブルのリストを表示し
5765
5577
  \fBname\fP
5766
5578
  .INDENT 0.0
5767
5579
  .INDENT 3.5
5768
- .sp
5769
5580
  テーブル名
5770
5581
  .UNINDENT
5771
5582
  .UNINDENT
@@ -5773,7 +5584,6 @@ table_listは、DBに定義されているテーブルのリストを表示し
5773
5584
  \fBpath\fP
5774
5585
  .INDENT 0.0
5775
5586
  .INDENT 3.5
5776
- .sp
5777
5587
  テーブルのレコードを格納するファイル名
5778
5588
  .UNINDENT
5779
5589
  .UNINDENT
@@ -5781,7 +5591,6 @@ table_listは、DBに定義されているテーブルのリストを表示し
5781
5591
  \fBflags\fP
5782
5592
  .INDENT 0.0
5783
5593
  .INDENT 3.5
5784
- .sp
5785
5594
  テーブルのflags属性
5786
5595
  .UNINDENT
5787
5596
  .UNINDENT
@@ -5789,7 +5598,6 @@ table_listは、DBに定義されているテーブルのリストを表示し
5789
5598
  \fBdomain\fP
5790
5599
  .INDENT 0.0
5791
5600
  .INDENT 3.5
5792
- .sp
5793
5601
  主キー値の属する型
5794
5602
  .UNINDENT
5795
5603
  .UNINDENT
@@ -5797,7 +5605,6 @@ table_listは、DBに定義されているテーブルのリストを表示し
5797
5605
  \fBrange\fP
5798
5606
  .INDENT 0.0
5799
5607
  .INDENT 3.5
5800
- .sp
5801
5608
  valueが属する型
5802
5609
  .UNINDENT
5803
5610
  .UNINDENT
@@ -5807,7 +5614,6 @@ valueが属する型
5807
5614
  \fBテーブル情報型n\fP
5808
5615
  .INDENT 0.0
5809
5616
  .INDENT 3.5
5810
- .sp
5811
5617
  テーブル情報の型を出力します。
5812
5618
  .UNINDENT
5813
5619
  .UNINDENT
@@ -5815,7 +5621,6 @@ valueが属する型
5815
5621
  \fBテーブル情報n\fP
5816
5622
  .INDENT 0.0
5817
5623
  .INDENT 3.5
5818
- .sp
5819
5624
  \fBテーブル情報名n\fP で示された情報の配列を出力します。
5820
5625
  情報の順序は \fBテーブル情報名n\fP の順序と同じです。
5821
5626
  .UNINDENT
@@ -5868,7 +5673,6 @@ table_removeはテーブルと定義されているカラムを削除します
5868
5673
  .INDENT 0.0
5869
5674
  .TP
5870
5675
  .B \fBtable\fP
5871
- .sp
5872
5676
  削除対象のカラムが定義されているテーブルの名前を指定します。
5873
5677
  .UNINDENT
5874
5678
  .SS 返値
@@ -5913,7 +5717,6 @@ view_addは、view型のテーブルに要素となるテーブルを定義し
5913
5717
  \fBview\fP
5914
5718
  .INDENT 0.0
5915
5719
  .INDENT 3.5
5916
- .sp
5917
5720
  テーブルを追加するview型のテーブルの名前を指定します。
5918
5721
  .UNINDENT
5919
5722
  .UNINDENT
@@ -5921,7 +5724,6 @@ view_addは、view型のテーブルに要素となるテーブルを定義し
5921
5724
  \fBtable\fP
5922
5725
  .INDENT 0.0
5923
5726
  .INDENT 3.5
5924
- .sp
5925
5727
  view型のテーブルに追加されるテーブルの名前を指定します。
5926
5728
  .UNINDENT
5927
5729
  .UNINDENT
@@ -5941,7 +5743,6 @@ view型のテーブルに追加されるテーブルの名前を指定します
5941
5743
  .INDENT 0.0
5942
5744
  .TP
5943
5745
  .B ::
5944
- .
5945
5746
  view_add Ventry Entry
5946
5747
  [true]
5947
5748
  .UNINDENT
@@ -5967,7 +5768,6 @@ groongaのデータベースでは、テーブルの主キーや、カラムの
5967
5768
  \fBObject\fP
5968
5769
  .INDENT 0.0
5969
5770
  .INDENT 3.5
5970
- .sp
5971
5771
  任意のテーブルに属する全てのレコード [1]
5972
5772
  .UNINDENT
5973
5773
  .UNINDENT
@@ -5975,7 +5775,6 @@ groongaのデータベースでは、テーブルの主キーや、カラムの
5975
5775
  \fBBool\fP
5976
5776
  .INDENT 0.0
5977
5777
  .INDENT 3.5
5978
- .sp
5979
5778
  bool型。trueとfalse。
5980
5779
  .UNINDENT
5981
5780
  .UNINDENT
@@ -5983,7 +5782,6 @@ bool型。trueとfalse。
5983
5782
  \fBInt8\fP
5984
5783
  .INDENT 0.0
5985
5784
  .INDENT 3.5
5986
- .sp
5987
5785
  8bit符号付き整数。
5988
5786
  .UNINDENT
5989
5787
  .UNINDENT
@@ -5991,7 +5789,6 @@ bool型。trueとfalse。
5991
5789
  \fBUInt8\fP
5992
5790
  .INDENT 0.0
5993
5791
  .INDENT 3.5
5994
- .sp
5995
5792
  8bit符号なし整数。
5996
5793
  .UNINDENT
5997
5794
  .UNINDENT
@@ -5999,7 +5796,6 @@ bool型。trueとfalse。
5999
5796
  \fBInt16\fP
6000
5797
  .INDENT 0.0
6001
5798
  .INDENT 3.5
6002
- .sp
6003
5799
  16bit符号付き整数。
6004
5800
  .UNINDENT
6005
5801
  .UNINDENT
@@ -6007,7 +5803,6 @@ bool型。trueとfalse。
6007
5803
  \fBUInt16\fP
6008
5804
  .INDENT 0.0
6009
5805
  .INDENT 3.5
6010
- .sp
6011
5806
  16bit符号なし整数。
6012
5807
  .UNINDENT
6013
5808
  .UNINDENT
@@ -6015,7 +5810,6 @@ bool型。trueとfalse。
6015
5810
  \fBInt32\fP
6016
5811
  .INDENT 0.0
6017
5812
  .INDENT 3.5
6018
- .sp
6019
5813
  32bit符号付き整数。
6020
5814
  .UNINDENT
6021
5815
  .UNINDENT
@@ -6023,7 +5817,6 @@ bool型。trueとfalse。
6023
5817
  \fBUInt32\fP
6024
5818
  .INDENT 0.0
6025
5819
  .INDENT 3.5
6026
- .sp
6027
5820
  32bit符号なし整数。
6028
5821
  .UNINDENT
6029
5822
  .UNINDENT
@@ -6031,7 +5824,6 @@ bool型。trueとfalse。
6031
5824
  \fBInt64\fP
6032
5825
  .INDENT 0.0
6033
5826
  .INDENT 3.5
6034
- .sp
6035
5827
  64bit符号付き整数。
6036
5828
  .UNINDENT
6037
5829
  .UNINDENT
@@ -6039,7 +5831,6 @@ bool型。trueとfalse。
6039
5831
  \fBUInt64\fP
6040
5832
  .INDENT 0.0
6041
5833
  .INDENT 3.5
6042
- .sp
6043
5834
  64bit符号なし整数。
6044
5835
  .UNINDENT
6045
5836
  .UNINDENT
@@ -6047,7 +5838,6 @@ bool型。trueとfalse。
6047
5838
  \fBFloat\fP
6048
5839
  .INDENT 0.0
6049
5840
  .INDENT 3.5
6050
- .sp
6051
5841
  ieee754形式の64bit浮動小数点数。
6052
5842
  .UNINDENT
6053
5843
  .UNINDENT
@@ -6055,7 +5845,6 @@ ieee754形式の64bit浮動小数点数。
6055
5845
  \fBTime\fP
6056
5846
  .INDENT 0.0
6057
5847
  .INDENT 3.5
6058
- .sp
6059
5848
  1970年1月1日0時0分0秒からの経過マイクロ秒数を64bit符号付き整数で表現した値。
6060
5849
  .UNINDENT
6061
5850
  .UNINDENT
@@ -6063,7 +5852,6 @@ ieee754形式の64bit浮動小数点数。
6063
5852
  \fBShortText\fP
6064
5853
  .INDENT 0.0
6065
5854
  .INDENT 3.5
6066
- .sp
6067
5855
  4Kbyte以下の文字列。
6068
5856
  .UNINDENT
6069
5857
  .UNINDENT
@@ -6071,7 +5859,6 @@ ieee754形式の64bit浮動小数点数。
6071
5859
  \fBText\fP
6072
5860
  .INDENT 0.0
6073
5861
  .INDENT 3.5
6074
- .sp
6075
5862
  64Kbyte以下の文字列。
6076
5863
  .UNINDENT
6077
5864
  .UNINDENT
@@ -6079,7 +5866,6 @@ ieee754形式の64bit浮動小数点数。
6079
5866
  \fBLongText\fP
6080
5867
  .INDENT 0.0
6081
5868
  .INDENT 3.5
6082
- .sp
6083
5869
  2Gbyte以下の文字列。
6084
5870
  .UNINDENT
6085
5871
  .UNINDENT
@@ -6087,7 +5873,6 @@ ieee754形式の64bit浮動小数点数。
6087
5873
  \fBTokyoGeoPoint\fP
6088
5874
  .INDENT 0.0
6089
5875
  .INDENT 3.5
6090
- .sp
6091
5876
  日本測地系緯度経度座標。緯度と経度はミリ秒単位での整数。
6092
5877
  "経度のミリ秒x緯度のミリ秒"という文字列表現を持つ。
6093
5878
  度分秒形式であれば、x度y分z秒は(((x * 60) + y) * 60 + z) * 1000という計算式で変換した値を代入します。
@@ -6097,7 +5882,6 @@ ieee754形式の64bit浮動小数点数。
6097
5882
  \fBWGS84GeoPoint\fP
6098
5883
  .INDENT 0.0
6099
5884
  .INDENT 3.5
6100
- .sp
6101
5885
  世界測地系緯度経度座標。緯度と経度はミリ秒単位での整数。
6102
5886
  "経度のミリ秒x緯度のミリ秒"という文字列表現を持つ。
6103
5887
  度分秒形式であれば、x度y分z秒は(((x * 60) + y) * 60 + z) * 1000という計算式で変換した値を代入します。
@@ -6114,7 +5898,6 @@ groongaのカラムは、ある型のベクトルを保存することができ
6114
5898
  テーブル型は、ベクトルとして格納することができます。よって、ShortTextのベクトルを保存したい場合には、主キーがShortText型のテーブルを別途作成し、そのテーブルを型として利用します。
6115
5899
  脚注
6116
5900
  .IP [1] 5
6117
- .
6118
5901
  Object型はv1.2でサポートされます。
6119
5902
  .SS 疑似カラム (pseudo_column)
6120
5903
  .SS 名前
@@ -6129,7 +5912,6 @@ groongaのデータベースで作成したテーブルには、いくつかの
6129
5912
  \fB_id\fP
6130
5913
  .INDENT 0.0
6131
5914
  .INDENT 3.5
6132
- .sp
6133
5915
  レコードに付与される一意な番号です。全てのテーブルに定義されます。値の範囲は1〜1073741824の整数で、通常はレコードを追加した順に1ずつ加算されます。_idの値は不変で、レコードが存在する限り変更することはできません。ただし、削除されたレコードの_idの値は再利用されます。
6134
5916
  .UNINDENT
6135
5917
  .UNINDENT
@@ -6137,7 +5919,6 @@ groongaのデータベースで作成したテーブルには、いくつかの
6137
5919
  \fB_key\fP
6138
5920
  .INDENT 0.0
6139
5921
  .INDENT 3.5
6140
- .sp
6141
5922
  レコードの主キー値を表します。主キーを持つテーブルのみに定義されます。主キー値はテーブルの中で一意であり、変更することはできません。
6142
5923
  .UNINDENT
6143
5924
  .UNINDENT
@@ -6145,7 +5926,6 @@ groongaのデータベースで作成したテーブルには、いくつかの
6145
5926
  \fB_value\fP
6146
5927
  .INDENT 0.0
6147
5928
  .INDENT 3.5
6148
- .sp
6149
5929
  レコードの値を表します。value_typeを指定したテーブルのみに定義されます。自由に変更可能です。
6150
5930
  .UNINDENT
6151
5931
  .UNINDENT
@@ -6153,7 +5933,6 @@ groongaのデータベースで作成したテーブルには、いくつかの
6153
5933
  \fB_score\fP
6154
5934
  .INDENT 0.0
6155
5935
  .INDENT 3.5
6156
- .sp
6157
5936
  各レコードのスコア値を表します。検索結果として生成されたテーブルのみに定義されます。
6158
5937
  .sp
6159
5938
  検索処理を実行する過程で値が設定されますが、自由に変更可能です。
@@ -6163,7 +5942,6 @@ groongaのデータベースで作成したテーブルには、いくつかの
6163
5942
  \fB_nsubrecs\fP
6164
5943
  .INDENT 0.0
6165
5944
  .INDENT 3.5
6166
- .sp
6167
5945
  主キーの値が同一であったレコードの件数を表します。検索結果として生成されたテーブルのみに定義されます。グループ化(drilldown)処理を実行すると、グループ化前のテーブルにおいて、グループ化キーの値が同一であったレコードの件数が、グループ化処理の結果を格納するテーブルの_nsubrecsに記録されます。
6168
5946
  .UNINDENT
6169
5947
  .UNINDENT
@@ -6186,15 +5964,12 @@ ECMAScript風の構文で検索条件やレコードへの操作を記述しま
6186
5964
  .INDENT 0.0
6187
5965
  .TP
6188
5966
  .B 引数名
6189
- .
6190
5967
  grn_exprが受け取る引数の名前
6191
5968
  .TP
6192
5969
  .B カラム名
6193
- .
6194
5970
  操作対象としているレコードのカラム名
6195
5971
  .TP
6196
5972
  .B 型名・関数名・テーブル名
6197
- .
6198
5973
  データベースに定義された型・テーブル・関数の名前
6199
5974
  .UNINDENT
6200
5975
  .SS 例
@@ -6202,7 +5977,6 @@ grn_exprが受け取る引数の名前
6202
5977
  script形式でcolumn1の値が\(aqhoge\(aqに等しいという条件
6203
5978
  .INDENT 0.0
6204
5979
  .INDENT 3.5
6205
- .sp
6206
5980
  column1 == "hoge"
6207
5981
  .UNINDENT
6208
5982
  .UNINDENT
@@ -6228,7 +6002,6 @@ edit_distance() 関数は、string1に指定した文字列とstring2に指定
6228
6002
  \fBstring1\fP
6229
6003
  .INDENT 0.0
6230
6004
  .INDENT 3.5
6231
- .sp
6232
6005
  文字列を指定します
6233
6006
  .UNINDENT
6234
6007
  .UNINDENT
@@ -6236,7 +6009,6 @@ edit_distance() 関数は、string1に指定した文字列とstring2に指定
6236
6009
  \fBstring2\fP
6237
6010
  .INDENT 0.0
6238
6011
  .INDENT 3.5
6239
- .sp
6240
6012
  もうひとつの文字列を指定します
6241
6013
  .UNINDENT
6242
6014
  .UNINDENT
@@ -6273,7 +6045,6 @@ geo_distance()の他に、距離計算アルゴリズムの異なる、geo_dista
6273
6045
  \fBpoint1\fP
6274
6046
  .INDENT 0.0
6275
6047
  .INDENT 3.5
6276
- .sp
6277
6048
  距離を求める2点のうち一つを指定します。GeoPoint型の値を指定できます。 [1]
6278
6049
  .UNINDENT
6279
6050
  .UNINDENT
@@ -6281,7 +6052,6 @@ geo_distance()の他に、距離計算アルゴリズムの異なる、geo_dista
6281
6052
  \fBpoint2\fP
6282
6053
  .INDENT 0.0
6283
6054
  .INDENT 3.5
6284
- .sp
6285
6055
  距離を求める2点のうちもう一つを指定します。GeoPoint型の値、あるいは座標を示す文字列を指定できます。
6286
6056
  .UNINDENT
6287
6057
  .UNINDENT
@@ -6298,7 +6068,6 @@ geo_distance(pos, "150x150")
6298
6068
  .fi
6299
6069
  脚注
6300
6070
  .IP [1] 5
6301
- .
6302
6071
  TokyoGeoPoint(日本測地系座標)かWGS84GeoPoint(世界測地系座標)のいずれかを指定できます。
6303
6072
  .SS geo_in_circle
6304
6073
  .SS 名前
@@ -6321,7 +6090,6 @@ geo_in_circle() 関数は、pointに指定した座標が、centerに指定し
6321
6090
  \fBpoint\fP
6322
6091
  .INDENT 0.0
6323
6092
  .INDENT 3.5
6324
- .sp
6325
6093
  円の範囲内に存在するかどうかを調べる座標を指定します。Point型の値を指定できます。 [1]
6326
6094
  .UNINDENT
6327
6095
  .UNINDENT
@@ -6329,7 +6097,6 @@ geo_in_circle() 関数は、pointに指定した座標が、centerに指定し
6329
6097
  \fBcenter\fP
6330
6098
  .INDENT 0.0
6331
6099
  .INDENT 3.5
6332
- .sp
6333
6100
  円の中心となる座標を指定します。Point型の値、あるいは座標を示す文字列を指定できます。
6334
6101
  .UNINDENT
6335
6102
  .UNINDENT
@@ -6337,7 +6104,6 @@ geo_in_circle() 関数は、pointに指定した座標が、centerに指定し
6337
6104
  \fBradious_or_point\fP
6338
6105
  .INDENT 0.0
6339
6106
  .INDENT 3.5
6340
- .sp
6341
6107
  円の半径を指定します。数値を指定した場合には、半径(単位:メートル)が指定されたものとみなします。
6342
6108
  Point型の値、あるいは座標を示す文字列を指定した場合は、円周上の点の一つの座標が指定されたものとみなします。
6343
6109
  .UNINDENT
@@ -6355,7 +6121,6 @@ true
6355
6121
  .fi
6356
6122
  脚注
6357
6123
  .IP [1] 5
6358
- .
6359
6124
  TokyoGeoPoint(日本測地系座標)かWGS84GeoPoint(世界測地系座標)のいずれかを指定できます。
6360
6125
  .SS geo_in_rectangle
6361
6126
  .SS 名前
@@ -6378,7 +6143,6 @@ geo_in_rectangle() 関数は、pointに指定した座標が、top_leftとbottom
6378
6143
  \fBpoint\fP
6379
6144
  .INDENT 0.0
6380
6145
  .INDENT 3.5
6381
- .sp
6382
6146
  矩形の範囲内に存在するかどうかを調べる座標を指定します。Point型の値を指定できます。 [1]
6383
6147
  .UNINDENT
6384
6148
  .UNINDENT
@@ -6386,7 +6150,6 @@ geo_in_rectangle() 関数は、pointに指定した座標が、top_leftとbottom
6386
6150
  \fBtop_left\fP
6387
6151
  .INDENT 0.0
6388
6152
  .INDENT 3.5
6389
- .sp
6390
6153
  矩形の左上隅となる座標を指定します。Point型の値、あるいは座標を示す文字列を指定できます。
6391
6154
  .UNINDENT
6392
6155
  .UNINDENT
@@ -6394,7 +6157,6 @@ geo_in_rectangle() 関数は、pointに指定した座標が、top_leftとbottom
6394
6157
  \fBbottom_right\fP
6395
6158
  .INDENT 0.0
6396
6159
  .INDENT 3.5
6397
- .sp
6398
6160
  矩形の右下隅となる座標を指定します。Point型の値、あるいは座標を示す文字列を指定できます。
6399
6161
  .UNINDENT
6400
6162
  .UNINDENT
@@ -6411,7 +6173,6 @@ true
6411
6173
  .fi
6412
6174
  脚注
6413
6175
  .IP [1] 5
6414
- .
6415
6176
  TokyoGeoPoint(日本測地系座標)かWGS84GeoPoint(世界測地系座標)のいずれかを指定できます。
6416
6177
  .SS now
6417
6178
  .SS 名前
@@ -6461,7 +6222,6 @@ rand() 関数は 0 から max の間の疑似乱数整数を返します。
6461
6222
  \fBmax\fP
6462
6223
  .INDENT 0.0
6463
6224
  .INDENT 3.5
6464
- .sp
6465
6225
  返値の最大値を指定します。省略した場合は RAND_MAX が指定されたものとみなされます。
6466
6226
  .UNINDENT
6467
6227
  .UNINDENT
@@ -6500,7 +6260,6 @@ Process log uses the following format:
6500
6260
  .INDENT 0.0
6501
6261
  .TP
6502
6262
  .B TIME_STAMP
6503
- .
6504
6263
  It\(aqs time stamp uses the following format:
6505
6264
  .sp
6506
6265
  .nf
@@ -6511,31 +6270,24 @@ YYYY\-MM\-DD hh:mm:ss.SSSSSS
6511
6270
  .INDENT 7.0
6512
6271
  .TP
6513
6272
  .B YYYY
6514
- .
6515
6273
  Year with four digits.
6516
6274
  .TP
6517
6275
  .B MM
6518
- .
6519
6276
  Month with two digits.
6520
6277
  .TP
6521
6278
  .B DD
6522
- .
6523
6279
  Day with two digits.
6524
6280
  .TP
6525
6281
  .B hh
6526
- .
6527
6282
  Hour with two digits.
6528
6283
  .TP
6529
6284
  .B mm
6530
- .
6531
6285
  Minute with two digits.
6532
6286
  .TP
6533
6287
  .B ss
6534
- .
6535
6288
  Second with two digits.
6536
6289
  .TP
6537
6290
  .B SSSSSS
6538
- .
6539
6291
  Microsecond with six digits.
6540
6292
  .UNINDENT
6541
6293
  .sp
@@ -6548,45 +6300,35 @@ Example:
6548
6300
  .fi
6549
6301
  .TP
6550
6302
  .B L
6551
- .
6552
6303
  Log level with a character. Here is a character and log
6553
6304
  level map.
6554
6305
  .INDENT 7.0
6555
6306
  .TP
6556
6307
  .B E
6557
- .
6558
6308
  Emergency
6559
6309
  .TP
6560
6310
  .B A
6561
- .
6562
6311
  Alert
6563
6312
  .TP
6564
6313
  .B C
6565
- .
6566
6314
  Critical
6567
6315
  .TP
6568
6316
  .B e
6569
- .
6570
6317
  Error
6571
6318
  .TP
6572
6319
  .B w
6573
- .
6574
6320
  Warning
6575
6321
  .TP
6576
6322
  .B n
6577
- .
6578
6323
  Notification
6579
6324
  .TP
6580
6325
  .B i
6581
- .
6582
6326
  Information
6583
6327
  .TP
6584
6328
  .B d
6585
- .
6586
6329
  Debug
6587
6330
  .TP
6588
6331
  .B \-
6589
- .
6590
6332
  Dump
6591
6333
  .UNINDENT
6592
6334
  .sp
@@ -6599,7 +6341,6 @@ E
6599
6341
  .fi
6600
6342
  .TP
6601
6343
  .B MESSAGE
6602
- .
6603
6344
  Details about the log with free format.
6604
6345
  .sp
6605
6346
  Example:
@@ -6638,7 +6379,6 @@ Query log uses the following formats:
6638
6379
  .INDENT 0.0
6639
6380
  .TP
6640
6381
  .B TIME_STAMP
6641
- .
6642
6382
  It\(aqs time stamp uses the following format:
6643
6383
  .sp
6644
6384
  .nf
@@ -6649,31 +6389,24 @@ YYYY\-MM\-DD hh:mm:ss.SSSSSS
6649
6389
  .INDENT 7.0
6650
6390
  .TP
6651
6391
  .B YYYY
6652
- .
6653
6392
  Year with four digits.
6654
6393
  .TP
6655
6394
  .B MM
6656
- .
6657
6395
  Month with two digits.
6658
6396
  .TP
6659
6397
  .B DD
6660
- .
6661
6398
  Day with two digits.
6662
6399
  .TP
6663
6400
  .B hh
6664
- .
6665
6401
  Hour with two digits.
6666
6402
  .TP
6667
6403
  .B mm
6668
- .
6669
6404
  Minute with two digits.
6670
6405
  .TP
6671
6406
  .B ss
6672
- .
6673
6407
  Second with two digits.
6674
6408
  .TP
6675
6409
  .B SSSSSS
6676
- .
6677
6410
  Microsecond with six digits.
6678
6411
  .UNINDENT
6679
6412
  .sp
@@ -6686,7 +6419,6 @@ Example:
6686
6419
  .fi
6687
6420
  .TP
6688
6421
  .B ID
6689
- .
6690
6422
  ID of a thread. Groonga process creates threads to process
6691
6423
  requests concurrently. Each thread outputs some logs for a
6692
6424
  request. This ID can be used to extract a log sequence by
@@ -6703,23 +6435,19 @@ Example:
6703
6435
  .INDENT 0.0
6704
6436
  .TP
6705
6437
  .B >
6706
- .
6707
6438
  A character that indicates query is started.
6708
6439
  .UNINDENT
6709
6440
  .INDENT 0.0
6710
6441
  .TP
6711
6442
  .B :
6712
- .
6713
6443
  A character that indicates query is processing.
6714
6444
  .UNINDENT
6715
6445
  .INDENT 0.0
6716
6446
  .TP
6717
6447
  .B <
6718
- .
6719
6448
  A character that indicates query is finished.
6720
6449
  .TP
6721
6450
  .B MESSAGE
6722
- .
6723
6451
  Details about the log with free format.
6724
6452
  .sp
6725
6453
  Example:
@@ -6731,7 +6459,6 @@ query log opened.
6731
6459
  .fi
6732
6460
  .TP
6733
6461
  .B QUERY
6734
- .
6735
6462
  A query to be processed.
6736
6463
  .sp
6737
6464
  Example:
@@ -6743,7 +6470,6 @@ select users \-\-match_columns hobby \-\-query music
6743
6470
  .fi
6744
6471
  .TP
6745
6472
  .B ELAPSED_TIME
6746
- .
6747
6473
  Elapsed time in nanoseconds since query is started.
6748
6474
  .sp
6749
6475
  Example:
@@ -6756,7 +6482,6 @@ Example:
6756
6482
  .fi
6757
6483
  .TP
6758
6484
  .B PROGRESS
6759
- .
6760
6485
  A processed work at the time.
6761
6486
  .sp
6762
6487
  Example:
@@ -6769,7 +6494,6 @@ select(313401)
6769
6494
  .fi
6770
6495
  .TP
6771
6496
  .B RETURN_CODE
6772
- .
6773
6497
  A return code for the query.
6774
6498
  .sp
6775
6499
  Example:
@@ -6802,13 +6526,10 @@ Example:
6802
6526
  検索の挙動には以下の3種類あり、検索結果によって動的に使い分けています。
6803
6527
  .INDENT 0.0
6804
6528
  .IP 1. 3
6805
- .
6806
6529
  完全一致検索
6807
6530
  .IP 2. 3
6808
- .
6809
6531
  非わかち書き検索
6810
6532
  .IP 3. 3
6811
- .
6812
6533
  部分一致検索
6813
6534
  .UNINDENT
6814
6535
  .sp
@@ -6823,7 +6544,6 @@ Example:
6823
6544
  たとえば、TokenMecabトークナイザを使用した索引では「東京都民」という文字列は
6824
6545
  .INDENT 0.0
6825
6546
  .INDENT 3.5
6826
- .sp
6827
6547
  東京 / 都民
6828
6548
  .UNINDENT
6829
6549
  .UNINDENT
@@ -6831,7 +6551,6 @@ Example:
6831
6551
  という二つの語彙の配列として格納されます。この索引に対して「東京都」というキーワードで検索した時、このキーワードは、
6832
6552
  .INDENT 0.0
6833
6553
  .INDENT 3.5
6834
- .sp
6835
6554
  東京 / 都
6836
6555
  .UNINDENT
6837
6556
  .UNINDENT
@@ -6841,7 +6560,6 @@ Example:
6841
6560
  これに対して、TokenBigramトークナイザを使用した索引では「東京都民」という文字列は
6842
6561
  .INDENT 0.0
6843
6562
  .INDENT 3.5
6844
- .sp
6845
6563
  東京 / 京都 / 都民 / 民
6846
6564
  .UNINDENT
6847
6565
  .UNINDENT
@@ -6849,7 +6567,6 @@ Example:
6849
6567
  という四つの語彙の配列として格納されます。この索引に対して「東京都」というキーワードで検索した時、このキーワードは、
6850
6568
  .INDENT 0.0
6851
6569
  .INDENT 3.5
6852
- .sp
6853
6570
  東京 / 京都
6854
6571
  .UNINDENT
6855
6572
  .UNINDENT
@@ -6859,7 +6576,6 @@ Example:
6859
6576
  なお、TokenBigramトークナイザでは、アルファベット・数値・記号文字列についてはbigramを生成せず、一つの連続したトークンとして扱います。たとえば、「楽しいbilliard」という文字列は、
6860
6577
  .INDENT 0.0
6861
6578
  .INDENT 3.5
6862
- .sp
6863
6579
  楽し / しい / billiard
6864
6580
  .UNINDENT
6865
6581
  .UNINDENT
@@ -6867,7 +6583,6 @@ Example:
6867
6583
  という三つの語彙の配列として格納されます。これに対して「bill」というキーワードで検索した時、このキーワードは、
6868
6584
  .INDENT 0.0
6869
6585
  .INDENT 3.5
6870
- .sp
6871
6586
  bill
6872
6587
  .UNINDENT
6873
6588
  .UNINDENT
@@ -6877,7 +6592,6 @@ bill
6877
6592
  これに対して、TokenBigramSplitSymbolAlphaトークナイザではアルファベット文字列についてもbigramを生成し、「楽しいbilliard」という文字列は、
6878
6593
  .INDENT 0.0
6879
6594
  .INDENT 3.5
6880
- .sp
6881
6595
  楽し / しい / いb / bi / il / ll / li / ia / ar / rd / d
6882
6596
  .UNINDENT
6883
6597
  .UNINDENT
@@ -6885,7 +6599,6 @@ bill
6885
6599
  という十一の語彙の配列として格納されます。これに対して「bill」というキーワードで検索した時、このキーワードは、
6886
6600
  .INDENT 0.0
6887
6601
  .INDENT 3.5
6888
- .sp
6889
6602
  bi / il / ll
6890
6603
  .UNINDENT
6891
6604
  .UNINDENT
@@ -6948,13 +6661,10 @@ groongaにはいくつか制限事項があります。
6948
6661
  1つのインデックスにおける論理上の上限値は以下のとおりです。
6949
6662
  .INDENT 0.0
6950
6663
  .IP \(bu 2
6951
- .
6952
6664
  最大レコード数: 268,435,455 (約2億6千万)
6953
6665
  .IP \(bu 2
6954
- .
6955
6666
  最大語彙数: 268,435,455 (約2億6千万)
6956
6667
  .IP \(bu 2
6957
- .
6958
6668
  最大インデックスサイズ: 256GByte
6959
6669
  .UNINDENT
6960
6670
  .sp
@@ -7026,13 +6736,10 @@ load \-\-table Blogs
7026
6736
  検索の挙動には以下の3種類があります。
7027
6737
  .INDENT 0.0
7028
6738
  .IP 1. 3
7029
- .
7030
6739
  完全一致検索
7031
6740
  .IP 2. 3
7032
- .
7033
6741
  非わかち書き検索
7034
6742
  .IP 3. 3
7035
- .
7036
6743
  部分一致検索
7037
6744
  .UNINDENT
7038
6745
  .sp
@@ -7041,7 +6748,6 @@ groongaは基本的に完全一致検索のみを行います。上記の例で
7041
6748
  検索対象の「東京都民に深刻なダメージを与えました。」は
7042
6749
  .INDENT 0.0
7043
6750
  .INDENT 3.5
7044
- .sp
7045
6751
  東京 / 都民 / に / 深刻 / な / ダメージ / を / 与え / まし / た / 。
7046
6752
  .UNINDENT
7047
6753
  .UNINDENT
@@ -7049,7 +6755,6 @@ groongaは基本的に完全一致検索のみを行います。上記の例で
7049
6755
  とトークナイズされますが、クエリの「東京都」は
7050
6756
  .INDENT 0.0
7051
6757
  .INDENT 3.5
7052
- .sp
7053
6758
  東京 / 都
7054
6759
  .UNINDENT
7055
6760
  .UNINDENT
@@ -7107,7 +6812,6 @@ column_create Bigram blog_body COLUMN_INDEX|WITH_POSITION Blogs body
7107
6812
  この例は日本語だったのでTokenBigramトークナイザーでよかったのですが、アルファベットの場合はTokenBigramSplitSymbolAlphaトークナイザーなども利用する必要があります。例えば、「楽しいbilliard」はTokenBigramトークナイザーでは
7108
6813
  .INDENT 0.0
7109
6814
  .INDENT 3.5
7110
- .sp
7111
6815
  楽し / しい / billiard
7112
6816
  .UNINDENT
7113
6817
  .UNINDENT
@@ -7115,7 +6819,6 @@ column_create Bigram blog_body COLUMN_INDEX|WITH_POSITION Blogs body
7115
6819
  となり、「bill」では完全一致しません。一方、TokenBigramSplitSymbolAlphaトークナイザーを使うと
7116
6820
  .INDENT 0.0
7117
6821
  .INDENT 3.5
7118
- .sp
7119
6822
  楽し / しい / いb / bi / il / ll / li / ia / ar / rd / d
7120
6823
  .UNINDENT
7121
6824
  .UNINDENT
@@ -7127,28 +6830,20 @@ TokenBigramSplitSymbolAlphaトークナイザーを使う場合も重み付け
7127
6830
  利用できるバイグラム系のトークナイザーの一覧は以下の通りです。
7128
6831
  .INDENT 0.0
7129
6832
  .IP \(bu 2
7130
- .
7131
6833
  TokenBigram: バイグラムでトークナイズする。連続する記号・アルファベット・数字は一語として扱う。
7132
6834
  .IP \(bu 2
7133
- .
7134
6835
  TokenBigramSplitSymbol: 記号もバイグラムでトークナイズする。連続するアルファベット・数字は一語として扱う。
7135
6836
  .IP \(bu 2
7136
- .
7137
6837
  TokenBigramSplitSymbolAlpha: 記号とアルファベットもバイグラムでトークナイズする。連続する数字は一語として扱う。
7138
6838
  .IP \(bu 2
7139
- .
7140
6839
  TokenBigramSplitSymbolAlphaDigit: 記号・アルファベット・数字もバイグラムでトークナイズする。
7141
6840
  .IP \(bu 2
7142
- .
7143
6841
  TokenBigramIgnoreBlank: バイグラムでトークナイズする。連続する記号・アルファベット・数字は一語として扱う。空白は無視する。
7144
6842
  .IP \(bu 2
7145
- .
7146
6843
  TokenBigramIgnoreBlankSplitSymbol: 記号もバイグラムでトークナイズする。連続するアルファベット・数字は一語として扱う。空白は無視する。
7147
6844
  .IP \(bu 2
7148
- .
7149
6845
  TokenBigramIgnoreBlankSplitSymbolAlpha: 記号とアルファベットもバイグラムでトークナイズする。連続する数字は一語として扱う。空白は無視する。
7150
6846
  .IP \(bu 2
7151
- .
7152
6847
  TokenBigramIgnoreBlankSplitSymbolAlphaDigit: 記号・アルファベット・数字もバイグラムでトークナイズする。空白は無視する。
7153
6848
  .UNINDENT
7154
6849
  .SS 対策方法2: 閾値をあげる
@@ -7168,15 +6863,12 @@ groongaプロジェクトではみなさんからのコントリビュートを
7168
6863
  .INDENT 0.0
7169
6864
  .TP
7170
6865
  .B Use:
7171
- .
7172
6866
  このドキュメントを読んでください。
7173
6867
  .TP
7174
6868
  .B Introduction:
7175
- .
7176
6869
  groongaについてまわりの人に話してください。
7177
6870
  .TP
7178
6871
  .B Bug report, development and documentation:
7179
- .
7180
6872
  これらについてはこのセクションで説明します。
7181
6873
  .UNINDENT
7182
6874
  .SS バグレポートの送り方
@@ -7187,34 +6879,24 @@ groonga用の課題追跡システム(ITS, Issue Tracking System)が2つあ
7187
6879
  .SS gqtpでのアーキテクチャ
7188
6880
  .INDENT 0.0
7189
6881
  .IP \(bu 2
7190
- .
7191
6882
  comが外部からの接続を受け付ける。
7192
6883
  .IP \(bu 2
7193
- .
7194
6884
  comは1スレッド。
7195
6885
  .IP \(bu 2
7196
- .
7197
6886
  comがedgeを作る。
7198
6887
  .IP \(bu 2
7199
- .
7200
6888
  edgeは接続と1対1対応。
7201
6889
  .IP \(bu 2
7202
- .
7203
6890
  edgeはctxを含む。
7204
6891
  .IP \(bu 2
7205
- .
7206
6892
  workerはthreadと1対1対応。
7207
6893
  .IP \(bu 2
7208
- .
7209
6894
  workerは上限が個定数。
7210
6895
  .IP \(bu 2
7211
- .
7212
6896
  workerは、1つのedgeと結びつくことができる。
7213
6897
  .IP \(bu 2
7214
- .
7215
6898
  edgeごとにqueueを持つ。
7216
6899
  .IP \(bu 2
7217
- .
7218
6900
  msgはcomによって、edgeのqueueにenqueueされる。
7219
6901
  edgeがworkerに結びついていないときは、同時に、ctx_newというqueueに、msgをenqueueした対象のedgeをenqueueする。
7220
6902
  .UNINDENT
@@ -7597,25 +7279,18 @@ doc/source/*.txtを更新したら、翻訳を始めます。
7597
7279
  これが翻訳の流れです:
7598
7280
  .INDENT 0.0
7599
7281
  .IP 1. 3
7600
- .
7601
7282
  groongaのリポジトリをcloneします。
7602
7283
  .IP 2. 3
7603
- .
7604
7284
  .poファイルを更新します。
7605
7285
  .IP 3. 3
7606
- .
7607
7286
  .poファイルを編集します。
7608
7287
  .IP 4. 3
7609
- .
7610
7288
  HTMLファイルを生成します。
7611
7289
  .IP 5. 3
7612
- .
7613
7290
  HTMLの出力を確認します。
7614
7291
  .IP 6. 3
7615
- .
7616
7292
  翻訳が完了するまで、2.\-4.を繰り返します。
7617
7293
  .IP 7. 3
7618
- .
7619
7294
  翻訳作業の成果をgroongaプロジェクトに送ってください!
7620
7295
  .UNINDENT
7621
7296
  .sp
@@ -7677,20 +7352,17 @@ doc/locale/${LANGUAGE}/LC_MESSAGESディレクトリで \fImake update\fP を実
7677
7352
  .INDENT 0.0
7678
7353
  .TP
7679
7354
  .B Emacs\(aqs \fI\%po-mode\fP
7680
- .sp
7681
7355
  gettextに同梱されています。
7682
7356
  .TP
7683
7357
  .B \fI\%Poedit\fP
7684
- .sp
7685
7358
  .po専用エディタです。たくさんのプラットフォームで動作します。
7686
7359
  .TP
7687
7360
  .B gted
7688
- .
7689
7361
  これも.po専用エディタです。Eclipseプラグインとして実装されています。
7690
7362
  .UNINDENT
7691
7363
  .SS HTMLファイルの生成方法
7692
7364
  .sp
7693
- doc/locale/${LANGUAGE}/LC_MESSAGESディレクトリで \fImake html\fP を実行すると更新した.poファイルを使ってHTMLファイルを生成できます。(\(ga${LANGUAGE}\(ga は\(aqja\(aqなど自分の言語の言語コードに置き換えてください。):
7365
+ doc/locale/${LANGUAGE}/LC_MESSAGESディレクトリで \fImake update\fP を実行すると.poファイルを更新できます。(\(ga${LANGUAGE}\(ga は\(aqja\(aqなど自分の言語の言語コードに置き換えてください。):
7694
7366
  .sp
7695
7367
  .nf
7696
7368
  .ft C
@@ -7698,8 +7370,16 @@ doc/locale/${LANGUAGE}/LC_MESSAGESディレクトリで \fImake html\fP を実
7698
7370
  % make html
7699
7371
  .ft P
7700
7372
  .fi
7373
+ .sp
7374
+ 全ての言語のHTMLファイルを生成するにはdoc/locale/ディレクトリで \fImake html\fP を実行します。:
7375
+ .sp
7376
+ .nf
7377
+ .ft C
7378
+ % cd doc/locale
7379
+ % make html
7380
+ .ft P
7381
+ .fi
7701
7382
  .IP ノート
7702
- .
7703
7383
  .moファイルは \fImake html\fP で自動的に更新されるので、.moファイルのことを気にする必要はありません。
7704
7384
  .RE
7705
7385
  .SS HTML出力の確認の仕方
@@ -7773,13 +7453,10 @@ doc/locale/${LANGUAGE}/LC_MESSAGES/以下を.tar.gzや.zipなどでアーカイ
7773
7453
  .RE
7774
7454
  .INDENT 0.0
7775
7455
  .IP \(bu 2
7776
- .
7777
7456
  \fIgenindex\fP
7778
7457
  .IP \(bu 2
7779
- .
7780
7458
  \fImodindex\fP
7781
7459
  .IP \(bu 2
7782
- .
7783
7460
  \fIsearch\fP
7784
7461
  .UNINDENT
7785
7462
  .SH AUTHOR