rroonga 2.0.7-x86-mingw32 → 2.0.8-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (403) hide show
  1. data/ext/groonga/rb-grn.h +1 -1
  2. data/lib/1.8/groonga.so +0 -0
  3. data/lib/1.9/groonga.so +0 -0
  4. data/rroonga-build.rb +1 -1
  5. data/vendor/local/bin/groonga-benchmark.exe +0 -0
  6. data/vendor/local/bin/groonga.exe +0 -0
  7. data/vendor/local/bin/libgroonga-0.dll +0 -0
  8. data/vendor/local/bin/libmecab-1.dll +0 -0
  9. data/vendor/local/bin/libmsgpack-3.dll +0 -0
  10. data/vendor/local/bin/libmsgpackc-2.dll +0 -0
  11. data/vendor/local/bin/mecab-config +2 -2
  12. data/vendor/local/bin/mecab.exe +0 -0
  13. data/vendor/local/etc/groonga/httpd/groonga-httpd.conf +2 -2
  14. data/vendor/local/etc/groonga/synonyms.tsv +5 -0
  15. data/vendor/local/include/groonga/groonga.h +77 -4
  16. data/vendor/local/include/groonga/groonga/plugin.h +45 -15
  17. data/vendor/local/include/groonga/groonga/tokenizer.h +62 -12
  18. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.a +0 -0
  19. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.dll +0 -0
  20. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.dll.a +0 -0
  21. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.la +41 -0
  22. data/vendor/local/lib/groonga/plugins/suggest/suggest.a +0 -0
  23. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll +0 -0
  24. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll.a +0 -0
  25. data/vendor/local/lib/groonga/plugins/suggest/suggest.la +2 -2
  26. data/vendor/local/lib/groonga/plugins/table/table.a +0 -0
  27. data/vendor/local/lib/groonga/plugins/table/table.dll +0 -0
  28. data/vendor/local/lib/groonga/plugins/table/table.dll.a +0 -0
  29. data/vendor/local/lib/groonga/plugins/table/table.la +2 -2
  30. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.a +0 -0
  31. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll +0 -0
  32. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll.a +0 -0
  33. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.la +2 -2
  34. data/vendor/local/lib/libgroonga.a +0 -0
  35. data/vendor/local/lib/libgroonga.dll.a +0 -0
  36. data/vendor/local/lib/libgroonga.la +2 -2
  37. data/vendor/local/lib/libmecab.a +0 -0
  38. data/vendor/local/lib/libmecab.dll.a +0 -0
  39. data/vendor/local/lib/libmecab.la +1 -1
  40. data/vendor/local/lib/libmsgpack.a +0 -0
  41. data/vendor/local/lib/libmsgpack.dll.a +0 -0
  42. data/vendor/local/lib/libmsgpack.la +1 -1
  43. data/vendor/local/lib/libmsgpackc.a +0 -0
  44. data/vendor/local/lib/libmsgpackc.dll.a +0 -0
  45. data/vendor/local/lib/libmsgpackc.la +1 -1
  46. data/vendor/local/lib/pkgconfig/groonga.pc +4 -3
  47. data/vendor/local/libexec/mecab/mecab-cost-train.exe +0 -0
  48. data/vendor/local/libexec/mecab/mecab-dict-gen.exe +0 -0
  49. data/vendor/local/libexec/mecab/mecab-dict-index.exe +0 -0
  50. data/vendor/local/libexec/mecab/mecab-system-eval.exe +0 -0
  51. data/vendor/local/libexec/mecab/mecab-test-gen.exe +0 -0
  52. data/vendor/local/share/doc/groonga/en/html/.buildinfo +1 -1
  53. data/vendor/local/share/doc/groonga/en/html/_sources/contribution.txt +3 -3
  54. data/vendor/local/share/doc/groonga/en/html/_sources/contribution/development/release.txt +23 -0
  55. data/vendor/local/share/doc/groonga/en/html/_sources/install/centos.txt +24 -3
  56. data/vendor/local/share/doc/groonga/en/html/_sources/install/debian.txt +3 -3
  57. data/vendor/local/share/doc/groonga/en/html/_sources/install/fedora.txt +13 -3
  58. data/vendor/local/share/doc/groonga/en/html/_sources/install/mac_os_x.txt +3 -3
  59. data/vendor/local/share/doc/groonga/en/html/_sources/install/others.txt +3 -3
  60. data/vendor/local/share/doc/groonga/en/html/_sources/install/solaris.txt +3 -3
  61. data/vendor/local/share/doc/groonga/en/html/_sources/install/ubuntu.txt +42 -3
  62. data/vendor/local/share/doc/groonga/en/html/_sources/install/windows.txt +26 -16
  63. data/vendor/local/share/doc/groonga/en/html/_sources/limitations.txt +12 -2
  64. data/vendor/local/share/doc/groonga/en/html/_sources/news.txt +96 -1
  65. data/vendor/local/share/doc/groonga/en/html/_sources/reference.txt +3 -3
  66. data/vendor/local/share/doc/groonga/en/html/_sources/reference/command.txt +20 -0
  67. data/vendor/local/share/doc/groonga/en/html/_sources/reference/{command_version.txt → command/command_version.txt} +0 -0
  68. data/vendor/local/share/doc/groonga/en/html/_sources/reference/command/output_format.txt +228 -0
  69. data/vendor/local/share/doc/groonga/en/html/_sources/reference/command/return_code.txt +110 -0
  70. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/register.txt +59 -0
  71. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/select.txt +2 -0
  72. data/vendor/local/share/doc/groonga/en/html/_sources/reference/function.txt +20 -0
  73. data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/geo_distance.txt +25 -8
  74. data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/snippet_html.txt +120 -0
  75. data/vendor/local/share/doc/groonga/en/html/_sources/reference/indexing.txt +3 -1
  76. data/vendor/local/share/doc/groonga/{ja/html/_sources/reference/functions.txt → en/html/_sources/reference/query_expanders.txt} +3 -3
  77. data/vendor/local/share/doc/groonga/en/html/_sources/reference/query_expanders/tsv.txt +153 -0
  78. data/vendor/local/share/doc/groonga/en/html/_sources/server/http/comparison.txt +12 -2
  79. data/vendor/local/share/doc/groonga/en/html/_sources/spec/gqtp.txt +214 -0
  80. data/vendor/local/share/doc/groonga/en/html/characteristic.html +5 -5
  81. data/vendor/local/share/doc/groonga/en/html/community.html +5 -5
  82. data/vendor/local/share/doc/groonga/en/html/contribution.html +11 -10
  83. data/vendor/local/share/doc/groonga/en/html/contribution/development.html +5 -5
  84. data/vendor/local/share/doc/groonga/en/html/contribution/development/com.html +5 -5
  85. data/vendor/local/share/doc/groonga/en/html/contribution/development/document.html +5 -5
  86. data/vendor/local/share/doc/groonga/en/html/contribution/development/query.html +5 -5
  87. data/vendor/local/share/doc/groonga/en/html/contribution/development/release.html +42 -19
  88. data/vendor/local/share/doc/groonga/en/html/contribution/development/test.html +5 -5
  89. data/vendor/local/share/doc/groonga/en/html/contribution/documentation.html +5 -5
  90. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/c-api.html +5 -5
  91. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/i18n.html +5 -5
  92. data/vendor/local/share/doc/groonga/en/html/contribution/report.html +5 -5
  93. data/vendor/local/share/doc/groonga/en/html/development.html +5 -5
  94. data/vendor/local/share/doc/groonga/en/html/development/travis-ci.html +5 -5
  95. data/vendor/local/share/doc/groonga/en/html/genindex.html +5 -5
  96. data/vendor/local/share/doc/groonga/en/html/geolocation_search.html +5 -5
  97. data/vendor/local/share/doc/groonga/en/html/index.html +62 -52
  98. data/vendor/local/share/doc/groonga/en/html/install.html +7 -6
  99. data/vendor/local/share/doc/groonga/en/html/install/centos.html +26 -8
  100. data/vendor/local/share/doc/groonga/en/html/install/debian.html +8 -8
  101. data/vendor/local/share/doc/groonga/en/html/install/fedora.html +17 -8
  102. data/vendor/local/share/doc/groonga/en/html/install/mac_os_x.html +8 -8
  103. data/vendor/local/share/doc/groonga/en/html/install/others.html +8 -8
  104. data/vendor/local/share/doc/groonga/en/html/install/solaris.html +8 -8
  105. data/vendor/local/share/doc/groonga/en/html/install/ubuntu.html +47 -10
  106. data/vendor/local/share/doc/groonga/en/html/install/windows.html +25 -16
  107. data/vendor/local/share/doc/groonga/en/html/limitations.html +23 -13
  108. data/vendor/local/share/doc/groonga/en/html/news.html +175 -67
  109. data/vendor/local/share/doc/groonga/en/html/news/0.x.html +5 -5
  110. data/vendor/local/share/doc/groonga/en/html/news/1.0.x.html +5 -5
  111. data/vendor/local/share/doc/groonga/en/html/news/1.1.x.html +5 -5
  112. data/vendor/local/share/doc/groonga/en/html/news/1.2.x.html +5 -5
  113. data/vendor/local/share/doc/groonga/en/html/news/senna.html +5 -5
  114. data/vendor/local/share/doc/groonga/en/html/objects.inv +0 -0
  115. data/vendor/local/share/doc/groonga/en/html/reference.html +43 -41
  116. data/vendor/local/share/doc/groonga/en/html/reference/api.html +5 -5
  117. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_expr.html +5 -5
  118. data/vendor/local/share/doc/groonga/en/html/reference/cast.html +5 -5
  119. data/vendor/local/share/doc/groonga/en/html/reference/{commands.html → command.html} +49 -44
  120. data/vendor/local/share/doc/groonga/en/html/reference/{command_version.html → command/command_version.html} +46 -46
  121. data/vendor/local/share/doc/groonga/en/html/reference/command/output_format.html +356 -0
  122. data/vendor/local/share/doc/groonga/en/html/reference/command/return_code.html +248 -0
  123. data/vendor/local/share/doc/groonga/en/html/reference/commands/cache_limit.html +33 -33
  124. data/vendor/local/share/doc/groonga/en/html/reference/commands/check.html +32 -32
  125. data/vendor/local/share/doc/groonga/en/html/reference/commands/clearlock.html +32 -32
  126. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_create.html +32 -32
  127. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_list.html +32 -32
  128. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_remove.html +32 -32
  129. data/vendor/local/share/doc/groonga/en/html/reference/commands/define_selector.html +34 -34
  130. data/vendor/local/share/doc/groonga/en/html/reference/commands/defrag.html +32 -32
  131. data/vendor/local/share/doc/groonga/en/html/reference/commands/delete.html +32 -32
  132. data/vendor/local/share/doc/groonga/en/html/reference/commands/dump.html +30 -30
  133. data/vendor/local/share/doc/groonga/en/html/reference/commands/load.html +34 -34
  134. data/vendor/local/share/doc/groonga/en/html/reference/commands/log_level.html +34 -34
  135. data/vendor/local/share/doc/groonga/en/html/reference/commands/log_put.html +34 -34
  136. data/vendor/local/share/doc/groonga/en/html/reference/commands/log_reopen.html +36 -36
  137. data/vendor/local/share/doc/groonga/en/html/reference/commands/quit.html +31 -31
  138. data/vendor/local/share/doc/groonga/en/html/reference/commands/register.html +190 -0
  139. data/vendor/local/share/doc/groonga/en/html/reference/commands/select.html +92 -92
  140. data/vendor/local/share/doc/groonga/en/html/reference/commands/shutdown.html +30 -30
  141. data/vendor/local/share/doc/groonga/en/html/reference/commands/status.html +32 -32
  142. data/vendor/local/share/doc/groonga/en/html/reference/commands/suggest.html +34 -34
  143. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_create.html +32 -32
  144. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_list.html +30 -30
  145. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_remove.html +32 -32
  146. data/vendor/local/share/doc/groonga/en/html/reference/commands/view_add.html +32 -32
  147. data/vendor/local/share/doc/groonga/en/html/reference/commands_not_implemented/add.html +5 -5
  148. data/vendor/local/share/doc/groonga/en/html/reference/commands_not_implemented/get.html +5 -5
  149. data/vendor/local/share/doc/groonga/en/html/reference/commands_not_implemented/set.html +5 -5
  150. data/vendor/local/share/doc/groonga/en/html/reference/executables.html +5 -5
  151. data/vendor/local/share/doc/groonga/en/html/reference/executables/grnslap.html +5 -5
  152. data/vendor/local/share/doc/groonga/en/html/reference/executables/grntest.html +6 -6
  153. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-httpd.html +5 -5
  154. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-server-http.html +6 -6
  155. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-create-dataset.html +5 -5
  156. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga.html +5 -5
  157. data/vendor/local/share/doc/groonga/en/html/reference/{functions.html → function.html} +15 -9
  158. data/vendor/local/share/doc/groonga/en/html/reference/functions/edit_distance.html +13 -13
  159. data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_distance.html +98 -16
  160. data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_circle.html +8 -8
  161. data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_rectangle.html +8 -8
  162. data/vendor/local/share/doc/groonga/en/html/reference/functions/now.html +8 -8
  163. data/vendor/local/share/doc/groonga/en/html/reference/functions/rand.html +13 -13
  164. data/vendor/local/share/doc/groonga/en/html/reference/functions/snippet_html.html +303 -0
  165. data/vendor/local/share/doc/groonga/en/html/reference/grn_expr.html +5 -5
  166. data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/query_syntax.html +5 -5
  167. data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/script_syntax.html +11 -11
  168. data/vendor/local/share/doc/groonga/en/html/reference/indexing.html +12 -12
  169. data/vendor/local/share/doc/groonga/en/html/reference/log.html +5 -5
  170. data/vendor/local/share/doc/groonga/en/html/reference/output.html +10 -10
  171. data/vendor/local/share/doc/groonga/en/html/reference/pseudo_column.html +10 -10
  172. data/vendor/local/share/doc/groonga/en/html/reference/query_expanders.html +138 -0
  173. data/vendor/local/share/doc/groonga/en/html/reference/query_expanders/tsv.html +315 -0
  174. data/vendor/local/share/doc/groonga/en/html/reference/tokenizers.html +15 -15
  175. data/vendor/local/share/doc/groonga/en/html/reference/type.html +27 -27
  176. data/vendor/local/share/doc/groonga/en/html/search.html +5 -5
  177. data/vendor/local/share/doc/groonga/en/html/searchindex.js +1 -1
  178. data/vendor/local/share/doc/groonga/en/html/server.html +5 -5
  179. data/vendor/local/share/doc/groonga/en/html/server/gqtp.html +5 -5
  180. data/vendor/local/share/doc/groonga/en/html/server/http.html +5 -5
  181. data/vendor/local/share/doc/groonga/en/html/server/http/comparison.html +19 -8
  182. data/vendor/local/share/doc/groonga/en/html/server/http/groonga-httpd.html +5 -5
  183. data/vendor/local/share/doc/groonga/en/html/server/http/groonga.html +5 -5
  184. data/vendor/local/share/doc/groonga/en/html/spec.html +12 -11
  185. data/vendor/local/share/doc/groonga/en/html/spec/gqtp.html +412 -0
  186. data/vendor/local/share/doc/groonga/en/html/spec/search.html +22 -22
  187. data/vendor/local/share/doc/groonga/en/html/suggest.html +5 -5
  188. data/vendor/local/share/doc/groonga/en/html/suggest/completion.html +5 -5
  189. data/vendor/local/share/doc/groonga/en/html/suggest/correction.html +5 -5
  190. data/vendor/local/share/doc/groonga/en/html/suggest/introduction.html +5 -5
  191. data/vendor/local/share/doc/groonga/en/html/suggest/suggestion.html +5 -5
  192. data/vendor/local/share/doc/groonga/en/html/suggest/tutorial.html +5 -5
  193. data/vendor/local/share/doc/groonga/en/html/troubleshooting.html +5 -5
  194. data/vendor/local/share/doc/groonga/en/html/troubleshooting/different_results_with_the_same_keyword.html +5 -5
  195. data/vendor/local/share/doc/groonga/en/html/tutorial.html +5 -5
  196. data/vendor/local/share/doc/groonga/en/html/tutorial/data.html +5 -5
  197. data/vendor/local/share/doc/groonga/en/html/tutorial/drilldown.html +5 -5
  198. data/vendor/local/share/doc/groonga/en/html/tutorial/index.html +5 -5
  199. data/vendor/local/share/doc/groonga/en/html/tutorial/introduction.html +5 -5
  200. data/vendor/local/share/doc/groonga/en/html/tutorial/lexicon.html +5 -5
  201. data/vendor/local/share/doc/groonga/en/html/tutorial/match_columns.html +5 -5
  202. data/vendor/local/share/doc/groonga/en/html/tutorial/micro_blog.html +5 -5
  203. data/vendor/local/share/doc/groonga/en/html/tutorial/network.html +5 -5
  204. data/vendor/local/share/doc/groonga/en/html/tutorial/patricia_trie.html +5 -5
  205. data/vendor/local/share/doc/groonga/en/html/tutorial/query_expansion.html +5 -5
  206. data/vendor/local/share/doc/groonga/en/html/tutorial/search.html +5 -5
  207. data/vendor/local/share/doc/groonga/ja/html/.buildinfo +1 -1
  208. data/vendor/local/share/doc/groonga/ja/html/_sources/contribution.txt +3 -3
  209. data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/development/release.txt +23 -0
  210. data/vendor/local/share/doc/groonga/ja/html/_sources/install/centos.txt +24 -3
  211. data/vendor/local/share/doc/groonga/ja/html/_sources/install/debian.txt +3 -3
  212. data/vendor/local/share/doc/groonga/ja/html/_sources/install/fedora.txt +13 -3
  213. data/vendor/local/share/doc/groonga/ja/html/_sources/install/mac_os_x.txt +3 -3
  214. data/vendor/local/share/doc/groonga/ja/html/_sources/install/others.txt +3 -3
  215. data/vendor/local/share/doc/groonga/ja/html/_sources/install/solaris.txt +3 -3
  216. data/vendor/local/share/doc/groonga/ja/html/_sources/install/ubuntu.txt +42 -3
  217. data/vendor/local/share/doc/groonga/ja/html/_sources/install/windows.txt +26 -16
  218. data/vendor/local/share/doc/groonga/ja/html/_sources/limitations.txt +12 -2
  219. data/vendor/local/share/doc/groonga/ja/html/_sources/news.txt +96 -1
  220. data/vendor/local/share/doc/groonga/ja/html/_sources/reference.txt +3 -3
  221. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/command.txt +20 -0
  222. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/{command_version.txt → command/command_version.txt} +0 -0
  223. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/command/output_format.txt +228 -0
  224. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/command/return_code.txt +110 -0
  225. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/register.txt +59 -0
  226. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/select.txt +2 -0
  227. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/function.txt +20 -0
  228. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/geo_distance.txt +25 -8
  229. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/snippet_html.txt +120 -0
  230. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/indexing.txt +3 -1
  231. data/vendor/local/share/doc/groonga/{source/reference/functions.txt → ja/html/_sources/reference/query_expanders.txt} +3 -3
  232. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/query_expanders/tsv.txt +153 -0
  233. data/vendor/local/share/doc/groonga/ja/html/_sources/server/http/comparison.txt +12 -2
  234. data/vendor/local/share/doc/groonga/ja/html/_sources/spec/gqtp.txt +214 -0
  235. data/vendor/local/share/doc/groonga/ja/html/characteristic.html +5 -5
  236. data/vendor/local/share/doc/groonga/ja/html/community.html +5 -5
  237. data/vendor/local/share/doc/groonga/ja/html/contribution.html +11 -10
  238. data/vendor/local/share/doc/groonga/ja/html/contribution/development.html +5 -5
  239. data/vendor/local/share/doc/groonga/ja/html/contribution/development/com.html +5 -5
  240. data/vendor/local/share/doc/groonga/ja/html/contribution/development/document.html +5 -5
  241. data/vendor/local/share/doc/groonga/ja/html/contribution/development/query.html +5 -5
  242. data/vendor/local/share/doc/groonga/ja/html/contribution/development/release.html +42 -19
  243. data/vendor/local/share/doc/groonga/ja/html/contribution/development/test.html +5 -5
  244. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation.html +5 -5
  245. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/c-api.html +5 -5
  246. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/i18n.html +5 -5
  247. data/vendor/local/share/doc/groonga/ja/html/contribution/report.html +5 -5
  248. data/vendor/local/share/doc/groonga/ja/html/development.html +5 -5
  249. data/vendor/local/share/doc/groonga/ja/html/development/travis-ci.html +5 -5
  250. data/vendor/local/share/doc/groonga/ja/html/genindex.html +5 -5
  251. data/vendor/local/share/doc/groonga/ja/html/geolocation_search.html +5 -5
  252. data/vendor/local/share/doc/groonga/ja/html/index.html +63 -53
  253. data/vendor/local/share/doc/groonga/ja/html/install.html +7 -6
  254. data/vendor/local/share/doc/groonga/ja/html/install/centos.html +26 -8
  255. data/vendor/local/share/doc/groonga/ja/html/install/debian.html +8 -8
  256. data/vendor/local/share/doc/groonga/ja/html/install/fedora.html +17 -8
  257. data/vendor/local/share/doc/groonga/ja/html/install/mac_os_x.html +8 -8
  258. data/vendor/local/share/doc/groonga/ja/html/install/others.html +8 -8
  259. data/vendor/local/share/doc/groonga/ja/html/install/solaris.html +8 -8
  260. data/vendor/local/share/doc/groonga/ja/html/install/ubuntu.html +45 -10
  261. data/vendor/local/share/doc/groonga/ja/html/install/windows.html +25 -16
  262. data/vendor/local/share/doc/groonga/ja/html/limitations.html +21 -11
  263. data/vendor/local/share/doc/groonga/ja/html/news.html +155 -68
  264. data/vendor/local/share/doc/groonga/ja/html/news/0.x.html +5 -5
  265. data/vendor/local/share/doc/groonga/ja/html/news/1.0.x.html +5 -5
  266. data/vendor/local/share/doc/groonga/ja/html/news/1.1.x.html +5 -5
  267. data/vendor/local/share/doc/groonga/ja/html/news/1.2.x.html +5 -5
  268. data/vendor/local/share/doc/groonga/ja/html/news/senna.html +5 -5
  269. data/vendor/local/share/doc/groonga/ja/html/objects.inv +0 -0
  270. data/vendor/local/share/doc/groonga/ja/html/reference.html +44 -42
  271. data/vendor/local/share/doc/groonga/ja/html/reference/api.html +5 -5
  272. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_expr.html +5 -5
  273. data/vendor/local/share/doc/groonga/ja/html/reference/cast.html +5 -5
  274. data/vendor/local/share/doc/groonga/ja/html/reference/{commands.html → command.html} +48 -44
  275. data/vendor/local/share/doc/groonga/ja/html/reference/{command_version.html → command/command_version.html} +47 -47
  276. data/vendor/local/share/doc/groonga/ja/html/reference/command/output_format.html +331 -0
  277. data/vendor/local/share/doc/groonga/ja/html/reference/command/return_code.html +237 -0
  278. data/vendor/local/share/doc/groonga/ja/html/reference/commands/cache_limit.html +33 -33
  279. data/vendor/local/share/doc/groonga/ja/html/reference/commands/check.html +32 -32
  280. data/vendor/local/share/doc/groonga/ja/html/reference/commands/clearlock.html +32 -32
  281. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_create.html +32 -32
  282. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_list.html +32 -32
  283. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_remove.html +32 -32
  284. data/vendor/local/share/doc/groonga/ja/html/reference/commands/define_selector.html +34 -34
  285. data/vendor/local/share/doc/groonga/ja/html/reference/commands/defrag.html +32 -32
  286. data/vendor/local/share/doc/groonga/ja/html/reference/commands/delete.html +32 -32
  287. data/vendor/local/share/doc/groonga/ja/html/reference/commands/dump.html +30 -30
  288. data/vendor/local/share/doc/groonga/ja/html/reference/commands/load.html +34 -34
  289. data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_level.html +34 -34
  290. data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_put.html +34 -34
  291. data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_reopen.html +36 -36
  292. data/vendor/local/share/doc/groonga/ja/html/reference/commands/quit.html +31 -31
  293. data/vendor/local/share/doc/groonga/ja/html/reference/commands/register.html +183 -0
  294. data/vendor/local/share/doc/groonga/ja/html/reference/commands/select.html +107 -107
  295. data/vendor/local/share/doc/groonga/ja/html/reference/commands/shutdown.html +30 -30
  296. data/vendor/local/share/doc/groonga/ja/html/reference/commands/status.html +32 -32
  297. data/vendor/local/share/doc/groonga/ja/html/reference/commands/suggest.html +37 -37
  298. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_create.html +32 -32
  299. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_list.html +30 -30
  300. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_remove.html +32 -32
  301. data/vendor/local/share/doc/groonga/ja/html/reference/commands/view_add.html +32 -32
  302. data/vendor/local/share/doc/groonga/ja/html/reference/commands_not_implemented/add.html +5 -5
  303. data/vendor/local/share/doc/groonga/ja/html/reference/commands_not_implemented/get.html +5 -5
  304. data/vendor/local/share/doc/groonga/ja/html/reference/commands_not_implemented/set.html +5 -5
  305. data/vendor/local/share/doc/groonga/ja/html/reference/executables.html +5 -5
  306. data/vendor/local/share/doc/groonga/ja/html/reference/executables/grnslap.html +5 -5
  307. data/vendor/local/share/doc/groonga/ja/html/reference/executables/grntest.html +6 -6
  308. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-httpd.html +9 -9
  309. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-server-http.html +6 -6
  310. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-create-dataset.html +5 -5
  311. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga.html +5 -5
  312. data/vendor/local/share/doc/groonga/ja/html/reference/{functions.html → function.html} +13 -9
  313. data/vendor/local/share/doc/groonga/ja/html/reference/functions/edit_distance.html +13 -13
  314. data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_distance.html +96 -15
  315. data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_circle.html +8 -8
  316. data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_rectangle.html +8 -8
  317. data/vendor/local/share/doc/groonga/ja/html/reference/functions/now.html +8 -8
  318. data/vendor/local/share/doc/groonga/ja/html/reference/functions/rand.html +13 -13
  319. data/vendor/local/share/doc/groonga/ja/html/reference/functions/snippet_html.html +281 -0
  320. data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr.html +12 -12
  321. data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/query_syntax.html +12 -12
  322. data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/script_syntax.html +17 -17
  323. data/vendor/local/share/doc/groonga/ja/html/reference/indexing.html +12 -12
  324. data/vendor/local/share/doc/groonga/ja/html/reference/log.html +9 -9
  325. data/vendor/local/share/doc/groonga/ja/html/reference/output.html +13 -13
  326. data/vendor/local/share/doc/groonga/ja/html/reference/pseudo_column.html +10 -10
  327. data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders.html +139 -0
  328. data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders/tsv.html +278 -0
  329. data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers.html +15 -15
  330. data/vendor/local/share/doc/groonga/ja/html/reference/type.html +27 -27
  331. data/vendor/local/share/doc/groonga/ja/html/search.html +5 -5
  332. data/vendor/local/share/doc/groonga/ja/html/searchindex.js +1 -1
  333. data/vendor/local/share/doc/groonga/ja/html/server.html +5 -5
  334. data/vendor/local/share/doc/groonga/ja/html/server/gqtp.html +5 -5
  335. data/vendor/local/share/doc/groonga/ja/html/server/http.html +5 -5
  336. data/vendor/local/share/doc/groonga/ja/html/server/http/comparison.html +17 -8
  337. data/vendor/local/share/doc/groonga/ja/html/server/http/groonga-httpd.html +5 -5
  338. data/vendor/local/share/doc/groonga/ja/html/server/http/groonga.html +5 -5
  339. data/vendor/local/share/doc/groonga/ja/html/spec.html +12 -11
  340. data/vendor/local/share/doc/groonga/ja/html/spec/gqtp.html +404 -0
  341. data/vendor/local/share/doc/groonga/ja/html/spec/search.html +22 -22
  342. data/vendor/local/share/doc/groonga/ja/html/suggest.html +5 -5
  343. data/vendor/local/share/doc/groonga/ja/html/suggest/completion.html +5 -5
  344. data/vendor/local/share/doc/groonga/ja/html/suggest/correction.html +5 -5
  345. data/vendor/local/share/doc/groonga/ja/html/suggest/introduction.html +5 -5
  346. data/vendor/local/share/doc/groonga/ja/html/suggest/suggestion.html +5 -5
  347. data/vendor/local/share/doc/groonga/ja/html/suggest/tutorial.html +5 -5
  348. data/vendor/local/share/doc/groonga/ja/html/troubleshooting.html +5 -5
  349. data/vendor/local/share/doc/groonga/ja/html/troubleshooting/different_results_with_the_same_keyword.html +5 -5
  350. data/vendor/local/share/doc/groonga/ja/html/tutorial.html +5 -5
  351. data/vendor/local/share/doc/groonga/ja/html/tutorial/data.html +7 -7
  352. data/vendor/local/share/doc/groonga/ja/html/tutorial/drilldown.html +5 -5
  353. data/vendor/local/share/doc/groonga/ja/html/tutorial/index.html +5 -5
  354. data/vendor/local/share/doc/groonga/ja/html/tutorial/introduction.html +5 -5
  355. data/vendor/local/share/doc/groonga/ja/html/tutorial/lexicon.html +5 -5
  356. data/vendor/local/share/doc/groonga/ja/html/tutorial/match_columns.html +5 -5
  357. data/vendor/local/share/doc/groonga/ja/html/tutorial/micro_blog.html +5 -5
  358. data/vendor/local/share/doc/groonga/ja/html/tutorial/network.html +5 -5
  359. data/vendor/local/share/doc/groonga/ja/html/tutorial/patricia_trie.html +5 -5
  360. data/vendor/local/share/doc/groonga/ja/html/tutorial/query_expansion.html +5 -5
  361. data/vendor/local/share/doc/groonga/ja/html/tutorial/search.html +5 -5
  362. data/vendor/local/share/doc/groonga/source/contribution.txt +3 -3
  363. data/vendor/local/share/doc/groonga/source/contribution/development/release.txt +23 -0
  364. data/vendor/local/share/doc/groonga/source/example/reference/commands/register/query_expanders_tsv.log +4 -0
  365. data/vendor/local/share/doc/groonga/source/example/reference/functions/geo_distance_distance_rectangle_across_equator.log +26 -0
  366. data/vendor/local/share/doc/groonga/source/example/reference/functions/geo_distance_distance_rectangle_across_meridian.log +26 -0
  367. data/vendor/local/share/doc/groonga/source/example/reference/functions/geo_distance_distance_rectangle_across_the_date_line.log +26 -0
  368. data/vendor/local/share/doc/groonga/source/example/reference/functions/snippet_html/usage.log +28 -0
  369. data/vendor/local/share/doc/groonga/source/example/reference/functions/snippet_html/usage_basic.log +29 -0
  370. data/vendor/local/share/doc/groonga/source/example/reference/functions/snippet_html/usage_setup.log +17 -0
  371. data/vendor/local/share/doc/groonga/source/example/reference/functions/snippet_html/usage_string_literal.log +28 -0
  372. data/vendor/local/share/doc/groonga/source/install/centos.txt +24 -3
  373. data/vendor/local/share/doc/groonga/source/install/debian.txt +3 -3
  374. data/vendor/local/share/doc/groonga/source/install/fedora.txt +13 -3
  375. data/vendor/local/share/doc/groonga/source/install/mac_os_x.txt +3 -3
  376. data/vendor/local/share/doc/groonga/source/install/others.txt +3 -3
  377. data/vendor/local/share/doc/groonga/source/install/solaris.txt +3 -3
  378. data/vendor/local/share/doc/groonga/source/install/ubuntu.txt +42 -3
  379. data/vendor/local/share/doc/groonga/source/install/windows.txt +26 -16
  380. data/vendor/local/share/doc/groonga/source/limitations.txt +12 -2
  381. data/vendor/local/share/doc/groonga/source/news.txt +96 -1
  382. data/vendor/local/share/doc/groonga/source/reference.txt +3 -3
  383. data/vendor/local/share/doc/groonga/source/reference/command.txt +20 -0
  384. data/vendor/local/share/doc/groonga/source/reference/{command_version.txt → command/command_version.txt} +0 -0
  385. data/vendor/local/share/doc/groonga/source/reference/command/output_format.txt +228 -0
  386. data/vendor/local/share/doc/groonga/source/reference/command/return_code.txt +110 -0
  387. data/vendor/local/share/doc/groonga/source/reference/commands/register.txt +59 -0
  388. data/vendor/local/share/doc/groonga/source/reference/commands/select.txt +2 -0
  389. data/vendor/local/share/doc/groonga/source/reference/function.txt +20 -0
  390. data/vendor/local/share/doc/groonga/source/reference/functions/geo_distance.txt +25 -8
  391. data/vendor/local/share/doc/groonga/source/reference/functions/snippet_html.txt +120 -0
  392. data/vendor/local/share/doc/groonga/source/reference/indexing.txt +3 -1
  393. data/vendor/local/share/doc/groonga/{en/html/_sources/reference/functions.txt → source/reference/query_expanders.txt} +3 -3
  394. data/vendor/local/share/doc/groonga/source/reference/query_expanders/tsv.txt +153 -0
  395. data/vendor/local/share/doc/groonga/source/server/http/comparison.txt +12 -2
  396. data/vendor/local/share/doc/groonga/source/spec/gqtp.txt +214 -0
  397. data/vendor/local/share/groonga/html/admin/js/groonga-admin.js +5 -2
  398. data/vendor/local/share/man/ja/man1/groonga.1 +1589 -218
  399. data/vendor/local/share/man/man1/groonga.1 +1685 -190
  400. metadata +66 -18
  401. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands.txt +0 -15
  402. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands.txt +0 -15
  403. data/vendor/local/share/doc/groonga/source/reference/commands.txt +0 -15
@@ -27,7 +27,7 @@ There are many differences between :doc:`groonga` and
27
27
  +----------------------------+------------------------+----------------------+
28
28
  | Gzip compression | x | o |
29
29
  +----------------------------+------------------------+----------------------+
30
- | POST | x | x (comming soon) |
30
+ | POST | x | o |
31
31
  +----------------------------+------------------------+----------------------+
32
32
  | HTTPS | x | o |
33
33
  +----------------------------+------------------------+----------------------+
@@ -270,7 +270,17 @@ processed by groonga. You don't need to consider about other modules.
270
270
  POST
271
271
  ----
272
272
 
273
- TODO
273
+ You can load your data by POST JSON data. You need follow the
274
+ following rules to use loading by POST.
275
+
276
+ * `Content-Type` header value must be `application/json`.
277
+ * JSON data is sent as body.
278
+ * Table name is specified by query parameter such as ``table=NAME``.
279
+
280
+ Here is an example curl command line that loads two users `alice` and
281
+ `bob` to `Users` table::
282
+
283
+ % curl --data-binary '[{"_key": "alice"}, {"_key": "bob"}]' -H "Content-Type: application/json" "http://localhost:10041/d/load?table=Users"
274
284
 
275
285
  HTTPS
276
286
  -----
@@ -0,0 +1,214 @@
1
+ .. -*- rst -*-
2
+
3
+ .. highlightlang:: none
4
+
5
+ GQTP
6
+ ====
7
+
8
+ GQTP is the acronym of Groonga Query Transfer Protocol. GQTP is the
9
+ original protocol for groonga.
10
+
11
+ Protocol
12
+ --------
13
+
14
+ GQTP is stateful client server model protocol. The following sequence
15
+ is one processing unit:
16
+
17
+ * Client sends a request
18
+ * Server receives the request
19
+ * Server processes the request
20
+ * Server sends a response
21
+ * Client receives the response
22
+
23
+ You can do zero or more processing units in a session.
24
+
25
+ Both request and response consist of GQTP header and body. GQTP header
26
+ is fixed size data. Body is variable size data and its size is stored
27
+ in GQTP header. The content of body isn't defined in GQTP.
28
+
29
+ .. _gqtp-header-spec:
30
+
31
+ GQTP header
32
+ ^^^^^^^^^^^
33
+
34
+ GQTP header consists of the following unsigned integer values:
35
+
36
+ +----------------+-------+----------------------------+
37
+ | Name | Size | Description |
38
+ +================+=======+============================+
39
+ | ``protocol`` | 1byte | Protocol type. |
40
+ +----------------+-------+----------------------------+
41
+ | ``query_type`` | 1byte | Content type of body. |
42
+ +----------------+-------+----------------------------+
43
+ | ``key_length`` | 2byte | Not used. |
44
+ +----------------+-------+----------------------------+
45
+ | ``level`` | 1byte | Not used. |
46
+ +----------------+-------+----------------------------+
47
+ | ``flags`` | 1byte | Flags. |
48
+ +----------------+-------+----------------------------+
49
+ | ``status`` | 2byte | Return code. |
50
+ +----------------+-------+----------------------------+
51
+ | ``size`` | 4byte | Body size. |
52
+ +----------------+-------+----------------------------+
53
+ | ``opaque`` | 4byte | Not used. |
54
+ +----------------+-------+----------------------------+
55
+ | ``cas`` | 8byte | Not used. |
56
+ +----------------+-------+----------------------------+
57
+
58
+ All header values are encoded by network byte order.
59
+
60
+ The following sections describes available values of each header value.
61
+
62
+ The total size of GQTP header is 24byte.
63
+
64
+ ``protocol``
65
+ """"""""""""
66
+
67
+ The value is always ``0xc7`` in both request and response GQTP header.
68
+
69
+ ``query_type``
70
+ """"""""""""""
71
+
72
+ The value is one of the following values:
73
+
74
+ +-------------+--------+----------------------------+
75
+ | Name | Value | Description |
76
+ +=============+========+============================+
77
+ | ``NONE`` | 0 | Free format. |
78
+ +-------------+--------+----------------------------+
79
+ | ``TSV`` | 1 | Tab Separated Values. |
80
+ +-------------+--------+----------------------------+
81
+ | ``JSON`` | 2 | JSON. |
82
+ +-------------+--------+----------------------------+
83
+ | ``XML`` | 3 | XML. |
84
+ +-------------+--------+----------------------------+
85
+ | ``MSGPACK`` | 4 | MessagePack. |
86
+ +-------------+--------+----------------------------+
87
+
88
+ This is not used in request GQTP header.
89
+
90
+ This is used in response GQTP header. Body is formatted as specified
91
+ type.
92
+
93
+ ``flags``
94
+ """""""""
95
+
96
+ The value is bitwise OR of the following values:
97
+
98
+ +-----------+--------+----------------------------+
99
+ | Name | Value | Description |
100
+ +===========+========+============================+
101
+ | ``MORE`` | 0x01 | There are more data. |
102
+ +-----------+--------+----------------------------+
103
+ | ``TAIL`` | 0x02 | There are no more data. |
104
+ +-----------+--------+----------------------------+
105
+ | ``HEAD`` | 0x04 | Not used. |
106
+ +-----------+--------+----------------------------+
107
+ | ``QUIET`` | 0x08 | Be quiet. |
108
+ +-----------+--------+----------------------------+
109
+ | ``QUIT`` | 0x10 | Quit. |
110
+ +-----------+--------+----------------------------+
111
+
112
+ You must specify ``MORE`` or ``TAIL`` flag.
113
+
114
+ If you use ``MORE`` flag, you should also use ``QUIET`` flag. Because
115
+ you don't need to show a response for your partial request.
116
+
117
+ Use ``QUIT`` flag to quit this session.
118
+
119
+ ``status``
120
+ """"""""""
121
+
122
+ Here are available values. The new statuses will be added in the
123
+ future.
124
+
125
+ * 0: ``SUCCESS``
126
+ * 1: ``END_OF_DATA``
127
+ * 65535: ``UNKNOWN_ERROR``
128
+ * 65534: ``OPERATION_NOT_PERMITTED``
129
+ * 65533: ``NO_SUCH_FILE_OR_DIRECTORY``
130
+ * 65532: ``NO_SUCH_PROCESS``
131
+ * 65531: ``INTERRUPTED_FUNCTION_CALL``
132
+ * 65530: ``INPUT_OUTPUT_ERROR``
133
+ * 65529: ``NO_SUCH_DEVICE_OR_ADDRESS``
134
+ * 65528: ``ARG_LIST_TOO_LONG``
135
+ * 65527: ``EXEC_FORMAT_ERROR``
136
+ * 65526: ``BAD_FILE_DESCRIPTOR``
137
+ * 65525: ``NO_CHILD_PROCESSES``
138
+ * 65524: ``RESOURCE_TEMPORARILY_UNAVAILABLE``
139
+ * 65523: ``NOT_ENOUGH_SPACE``
140
+ * 65522: ``PERMISSION_DENIED``
141
+ * 65521: ``BAD_ADDRESS``
142
+ * 65520: ``RESOURCE_BUSY``
143
+ * 65519: ``FILE_EXISTS``
144
+ * 65518: ``IMPROPER_LINK``
145
+ * 65517: ``NO_SUCH_DEVICE``
146
+ * 65516: ``NOT_A_DIRECTORY``
147
+ * 65515: ``IS_A_DIRECTORY``
148
+ * 65514: ``INVALID_ARGUMENT``
149
+ * 65513: ``TOO_MANY_OPEN_FILES_IN_SYSTEM``
150
+ * 65512: ``TOO_MANY_OPEN_FILES``
151
+ * 65511: ``INAPPROPRIATE_I_O_CONTROL_OPERATION``
152
+ * 65510: ``FILE_TOO_LARGE``
153
+ * 65509: ``NO_SPACE_LEFT_ON_DEVICE``
154
+ * 65508: ``INVALID_SEEK``
155
+ * 65507: ``READ_ONLY_FILE_SYSTEM``
156
+ * 65506: ``TOO_MANY_LINKS``
157
+ * 65505: ``BROKEN_PIPE``
158
+ * 65504: ``DOMAIN_ERROR``
159
+ * 65503: ``RESULT_TOO_LARGE``
160
+ * 65502: ``RESOURCE_DEADLOCK_AVOIDED``
161
+ * 65501: ``NO_MEMORY_AVAILABLE``
162
+ * 65500: ``FILENAME_TOO_LONG``
163
+ * 65499: ``NO_LOCKS_AVAILABLE``
164
+ * 65498: ``FUNCTION_NOT_IMPLEMENTED``
165
+ * 65497: ``DIRECTORY_NOT_EMPTY``
166
+ * 65496: ``ILLEGAL_BYTE_SEQUENCE``
167
+ * 65495: ``SOCKET_NOT_INITIALIZED``
168
+ * 65494: ``OPERATION_WOULD_BLOCK``
169
+ * 65493: ``ADDRESS_IS_NOT_AVAILABLE``
170
+ * 65492: ``NETWORK_IS_DOWN``
171
+ * 65491: ``NO_BUFFER``
172
+ * 65490: ``SOCKET_IS_ALREADY_CONNECTED``
173
+ * 65489: ``SOCKET_IS_NOT_CONNECTED``
174
+ * 65488: ``SOCKET_IS_ALREADY_SHUTDOWNED``
175
+ * 65487: ``OPERATION_TIMEOUT``
176
+ * 65486: ``CONNECTION_REFUSED``
177
+ * 65485: ``RANGE_ERROR``
178
+ * 65484: ``TOKENIZER_ERROR``
179
+ * 65483: ``FILE_CORRUPT``
180
+ * 65482: ``INVALID_FORMAT``
181
+ * 65481: ``OBJECT_CORRUPT``
182
+ * 65480: ``TOO_MANY_SYMBOLIC_LINKS``
183
+ * 65479: ``NOT_SOCKET``
184
+ * 65478: ``OPERATION_NOT_SUPPORTED``
185
+ * 65477: ``ADDRESS_IS_IN_USE``
186
+ * 65476: ``ZLIB_ERROR``
187
+ * 65475: ``LZO_ERROR``
188
+ * 65474: ``STACK_OVER_FLOW``
189
+ * 65473: ``SYNTAX_ERROR``
190
+ * 65472: ``RETRY_MAX``
191
+ * 65471: ``INCOMPATIBLE_FILE_FORMAT``
192
+ * 65470: ``UPDATE_NOT_ALLOWED``
193
+ * 65469: ``TOO_SMALL_OFFSET``
194
+ * 65468: ``TOO_LARGE_OFFSET``
195
+ * 65467: ``TOO_SMALL_LIMIT``
196
+ * 65466: ``CAS_ERROR``
197
+ * 65465: ``UNSUPPORTED_COMMAND_VERSION``
198
+
199
+ ``size``
200
+ """"""""
201
+
202
+ The size of body. The maximum body size is 4GiB because ``size`` is
203
+ 4byte unsigned integer. If you want to send 4GiB or more larger data,
204
+ use ``MORE`` flag.
205
+
206
+ Example
207
+ -------
208
+
209
+ TODO
210
+
211
+ See also
212
+ --------
213
+
214
+ TODO
@@ -548,8 +548,9 @@ jQuery.extend(GroongaAdmin.prototype, {
548
548
  td.append($('<input/>')
549
549
  .attr("type", "button")
550
550
  .attr("value", "編集")
551
+ .attr("data-record-id", line[0])
551
552
  .click(function () {
552
- that.show_edit_record(line[0]);
553
+ that.show_edit_record($(this).attr("data-record-id"));
553
554
  }));
554
555
  break;
555
556
  case 2: // Table
@@ -558,8 +559,10 @@ jQuery.extend(GroongaAdmin.prototype, {
558
559
  td.append($('<input/>')
559
560
  .attr("type", "button")
560
561
  .attr("value", "詳細")
562
+ .attr("data-table-name", line[1])
561
563
  .click(function () {
562
- $("#side-menu-tablelist-link-" + line[1]).click();
564
+ var tableName = $(this).attr("data-table-name");
565
+ $("#side-menu-tablelist-link-" + tableName).click();
563
566
  }));
564
567
  break;
565
568
  }
@@ -1,4 +1,4 @@
1
- .TH "GROONGA" "1" "2012 年 0924 日" "2.0.7" "groonga"
1
+ .TH "GROONGA" "1" "2012 年 1128 日" "2.0.9" "groonga"
2
2
  .SH NAME
3
3
  groonga \- groongaのドキュメント
4
4
  .
@@ -92,16 +92,16 @@ groonga は独自のカラムストアを持つ列指向のデータベースと
92
92
  32\-bit用と64\-bit用のパッケージを配布していますが、サーバ用途には64\-bitパッケージを利用することをオススメします。32\-bit用パッケージはテスト用か開発用にだけ使って下さい。32\-bit用パッケージを使った場合は、中程度のサイズのデータでもメモリ不足エラーになることがあります。
93
93
  .SS インストーラー
94
94
  .sp
95
- 32\-bit環境の場合は \fI\%groonga-2.0.7-x86.exe\fP をダウンロードして実行してください。
95
+ 32\-bit環境の場合は \fI\%groonga-2.0.9-x86.exe\fP をダウンロードして実行してください。
96
96
  .sp
97
- 64\-bit環境の場合は \fI\%groonga-2.0.7-x64.exe\fP をダウンロードして実行してください。
97
+ 64\-bit環境の場合は \fI\%groonga-2.0.9-x64.exe\fP をダウンロードして実行してください。
98
98
  .sp
99
99
  スタートメニュー内に \fB/reference/executables/groonga\fP 用のコマンドプロンプトがインストールされるのでそれを使ってください。
100
100
  .SS zip
101
101
  .sp
102
- 32\-bit環境の場合は \fI\%groonga-2.0.7-x86.zip\fP をダウンロードして展開してください。
102
+ 32\-bit環境の場合は \fI\%groonga-2.0.9-x86.zip\fP をダウンロードして展開してください。
103
103
  .sp
104
- 64\-bit環境の場合は \fI\%groonga-2.0.7-x64.zip\fP をダウンロードして展開してください。
104
+ 64\-bit環境の場合は \fI\%groonga-2.0.9-x64.zip\fP をダウンロードして展開してください。
105
105
  .sp
106
106
  \fB/reference/executables/groonga\fP は \fBbin\fP フォルダーにあります。
107
107
  .SS ソースからビルド
@@ -118,13 +118,13 @@ groonga は独自のカラムストアを持つ列指向のデータベースと
118
118
  .UNINDENT
119
119
  .UNINDENT
120
120
  .sp
121
- zipでアーカイブされたソース \fI\%groonga-2.0.7.zip\fP をダウンロードして展開します。
121
+ zipでアーカイブされたソース \fI\%groonga-2.0.9.zip\fP をダウンロードして展開します。
122
122
  .sp
123
123
  Microsoft Visual Studio 2010 Expressがインストールする \fBVisual Studio コマンド プロンプト (2010)\fP を実行して、groongaのソースがあるフォルダーへ移動してください:
124
124
  .sp
125
125
  .nf
126
126
  .ft C
127
- > cd c:\eUsers\e%USERNAME%\eDownloads\egroonga\-2.0.7
127
+ > cd c:\eUsers\e%USERNAME%\eDownloads\egroonga\-2.0.9
128
128
  .ft P
129
129
  .fi
130
130
  .sp
@@ -132,23 +132,41 @@ Microsoft Visual Studio 2010 Expressがインストールする \fBVisual Studio
132
132
  .sp
133
133
  .nf
134
134
  .ft C
135
- groonga\-2.0.7> cmake . \-G "Visual Studio 10 Win64" \-DCMAKE_INSTALL_PREFIX=C:\egroonga
135
+ groonga\-2.0.9> cmake . \-G "Visual Studio 10 Win64" \-DCMAKE_INSTALL_PREFIX=C:\egroonga
136
136
  .ft P
137
137
  .fi
138
138
  .sp
139
- Visual Studioでビルドします:
139
+ Visual C++ 2010 Expressでビルドします:
140
140
  .sp
141
141
  .nf
142
142
  .ft C
143
- groonga\-2.0.7> devenv groonga.sln /Build Release
143
+ groonga\-2.0.9> msbuild groonga.sln /p:Configuration=Release
144
144
  .ft P
145
145
  .fi
146
146
  .sp
147
- インストール:
147
+ Visual C++ 2010 Expressでビルドします:
148
+ .sp
149
+ .nf
150
+ .ft C
151
+ groonga\-2.0.9> msbuild groonga.sln /p:Configuration=Release /t:Install
152
+ .ft P
153
+ .fi
154
+ .sp
155
+ Visual Studio 2010をインストールした場合、devenvを使うことができます。
156
+ .sp
157
+ Visual Studio 2010でビルドします:
148
158
  .sp
149
159
  .nf
150
160
  .ft C
151
- groonga\-2.0.7> devenv groonga.sln /Build Release /Project Install
161
+ groonga\-2.0.9> devenv groonga.sln /Build Release
162
+ .ft P
163
+ .fi
164
+ .sp
165
+ Visual Studio 2010でインストールします:
166
+ .sp
167
+ .nf
168
+ .ft C
169
+ groonga\-2.0.9> devenv groonga.sln /Build Release /Project Install
152
170
  .ft P
153
171
  .fi
154
172
  .sp
@@ -184,9 +202,9 @@ groonga\-2.0.7> devenv groonga.sln /Build Release /Project Install
184
202
  .sp
185
203
  .nf
186
204
  .ft C
187
- % curl \-O http://packages.groonga.org/source/groonga/groonga\-2.0.7.tar.gz
188
- % tar xvzf groonga\-2.0.7.tar.gz
189
- % cd groonga\-2.0.7
205
+ % curl \-O http://packages.groonga.org/source/groonga/groonga\-2.0.9.tar.gz
206
+ % tar xvzf groonga\-2.0.9.tar.gz
207
+ % cd groonga\-2.0.9
190
208
  .ft P
191
209
  .fi
192
210
  .sp
@@ -361,9 +379,9 @@ groongaをビルドするために必要なパッケージをインストール
361
379
  .sp
362
380
  .nf
363
381
  .ft C
364
- % wget http://packages.groonga.org/source/groonga/groonga\-2.0.7.tar.gz
365
- % tar xvzf groonga\-2.0.7.tar.gz
366
- % cd groonga\-2.0.7
382
+ % wget http://packages.groonga.org/source/groonga/groonga\-2.0.9.tar.gz
383
+ % tar xvzf groonga\-2.0.9.tar.gz
384
+ % cd groonga\-2.0.9
367
385
  .ft P
368
386
  .fi
369
387
  .sp
@@ -607,6 +625,59 @@ groonga\-munin\-pluginsパッケージのインストール:
607
625
  % sudo apt\-get \-y install groonga\-munin\-plugins
608
626
  .ft P
609
627
  .fi
628
+ .SS 12.10 Quantal Quetzal
629
+ .IP ノート
630
+ groongaをインストールするためにuniverseリポジトリを有効にしてください:
631
+ .sp
632
+ .nf
633
+ .ft C
634
+ % sudo cp /etc/apt/sources.list /etc/apt/sources.list.d/universe.list
635
+ % sudo sed \-i\(aq\(aq \-e \(aqs/main/universe/\(aq /etc/apt/sources.list.d/universe.list
636
+ .ft P
637
+ .fi
638
+ .RE
639
+ .sp
640
+ groongaのaptリポジトリを追加します。
641
+ .sp
642
+ /etc/apt/sources.list.d/groonga.list:
643
+ .sp
644
+ .nf
645
+ .ft C
646
+ deb http://packages.groonga.org/ubuntu/ quantal universe
647
+ deb\-src http://packages.groonga.org/ubuntu/ quantal universe
648
+ .ft P
649
+ .fi
650
+ .sp
651
+ インストール:
652
+ .sp
653
+ .nf
654
+ .ft C
655
+ % sudo apt\-get update
656
+ % sudo apt\-get \-y \-\-allow\-unauthenticated install groonga\-keyring
657
+ % sudo apt\-get update
658
+ % sudo apt\-get \-y install groonga
659
+ .ft P
660
+ .fi
661
+ .sp
662
+ \fI\%MeCab\fP をトークナイザーとして使いたいときは、groonga\-tokenizer\-mecabパッケージをインストールしてください。
663
+ .sp
664
+ groonga\-tokenizer\-mecabパッケージのインストール:
665
+ .sp
666
+ .nf
667
+ .ft C
668
+ % sudo apt\-get \-y install groonga\-tokenizer\-mecab
669
+ .ft P
670
+ .fi
671
+ .sp
672
+ \fI\%Munin\fP プラグインを提供するパッケージもあります。Muninでgroongaの状態をモニターしたい場合は、groonga\-munin\-pluginsパッケージをインストールしてください。
673
+ .sp
674
+ groonga\-munin\-pluginsパッケージのインストール:
675
+ .sp
676
+ .nf
677
+ .ft C
678
+ % sudo apt\-get \-y install groonga\-munin\-plugins
679
+ .ft P
680
+ .fi
610
681
  .SS ソースからビルド
611
682
  .sp
612
683
  groongaをビルドするために必要なパッケージをインストールします:
@@ -621,9 +692,9 @@ groongaをビルドするために必要なパッケージをインストール
621
692
  .sp
622
693
  .nf
623
694
  .ft C
624
- % wget http://packages.groonga.org/source/groonga/groonga\-2.0.7.tar.gz
625
- % tar xvzf groonga\-2.0.7.tar.gz
626
- % cd groonga\-2.0.7
695
+ % wget http://packages.groonga.org/source/groonga/groonga\-2.0.9.tar.gz
696
+ % tar xvzf groonga\-2.0.9.tar.gz
697
+ % cd groonga\-2.0.9
627
698
  .ft P
628
699
  .fi
629
700
  .sp
@@ -677,6 +748,24 @@ groonga\-tokenizer\-mecabパッケージのインストール:
677
748
  .ft P
678
749
  .fi
679
750
  .sp
751
+ それからMeCabの辞書をインストールします。(mecab\-ipadicもしくはmecab\-jumandic)
752
+ .sp
753
+ IPA辞書をインストールします:
754
+ .sp
755
+ .nf
756
+ .ft C
757
+ % sudo yum install \-y mecab\-ipadic
758
+ .ft P
759
+ .fi
760
+ .sp
761
+ あるいはJuman辞書をインストールします:
762
+ .sp
763
+ .nf
764
+ .ft C
765
+ % sudo yum install \-y mecab\-jumandic
766
+ .ft P
767
+ .fi
768
+ .sp
680
769
  \fI\%Munin\fP プラグインを提供するパッケージもあります。Muninでgroongaの状態をモニターしたい場合は、groonga\-munin\-pluginsパッケージをインストールしてください。
681
770
  .IP ノート
682
771
  groonga\-munin\-pluginsパッケージはmunin\-nodeパッケージを必要としますが、munin\-nodeパッケージはCentOSの公式リポジトリには含まれていません。munin\-nodeパッケージを \fByum\fP でインストールするために \fI\%Repoforge (RPMforge)\fP リポジトリか \fI\%EPEL\fP リポジトリを有効にする必要があります。
@@ -738,6 +827,24 @@ groonga\-tokenizer\-mecabパッケージのインストール:
738
827
  .ft P
739
828
  .fi
740
829
  .sp
830
+ それからMeCabの辞書をインストールします。(mecab\-ipadicもしくはmecab\-jumandic)
831
+ .sp
832
+ IPA辞書をインストールします:
833
+ .sp
834
+ .nf
835
+ .ft C
836
+ % sudo yum install \-y mecab\-ipadic
837
+ .ft P
838
+ .fi
839
+ .sp
840
+ あるいはJuman辞書をインストールします:
841
+ .sp
842
+ .nf
843
+ .ft C
844
+ % sudo yum install \-y mecab\-jumandic
845
+ .ft P
846
+ .fi
847
+ .sp
741
848
  \fI\%Munin\fP プラグインを提供するパッケージもあります。Muninでgroongaの状態をモニターしたい場合は、groonga\-munin\-pluginsパッケージをインストールしてください。
742
849
  .IP ノート
743
850
  groonga\-munin\-pluginsパッケージはmunin\-nodeパッケージを必要としますが、munin\-nodeパッケージはCentOSの公式リポジトリには含まれていません。munin\-nodeパッケージを \fByum\fP でインストールするために \fI\%EPEL\fP リポジトリを有効にする必要があります。
@@ -772,9 +879,9 @@ groongaをビルドするために必要なパッケージをインストール
772
879
  .sp
773
880
  .nf
774
881
  .ft C
775
- % wget http://packages.groonga.org/source/groonga/groonga\-2.0.7.tar.gz
776
- % tar xvzf groonga\-2.0.7.tar.gz
777
- % cd groonga\-2.0.7
882
+ % wget http://packages.groonga.org/source/groonga/groonga\-2.0.9.tar.gz
883
+ % tar xvzf groonga\-2.0.9.tar.gz
884
+ % cd groonga\-2.0.9
778
885
  .ft P
779
886
  .fi
780
887
  .sp
@@ -830,6 +937,24 @@ groonga\-tokenizer\-mecabパッケージのインストール:
830
937
  .ft P
831
938
  .fi
832
939
  .sp
940
+ それからMeCabの辞書をインストールします。(mecab\-ipadicもしくはmecab\-jumandic)
941
+ .sp
942
+ IPA辞書をインストールします:
943
+ .sp
944
+ .nf
945
+ .ft C
946
+ % sudo yum install \-y mecab\-ipadic
947
+ .ft P
948
+ .fi
949
+ .sp
950
+ あるいはJuman辞書をインストールします:
951
+ .sp
952
+ .nf
953
+ .ft C
954
+ % sudo yum install \-y mecab\-jumandic
955
+ .ft P
956
+ .fi
957
+ .sp
833
958
  \fI\%Munin\fP プラグインを提供するパッケージもあります。Muninでgroongaの状態をモニターしたい場合は、groonga\-munin\-pluginsパッケージをインストールしてください。
834
959
  .sp
835
960
  groonga\-munin\-pluginsパッケージのインストール:
@@ -853,9 +978,9 @@ groongaをビルドするために必要なパッケージをインストール
853
978
  .sp
854
979
  .nf
855
980
  .ft C
856
- % wget http://packages.groonga.org/source/groonga/groonga\-2.0.7.tar.gz
857
- % tar xvzf groonga\-2.0.7.tar.gz
858
- % cd groonga\-2.0.7
981
+ % wget http://packages.groonga.org/source/groonga/groonga\-2.0.9.tar.gz
982
+ % tar xvzf groonga\-2.0.9.tar.gz
983
+ % cd groonga\-2.0.9
859
984
  .ft P
860
985
  .fi
861
986
  .sp
@@ -899,9 +1024,9 @@ groongaをビルドするために必要なパッケージをインストール
899
1024
  .sp
900
1025
  .nf
901
1026
  .ft C
902
- % wget http://packages.groonga.org/source/groonga/groonga\-2.0.7.tar.gz
903
- % gtar xvzf groonga\-2.0.7.tar.gz
904
- % cd groonga\-2.0.7
1027
+ % wget http://packages.groonga.org/source/groonga/groonga\-2.0.9.tar.gz
1028
+ % gtar xvzf groonga\-2.0.9.tar.gz
1029
+ % cd groonga\-2.0.9
905
1030
  .ft P
906
1031
  .fi
907
1032
  .sp
@@ -1006,9 +1131,9 @@ groongaはGNUビルドシステムを使っています。以下は一番簡単
1006
1131
  .sp
1007
1132
  .nf
1008
1133
  .ft C
1009
- % wget http://packages.groonga.org/source/groonga/groonga\-2.0.7.tar.gz
1010
- % tar xvzf groonga\-2.0.7.tar.gz
1011
- % cd groonga\-2.0.7
1134
+ % wget http://packages.groonga.org/source/groonga/groonga\-2.0.9.tar.gz
1135
+ % tar xvzf groonga\-2.0.9.tar.gz
1136
+ % cd groonga\-2.0.9
1012
1137
  % ./configure
1013
1138
  % make
1014
1139
  % sudo make install
@@ -2836,7 +2961,7 @@ select \-\-table ToyBox \-\-output_columns _key,location
2836
2961
  .sp
2837
2962
  groongaでは、テーブル参照のカラム、すなわち関連付けたテーブルを参照するカラムを作成できます。より正確には、カラム作成時に参照先となるテーブルとの関連付けをおこない、参照先テーブルにおけるレコードIDを格納しておくことにより、参照先のレコードにアクセスできるようにします。
2838
2963
  .sp
2839
- You can specify a column in the associated table to the \fIoutput_columns\fP parameter of a \fB/reference/commands/select\fP command. The format is "Src.Dest" where Src is the name of the reference column and Dest is the name of the target column. If only the reference column is specified, it is handled as "Src._key". Note that if a reference does not point to a valid record, a \fB/reference/commands/select\fP command outputs the default value of the target column.
2964
+ テーブル参照のカラムがあるときは、 \fBreference/command/select\fP コマンドの \fIoutput_columns\fP 引数に "参照元カラム.参照先カラム" と指定することにより、参照先カラムの値を取り出すことができます。参照元カラムのみを指定したときは、 "参照元カラム名._key" と同様の扱いとなり、参照先レコードの主キーが取り出されます。テーブル参照が有効なレコードを指していないときは、参照先カラムのデフォルト値が取り出されるようになっています。
2840
2965
  .sp
2841
2966
  ここでは、先のチュートリアルで作成したSiteテーブルにlinkという新たなカラムを作成し、サイト間のリンク関係を保存できるようにしてみましょう。
2842
2967
  .sp
@@ -2891,7 +3016,7 @@ select \-\-table Site \-\-output_columns _key,title,link._key,link.title \-\-que
2891
3016
  .ft P
2892
3017
  .fi
2893
3018
  .sp
2894
- The \fItype\fP parameter of the \fB/reference/commands/column_create\fP command specifies the table to be associated with the reference column. In this example, the reference column is associated with the own table. Then, the \fB/reference/commands/load\fP command registers a link from "\fI\%http://example.org\fP" to "\fI\%http://example.net\fP". Note that a reference column requires the primary key, not the ID, of the record to be referred to. After that, the link is confirmed by the \fB/reference/commands/select\fP command. In this case, the primary key and the title of the referred record are output because link._key and link.title are specified to the \fIoutput_columns\fP parameter.
3019
+ テーブル参照のカラムを作成するときは、 \fB/reference/commands/column_create\fP コマンドの \fItype\fP 引数に参照先テーブルを指定します。この例では、同じテーブルに含まれる別のレコードを参照させたいので、Siteを指定することになります。次に、 "\fI\%http://example.org/\fP" から "\fI\%http://example.net/\fP" へのリンクを登録しています。テーブル参照を作成するときは、IDではなく主キーを指定することに注意してください。最後に、リンクの内容を確認しています。この例では、 \fIoutput_columns\fP 引数に link._key link.title を指定しているので、参照先の主キーとタイトルが表示されています。
2895
3020
  .SS ベクターカラム
2896
3021
  .sp
2897
3022
  \fB/reference/commands/column_create\fP コマンドでカラムを作成するとき、 \fIflags\fP 引数にCOLUMN_VECTORフラグを指定すると、 \fItype\fP 引数に指定した型の配列を格納するカラムになります。このようなカラムのことは、ベクターカラムと呼びます。ベクターカラムは、各レコードに複数の値を格納できるため、一対多の参照関係を表すのに便利です。
@@ -7049,7 +7174,7 @@ POST
7049
7174
  T} T{
7050
7175
  ×
7051
7176
  T} T{
7052
- ×(まもなく実装予定)
7177
+
7053
7178
  T}
7054
7179
  _
7055
7180
  T{
@@ -7283,7 +7408,23 @@ http {
7283
7408
  \fBgroonga\-httpd\fP のレスポンスデータをgzip圧縮するには、明示的に \fIgzip_types *\fP または \fIgzip_types application/json text/xml application/x\-msgpack\fP と指定する必要があります。 \fIgzip_types *\fP の方がおすすめです。理由は2つあります。1つは、groongaが、将来、他のフォーマットもサポートする可能性もあるからという理由です。2つめは、この \fIlocation\fP のすべてのリクエストはgroongaが処理するので、他のモジュールのことについて考えなくてもよいからという理由です。
7284
7409
  .SS POST
7285
7410
  .sp
7286
- TODO
7411
+ JSONデータをPOSTすることでデータをロードすることができます。POSTでロードする場合は以下のルールに従ってください。
7412
+ .INDENT 0.0
7413
+ .IP \(bu 2
7414
+ \fIContent\-Type\fP ヘッダーの値を \fIapplication/json\fP にする。
7415
+ .IP \(bu 2
7416
+ JSONデータはbodyとして送る。
7417
+ .IP \(bu 2
7418
+ テーブル名は \fBtable=名前\fP というようにクエリーパラメーターで指定する。
7419
+ .UNINDENT
7420
+ .sp
7421
+ 以下はcurlを使って \fIalice\fP と \fIbob\fP という2人のユーザーを \fIUsers\fP テーブルにロードするコマンドラインの例です:
7422
+ .sp
7423
+ .nf
7424
+ .ft C
7425
+ % curl \-\-data\-binary \(aq[{"_key": "alice"}, {"_key": "bob"}]\(aq \-H "Content\-Type: application/json" "http://localhost:10041/d/load?table=Users"
7426
+ .ft P
7427
+ .fi
7287
7428
  .SS HTTPS
7288
7429
  .sp
7289
7430
  TODO
@@ -7988,9 +8129,9 @@ http {
7988
8129
  % groonga\-httpd
7989
8130
  .ft P
7990
8131
  .fi
7991
- .SS クエリを実行する
8132
+ .SS クエリーを実行する
7992
8133
  .sp
7993
- 動作を確認するため、簡単なクエリ( \fB/reference/commands/status\fP )をリクエストしてみます。
8134
+ 動作を確認するため、簡単なクエリー( \fB/reference/commands/status\fP )をリクエストしてみます。
7994
8135
  .sp
7995
8136
  実行例:
7996
8137
  .sp
@@ -8140,7 +8281,7 @@ location /d/ {
8140
8281
  以下のディレクティブはgronoga\-httpdの性能に関連しているディレクティブです。
8141
8282
  .SS \fBworker_processes\fP
8142
8283
  .sp
8143
- 最適なパフォーマンスを得るためには、CPU数あるいはコア数と同じ数になるようにこのディレクティブを設定してください。大抵の場合、groongaのクエリはCPU負荷が高いものとなり、複数のCPU/コアを使い切るためには、このディレクティブを設定する必要があります。
8284
+ 最適なパフォーマンスを得るためには、CPU数あるいはコア数と同じ数になるようにこのディレクティブを設定してください。大抵の場合、groongaのクエリーはCPU負荷が高いものとなり、複数のCPU/コアを使い切るためには、このディレクティブを設定する必要があります。
8144
8285
  .sp
8145
8286
  このディレクティブはgroonga\-httpdのディレクティブではなく、nginxのディレクティブです。詳細は、 \fI\%http://wiki.nginx.org/CoreModule#worker_processes\fP を参照してください。
8146
8287
  .sp
@@ -8251,7 +8392,7 @@ TSV(タブ区切り形式)
8251
8392
  JSONがデフォルトの出力形式です。
8252
8393
  .SS 使い方
8253
8394
  .sp
8254
- groongaには以下のクエリインターフェイスがあります。
8395
+ groongaには以下のクエリーインターフェイスがあります。
8255
8396
  .INDENT 0.0
8256
8397
  .INDENT 3.5
8257
8398
  .INDENT 0.0
@@ -8266,7 +8407,7 @@ HTTP
8266
8407
  それぞれのインターフェイスで出力形式を変更する方法は異なります。
8267
8408
  .SS コマンドライン
8268
8409
  .sp
8269
- \fBgroonga DB_PATH\fP または \fBgroonga \-c\fP でコマンドラインクエリインターフェイスを使うことができます。これらのgroongaコマンドでは \fB> \(ga\(ga というプロンプトが表示されます。クエリインターフェイスでは \(ga\(gaoutput_type\fP オプションで出力形式を指定できます。
8410
+ \fBgroonga DB_PATH\fP または \fBgroonga \-c\fP でコマンドラインクエリーインターフェイスを使うことができます。これらのgroongaコマンドでは \fB> \(ga\(ga というプロンプトが表示されます。クエリーインターフェイスでは \(ga\(gaoutput_type\fP オプションで出力形式を指定できます。
8270
8411
  .sp
8271
8412
  \fBoutput_type\fP オプションを指定しない場合はJSON形式の出力になります:
8272
8413
  .sp
@@ -8345,7 +8486,7 @@ MessagePack形式の出力にする場合は \fBoutput_type\fP に \fBmsgpack\fP
8345
8486
  .fi
8346
8487
  .SS HTTP
8347
8488
  .sp
8348
- \fBgroonga \-\-protocol http \-s DB_PATH\fP でHTTPクエリインターフェイスを使うことができます。groonga HTTPサーバーはデフォルトで10041番ポートで起動します。このクエリインターフェイスでは拡張子で出力形式を指定します。
8489
+ \fBgroonga \-\-protocol http \-s DB_PATH\fP でHTTPクエリーインターフェイスを使うことができます。groonga HTTPサーバーはデフォルトで10041番ポートで起動します。このクエリーインターフェイスでは拡張子で出力形式を指定します。
8349
8490
  .sp
8350
8491
  拡張子を指定しない場合はJSON形式の出力になります:
8351
8492
  .sp
@@ -8422,6 +8563,11 @@ MessagePack形式の出力にする場合は \fBmsgpack\fP 拡張子を指定し
8422
8563
  (... omitted because MessagePack is binary data format. ...)
8423
8564
  .ft P
8424
8565
  .fi
8566
+ .SS コマンド
8567
+ .sp
8568
+ コマンドはクエリーAPIでもっとも重要な処理単位です。コマンドでgroongaに処理をリクエストします。
8569
+ .sp
8570
+ このセクションではコマンドについての説明と組み込みのコマンドについて説明します。
8425
8571
  .SS コマンドバージョン
8426
8572
  .SS 概要
8427
8573
  .sp
@@ -8496,157 +8642,460 @@ select \-\-command_version 1 \-\-table tablename
8496
8642
  .fi
8497
8643
  .sp
8498
8644
  指定されたコマンドバージョンでコマンドを実行します。指定されたコマンドバージョンがサポート対象外であった場合にはエラーが返されます。command\-versionが指定されなかった場合は、当該プロセス起動時にdefault\-command\-versionに指定した値が指定されたものとみなします。
8499
- .SS コマンド
8500
- .sp
8501
- まず、すべてのコマンドに関係するコマンドバージョンについて説明します。その後、組み込みのコマンドを順に説明します。
8502
- .SS コマンドバージョン
8645
+ .SS 出力形式
8503
8646
  .SS 概要
8504
8647
  .sp
8505
- groonga1.1からコマンドバージョンという概念が導入されます。コマンドバージョンは、selectやloadなどのgroongaのコマンドの仕様の互換性を表します。groongaパッケージのバージョンが新しくなったとしても、同一のコマンドバージョンが使用可能であるなら、すべてのコマンドについて互換性が保証されます。コマンドバージョンが異なれば、同じ名前のコマンドであっても、動作に互換性がない可能性があります。
8506
- .sp
8507
- あるバージョンのgroongaは、二つのコマンドバージョンを同時にサポートするようになります。
8508
- 使用するコマンドバージョンは、groongaを起動する際のコマンドラインオプションないしコンフィグファイルにdefault\-commnad\-versionパラメータを与えることによって指定できます。また、個々のコマンドを実行する際に、command_versionパラメータを与えることによっても指定することができます。
8648
+ コマンドは実行結果をJSONまたはMessagePack、XML、TSVのどれかで出力します。
8509
8649
  .sp
8510
- コマンドバージョンは1からはじまり、更新されるたびに1ずつ大きくなります。現状のgroongaのコマンドの仕様はcommand\-version 1という扱いになります。次回提供するgroongaは、command\-version 1command\-version 2の二つをサポートすることになります。
8511
- .SS バージョンの位置づけ
8650
+ JSONMessagePackの出力は同じ構造になっています。XMLとTSVはそれぞれ独自の構造になっています。
8512
8651
  .sp
8513
- あるバージョンのgroongaにおいてサポートされるコマンドバージョンは、develop, stable,deprecatedのいずれかの位置づけとなります。
8514
- .INDENT 0.0
8515
- .TP
8516
- .B develop
8517
- まだ開発中であり、仕様が変更される可能性があります。
8518
- .TP
8519
- .B stable
8520
- 使用可能であり仕様も安定しています。その時点で使用することが推奨されます。
8521
- .TP
8522
- .B deprecated
8523
- 使用可能であり仕様も安定していますが、廃止予定であり使用が推奨されません。
8524
- .UNINDENT
8652
+ JSONまたはMessagePackの利用を推奨します。XMLは目視で結果を確認する時に便利です。TSVは特殊な用途では有用です。通常はTSVを使う必要はありません。
8653
+ .SS JSONとMessagePack
8525
8654
  .sp
8526
- あるバージョンのgroongaがサポートする二つのコマンドバージョンのうち、いずれか一つが必ずstableの位置づけとなります。残りの一つは、developないしdeprecatedとなります。
8655
+ このセクションではJSONとMessagePack形式を使った時のコマンド実行結果の構造を説明します。MessagePackはバイナリー形式なのでここでは構造を示すためにJSONを使います。バイナリー形式はドキュメントには向いていません。
8527
8656
  .sp
8528
- たとえば下記のようにgroongaのサポートするコマンドバージョンは推移します。:
8657
+ JSON形式、MessagePack形式のときは以下のような構造になります:
8529
8658
  .sp
8530
8659
  .nf
8531
8660
  .ft C
8532
- groonga1.1: command\-version1=stable command\-version2=develop
8533
- groonga1.2: command\-version1=deprecated command\-version2=stable
8534
- groonga1.3: command\-version2=stable command\-version3=develop
8535
- groonga1.4: command\-version2=deprecated command\-version3=stable
8536
- groonga1.5: command\-version3=stable command\-version4=develop
8661
+ [HEADER, BODY]
8537
8662
  .ft P
8538
8663
  .fi
8539
8664
  .sp
8540
- あるコマンドバージョンははじめにdevelop扱いとしてリリースされ、やがてstableに移行します。
8541
- その後二世代経過するとそのコマンドバージョンはdeprecated扱いとなります。さらに次のコマンドバージョンがリリースされると、deprecatedだったコマンドバージョンはサポート対象外となります。
8542
- .sp
8543
- default\-commnad\-versionパラメータやcommand_versionパラメータを指定せずにgroongaコマンドを実行した際には、その時点でstableであるコマンドバージョンが指定されたものとみなします。
8665
+ 実行例:
8544
8666
  .sp
8545
- groongaプロセス起動時に、default\-command\-versionパラメータにstable扱いでないコマンドバージョンを指定した場合には、警告メッセージがログファイルに出力されます。また、サポート範囲外のコマンドバージョンを指定した場合にはエラーとなり、プロセスは速やかに停止します。
8546
- .SS コマンドバージョンの指定方法
8667
+ .nf
8668
+ .ft C
8669
+ [
8670
+ [
8671
+ 0,
8672
+ 1337566253.89858,
8673
+ 0.000355720520019531
8674
+ ],
8675
+ [
8676
+ [
8677
+ [
8678
+ 1
8679
+ ],
8680
+ [
8681
+ [
8682
+ "_id",
8683
+ "UInt32"
8684
+ ],
8685
+ [
8686
+ "_key",
8687
+ "ShortText"
8688
+ ],
8689
+ [
8690
+ "content",
8691
+ "Text"
8692
+ ],
8693
+ [
8694
+ "n_likes",
8695
+ "UInt32"
8696
+ ]
8697
+ ],
8698
+ [
8699
+ 2,
8700
+ "Groonga",
8701
+ "I started to use groonga. It\(aqs very fast!",
8702
+ 10
8703
+ ]
8704
+ ]
8705
+ ]
8706
+ ]
8707
+ .ft P
8708
+ .fi
8547
8709
  .sp
8548
- コマンドバージョンの指定方法はgroonga実行モジュールの引数として指定する方法と各コマンドの引数として指定する方法があります。
8549
- .SS default\-command\-versionパラメータ
8710
+ この例では、以下の部分が \fBHEADER\fP に相当します:
8550
8711
  .sp
8551
- groonga実行モジュールの引数としてdefault\-command\-versionパラメータを指定できます。
8552
- (configファイルの中に指定することも可能です)
8712
+ .nf
8713
+ .ft C
8714
+ [
8715
+ 0,
8716
+ 1337566253.89858,
8717
+ 0.000355720520019531
8718
+ ]
8719
+ .ft P
8720
+ .fi
8553
8721
  .sp
8554
- 実行例:
8722
+ \fBBODY\fP に相当する部分は以下です:
8555
8723
  .sp
8556
8724
  .nf
8557
8725
  .ft C
8558
- groonga \-\-default\-command\-version 1
8726
+ [
8727
+ [
8728
+ [
8729
+ 1
8730
+ ],
8731
+ [
8732
+ [
8733
+ "_id",
8734
+ "UInt32"
8735
+ ],
8736
+ [
8737
+ "_key",
8738
+ "ShortText"
8739
+ ],
8740
+ [
8741
+ "content",
8742
+ "Text"
8743
+ ],
8744
+ [
8745
+ "n_likes",
8746
+ "UInt32"
8747
+ ]
8748
+ ],
8749
+ [
8750
+ 2,
8751
+ "Groonga",
8752
+ "I started to use groonga. It\(aqs very fast!",
8753
+ 10
8754
+ ]
8755
+ ]
8756
+ ]
8559
8757
  .ft P
8560
8758
  .fi
8759
+ .SS \fBHEADER\fP
8561
8760
  .sp
8562
- そのプロセスで実行するすべてのコマンドについて、デフォルトのコマンドバージョンとして指定されたバージョンを使用します。指定されたコマンドバージョンがstableであった場合にはなんのメッセージも表示されずそのまま起動します。指定されたコマンドバージョンがdevelopあるいはdeprecatedであった場合には、groonga.logファイルに警告メッセージを出力します。指定されたコマンドバージョンがサポート対象外であった場合には標準エラー出力にエラーメッセージを出力し、プロセスは速やかに終了します。
8563
- .SS command_versionパラメータ
8564
- .sp
8565
- select,loadなどのすべてのgroongaコマンドにcommand_versionが指定できます。
8761
+ \fBHEADER\fP は配列です。 \fBHEADER\fP の内容にはいくつかのパターンがあります。
8762
+ .SS 成功した場合
8566
8763
  .sp
8567
- 実行例:
8764
+ コマンドが成功した場合は \fBHEADER\fP には3つの要素があります:
8568
8765
  .sp
8569
8766
  .nf
8570
8767
  .ft C
8571
- select \-\-command_version 1 \-\-table tablename
8768
+ [0, UNIX_TIME_WHEN_COMMAND_IS_STARTED, ELAPSED_TIME]
8572
8769
  .ft P
8573
8770
  .fi
8574
8771
  .sp
8575
- 指定されたコマンドバージョンでコマンドを実行します。指定されたコマンドバージョンがサポート対象外であった場合にはエラーが返されます。command\-versionが指定されなかった場合は、当該プロセス起動時にdefault\-command\-versionに指定した値が指定されたものとみなします。
8576
- .SS cache_limit
8577
- .SS 名前
8772
+ 最初の値は常に \fB0\fP です。
8578
8773
  .sp
8579
- cache_limit \- cacheサイズの設定・取得
8580
- .SS 書式
8774
+ \fBUNIX_TIME_WHEN_COMMAND_IS_STARTED\fP はコマンドの実行が始まったときの時刻です。時刻は1970\-01\-01 00:00:00から経過した秒数で表現されています。 \fBELAPSED_TIME\fP はコマンドの実行にかかった時間です。単位は秒です。 \fBUNIX_TIME_WHEN_COMMAND_IS_STARTED\fP も \fBELAPSED_TIME\fP も浮動小数点数です。小数部分はナノ秒を表します。
8775
+ .SS エラーの場合
8776
+ .sp
8777
+ エラーの場合、 \fBHEADER\fP には4個または5個の要素があります:
8581
8778
  .sp
8582
8779
  .nf
8583
8780
  .ft C
8584
- cache_limit max
8781
+ [
8782
+ RETURN_CODE,
8783
+ UNIX_TIME_WHEN_COMMAND_IS_STARTED,
8784
+ ELAPSED_TIME,
8785
+ ERROR_MESSAGE,
8786
+ ERROR_LOCATION
8787
+ ]
8585
8788
  .ft P
8586
8789
  .fi
8587
- .SS 説明
8588
8790
  .sp
8589
- groonga組込コマンドの一つであるcache_limitについて説明します。組込コマンドは、groonga実行ファイルの引数、標準入力、またはソケット経由でgroongaサーバにリクエストを送信することによって実行します。
8791
+ \fBERROR_LOCATION\fP は \fBHEADER\fP には含まれないかもしれませんが、他の4個の要素は常に含まれます。
8590
8792
  .sp
8591
- cache_limitは、クエリキャッシュの最大件数を取得したり設定したりします。
8592
- .SS 引数
8793
+ \fBRETURN_CODE\fP は0ではない値です。リターンコードの詳細は \fBreturn_code\fP を見てください。
8593
8794
  .sp
8594
- \fBmax\fP
8595
- .INDENT 0.0
8596
- .INDENT 3.5
8597
- クエリキャッシュの最大件数を整数で指定します。
8598
- maxが指定されなかった場合には、クエリキャッシュの最大件数は変更せず、
8599
- 現在の設定値のみが返されます。
8600
- .UNINDENT
8601
- .UNINDENT
8602
- .SS 返値
8603
- .SS json
8795
+ \fBUNIX_TIME_WHEN_COMMAND_IS_STARTED\fP と \fBELAPSED_TIME\fP は成功した時と同じです。
8796
+ .sp
8797
+ \fBERROR_MESSAGE\fP はエラーメッセージです。文字列です。
8798
+ .sp
8799
+ \fBERROR_LOCATION\fP は存在しないことがあります。もし、エラーが発生した場所の情報を収集できていた場合は \fBERROR_LOCATION\fP が含まれます。 \fBERROR_LOCATION\fP は配列です。 \fBERROR_LOCATION\fP は1個または2個の要素を含みます:
8604
8800
  .sp
8605
8801
  .nf
8606
8802
  .ft C
8607
- [以前の設定値]
8608
-
8609
- \(ga\(ga以前の設定値\(ga\(ga
8610
-
8611
- すでに設定されていたクエリキャッシュの最大件数を返す。
8803
+ [
8804
+ LOCATION_IN_GROONGA,
8805
+ LOCATION_IN_INPUT
8806
+ ]
8612
8807
  .ft P
8613
8808
  .fi
8614
- .SS 例
8809
+ .sp
8810
+ \fBLOCATION_IN_GROONGA\fP はgroonga内でエラーが発生したソースコードの場所です。この情報はgroonga開発者には役に立ちますが、ユーザーの役には立ちません。 \fBLOCATION_IN_GROONGA\fP は配列です。 \fBLOCATION_IN_GROONGA\fP には3個の要素があります:
8615
8811
  .sp
8616
8812
  .nf
8617
8813
  .ft C
8618
- cache_limit 4
8619
- [100]
8814
+ [
8815
+ FUNCTION_NAME,
8816
+ SOURCE_FILE_NAME,
8817
+ LINE_NUMBER
8818
+ ]
8620
8819
  .ft P
8621
8820
  .fi
8622
- .SS check
8623
- .SS 名前
8624
8821
  .sp
8625
- check \- オブジェクトの状態表示
8626
- .SS 書式
8822
+ \fBFUNCTION_NAME\fP はエラーが発生した関数の名前です。
8823
+ .sp
8824
+ \fBSOURCE_FILE_NAME\fP はエラーが発生した箇所を含んだgroongaのソースコードのファイル名です。
8825
+ .sp
8826
+ \fBLINE_NUMBER\fP はエラーが発生した箇所の \fBSOURCE_FILE_NAME\fP での行番号です。
8827
+ .sp
8828
+ \fBLOCATION_IN_INPUT\fP は存在しないことがあります。 \fBLOCATION_IN_INPUT\fP は入力ファイルでエラーが発生した場所の情報を収集できたときに含まれます。入力ファイルは \fBgroonga\fP コマンドのコマンドラインオプション \fB\-\-file\fP で指定できます。 \fBLOCATION_IN_GROONGA\fP は配列です。 \fBLOCATION_IN_GROONGA\fP には3個の要素があります:
8627
8829
  .sp
8628
8830
  .nf
8629
8831
  .ft C
8630
- check obj
8832
+ [
8833
+ INPUT_FILE_NAME,
8834
+ LINE_NUMBER,
8835
+ LINE_CONTENT
8836
+ ]
8631
8837
  .ft P
8632
8838
  .fi
8633
- .SS 説明
8634
8839
  .sp
8635
- groonga組込コマンドの一つであるcheckについて説明します。組込コマンドは、groonga実行ファイルの引数、標準入力、またはソケット経由でgroongaサーバにリクエストを送信することによって実行します。
8840
+ \fBINPUT_FILE_NAME\fP はエラーが発生した入力ファイルのファイル名です。
8636
8841
  .sp
8637
- checkコマンドは、groongaプロセス内の指定したオブジェクトの状態を表示します。主にデータベースが壊れた場合など異常時の問題解決のために使用することを想定しています。デバッグ用のため、返値のフォーマットが安定しているということは保証されません。(フォーマットが変更される可能性が高い)
8638
- .SS 引数
8842
+ \fBLINE_NUMBER\fP はエラーが発生した箇所の \fBINPUT_FILE_NAME\fP での行番号です。
8639
8843
  .sp
8640
- \fBobj\fP
8844
+ \fBLINE_CONTENT\fP は \fBINPUT_FILE_NAME\fP 内の \fBLINE_NUMBER\fP 行目の内容です。
8845
+ .SS \fBBODY\fP
8846
+ .sp
8847
+ \fBBODY\fP の内容は実行したコマンドに依存します。 \fBBODY\fP がないこともあります。
8848
+ .sp
8849
+ エラーが発生した時に、 \fBBODY\fP にエラーメッセージが入っていることもあります。
8850
+ .SS XML
8851
+ .sp
8852
+ TODO
8853
+ .SS TSV
8854
+ .sp
8855
+ TODO
8856
+ .SS 参考
8641
8857
  .INDENT 0.0
8642
- .INDENT 3.5
8643
- 状態を表示するオブジェクトの名前を指定します。
8644
- .UNINDENT
8858
+ .IP \(bu 2
8859
+ \fBreturn_code\fP describes about return code.
8645
8860
  .UNINDENT
8646
- .SS 返値
8647
- .SS json形式
8861
+ .SS リターンコード
8862
+ .SS 概要
8648
8863
  .sp
8649
- チェックするオブジェクトにより返される値が変わります。
8864
+ リターンコードは処理が成功したかどうかを示すために使われます。もし、処理が成功していなければリターンコードはエラーの種類を示します。
8865
+ .sp
8866
+ リターンコードはCのAPIでもクエリーAPIでも使われます。CのAPIでは \fBgrn_ctx_t::rc\fP でリターンコードを確認できます。クエリーAPIではヘッダー要素を見るとリターンコードを確認できます。クエリーAPIでのヘッダー要素については \fBoutput_format\fP を参照してください。
8867
+ .SS 一覧
8868
+ .sp
8869
+ 以下はリターンコードの一覧です。 \fBGRN_SUCCESS\fP (= 0) は処理が成功したことを示しています。負の値のリターンコードはエラーの種類を表しています。 \fBGRN_END_OF_DATA\fP は特別なリターンコードです。このリターンコードはCのAPIでだけ使われていて、クエリーAPIにはでてきません。
8870
+ .INDENT 0.0
8871
+ .IP \(bu 2
8872
+ 0: \fBGRN_SUCCESS\fP
8873
+ .IP \(bu 2
8874
+ 1: \fBGRN_END_OF_DATA\fP
8875
+ .IP \(bu 2
8876
+ \-1: \fBGRN_UNKNOWN_ERROR\fP
8877
+ .IP \(bu 2
8878
+ \-2: \fBGRN_OPERATION_NOT_PERMITTED\fP
8879
+ .IP \(bu 2
8880
+ \-3: \fBGRN_NO_SUCH_FILE_OR_DIRECTORY\fP
8881
+ .IP \(bu 2
8882
+ \-4: \fBGRN_NO_SUCH_PROCESS\fP
8883
+ .IP \(bu 2
8884
+ \-5: \fBGRN_INTERRUPTED_FUNCTION_CALL\fP
8885
+ .IP \(bu 2
8886
+ \-6: \fBGRN_INPUT_OUTPUT_ERROR\fP
8887
+ .IP \(bu 2
8888
+ \-7: \fBGRN_NO_SUCH_DEVICE_OR_ADDRESS\fP
8889
+ .IP \(bu 2
8890
+ \-8: \fBGRN_ARG_LIST_TOO_LONG\fP
8891
+ .IP \(bu 2
8892
+ \-9: \fBGRN_EXEC_FORMAT_ERROR\fP
8893
+ .IP \(bu 2
8894
+ \-10: \fBGRN_BAD_FILE_DESCRIPTOR\fP
8895
+ .IP \(bu 2
8896
+ \-11: \fBGRN_NO_CHILD_PROCESSES\fP
8897
+ .IP \(bu 2
8898
+ \-12: \fBGRN_RESOURCE_TEMPORARILY_UNAVAILABLE\fP
8899
+ .IP \(bu 2
8900
+ \-13: \fBGRN_NOT_ENOUGH_SPACE\fP
8901
+ .IP \(bu 2
8902
+ \-14: \fBGRN_PERMISSION_DENIED\fP
8903
+ .IP \(bu 2
8904
+ \-15: \fBGRN_BAD_ADDRESS\fP
8905
+ .IP \(bu 2
8906
+ \-16: \fBGRN_RESOURCE_BUSY\fP
8907
+ .IP \(bu 2
8908
+ \-17: \fBGRN_FILE_EXISTS\fP
8909
+ .IP \(bu 2
8910
+ \-18: \fBGRN_IMPROPER_LINK\fP
8911
+ .IP \(bu 2
8912
+ \-19: \fBGRN_NO_SUCH_DEVICE\fP
8913
+ .IP \(bu 2
8914
+ \-20: \fBGRN_NOT_A_DIRECTORY\fP
8915
+ .IP \(bu 2
8916
+ \-21: \fBGRN_IS_A_DIRECTORY\fP
8917
+ .IP \(bu 2
8918
+ \-22: \fBGRN_INVALID_ARGUMENT\fP
8919
+ .IP \(bu 2
8920
+ \-23: \fBGRN_TOO_MANY_OPEN_FILES_IN_SYSTEM\fP
8921
+ .IP \(bu 2
8922
+ \-24: \fBGRN_TOO_MANY_OPEN_FILES\fP
8923
+ .IP \(bu 2
8924
+ \-25: \fBGRN_INAPPROPRIATE_I_O_CONTROL_OPERATION\fP
8925
+ .IP \(bu 2
8926
+ \-26: \fBGRN_FILE_TOO_LARGE\fP
8927
+ .IP \(bu 2
8928
+ \-27: \fBGRN_NO_SPACE_LEFT_ON_DEVICE\fP
8929
+ .IP \(bu 2
8930
+ \-28: \fBGRN_INVALID_SEEK\fP
8931
+ .IP \(bu 2
8932
+ \-29: \fBGRN_READ_ONLY_FILE_SYSTEM\fP
8933
+ .IP \(bu 2
8934
+ \-30: \fBGRN_TOO_MANY_LINKS\fP
8935
+ .IP \(bu 2
8936
+ \-31: \fBGRN_BROKEN_PIPE\fP
8937
+ .IP \(bu 2
8938
+ \-32: \fBGRN_DOMAIN_ERROR\fP
8939
+ .IP \(bu 2
8940
+ \-33: \fBGRN_RESULT_TOO_LARGE\fP
8941
+ .IP \(bu 2
8942
+ \-34: \fBGRN_RESOURCE_DEADLOCK_AVOIDED\fP
8943
+ .IP \(bu 2
8944
+ \-35: \fBGRN_NO_MEMORY_AVAILABLE\fP
8945
+ .IP \(bu 2
8946
+ \-36: \fBGRN_FILENAME_TOO_LONG\fP
8947
+ .IP \(bu 2
8948
+ \-37: \fBGRN_NO_LOCKS_AVAILABLE\fP
8949
+ .IP \(bu 2
8950
+ \-38: \fBGRN_FUNCTION_NOT_IMPLEMENTED\fP
8951
+ .IP \(bu 2
8952
+ \-39: \fBGRN_DIRECTORY_NOT_EMPTY\fP
8953
+ .IP \(bu 2
8954
+ \-40: \fBGRN_ILLEGAL_BYTE_SEQUENCE\fP
8955
+ .IP \(bu 2
8956
+ \-41: \fBGRN_SOCKET_NOT_INITIALIZED\fP
8957
+ .IP \(bu 2
8958
+ \-42: \fBGRN_OPERATION_WOULD_BLOCK\fP
8959
+ .IP \(bu 2
8960
+ \-43: \fBGRN_ADDRESS_IS_NOT_AVAILABLE\fP
8961
+ .IP \(bu 2
8962
+ \-44: \fBGRN_NETWORK_IS_DOWN\fP
8963
+ .IP \(bu 2
8964
+ \-45: \fBGRN_NO_BUFFER\fP
8965
+ .IP \(bu 2
8966
+ \-46: \fBGRN_SOCKET_IS_ALREADY_CONNECTED\fP
8967
+ .IP \(bu 2
8968
+ \-47: \fBGRN_SOCKET_IS_NOT_CONNECTED\fP
8969
+ .IP \(bu 2
8970
+ \-48: \fBGRN_SOCKET_IS_ALREADY_SHUTDOWNED\fP
8971
+ .IP \(bu 2
8972
+ \-49: \fBGRN_OPERATION_TIMEOUT\fP
8973
+ .IP \(bu 2
8974
+ \-50: \fBGRN_CONNECTION_REFUSED\fP
8975
+ .IP \(bu 2
8976
+ \-51: \fBGRN_RANGE_ERROR\fP
8977
+ .IP \(bu 2
8978
+ \-52: \fBGRN_TOKENIZER_ERROR\fP
8979
+ .IP \(bu 2
8980
+ \-53: \fBGRN_FILE_CORRUPT\fP
8981
+ .IP \(bu 2
8982
+ \-54: \fBGRN_INVALID_FORMAT\fP
8983
+ .IP \(bu 2
8984
+ \-55: \fBGRN_OBJECT_CORRUPT\fP
8985
+ .IP \(bu 2
8986
+ \-56: \fBGRN_TOO_MANY_SYMBOLIC_LINKS\fP
8987
+ .IP \(bu 2
8988
+ \-57: \fBGRN_NOT_SOCKET\fP
8989
+ .IP \(bu 2
8990
+ \-58: \fBGRN_OPERATION_NOT_SUPPORTED\fP
8991
+ .IP \(bu 2
8992
+ \-59: \fBGRN_ADDRESS_IS_IN_USE\fP
8993
+ .IP \(bu 2
8994
+ \-60: \fBGRN_ZLIB_ERROR\fP
8995
+ .IP \(bu 2
8996
+ \-61: \fBGRN_LZO_ERROR\fP
8997
+ .IP \(bu 2
8998
+ \-62: \fBGRN_STACK_OVER_FLOW\fP
8999
+ .IP \(bu 2
9000
+ \-63: \fBGRN_SYNTAX_ERROR\fP
9001
+ .IP \(bu 2
9002
+ \-64: \fBGRN_RETRY_MAX\fP
9003
+ .IP \(bu 2
9004
+ \-65: \fBGRN_INCOMPATIBLE_FILE_FORMAT\fP
9005
+ .IP \(bu 2
9006
+ \-66: \fBGRN_UPDATE_NOT_ALLOWED\fP
9007
+ .IP \(bu 2
9008
+ \-67: \fBGRN_TOO_SMALL_OFFSET\fP
9009
+ .IP \(bu 2
9010
+ \-68: \fBGRN_TOO_LARGE_OFFSET\fP
9011
+ .IP \(bu 2
9012
+ \-69: \fBGRN_TOO_SMALL_LIMIT\fP
9013
+ .IP \(bu 2
9014
+ \-70: \fBGRN_CAS_ERROR\fP
9015
+ .IP \(bu 2
9016
+ \-71: \fBGRN_UNSUPPORTED_COMMAND_VERSION\fP
9017
+ .UNINDENT
9018
+ .SS 参考
9019
+ .INDENT 0.0
9020
+ .IP \(bu 2
9021
+ \fBoutput_format\fP はクエリーAPIでのレスポンスの中でどこにリターンコードがあるかを説明しています。
9022
+ .IP \(bu 2
9023
+ \fB/spec/gqtp\fP: GQTPプロトコルもステータスとしてリターンコードを使っていますが、ステータスは2バイトの符号なし整数です。そのため、GQTPプロトコルでは、負の値のリターンコードは正の値のステータスになります。GQTPプロトコルのステータスの値を2バイトの符号付き整数として扱うとステータスをリターンコードに変換できます。
9024
+ .UNINDENT
9025
+ .SS cache_limit
9026
+ .SS 名前
9027
+ .sp
9028
+ cache_limit \- cacheサイズの設定・取得
9029
+ .SS 書式
9030
+ .sp
9031
+ .nf
9032
+ .ft C
9033
+ cache_limit max
9034
+ .ft P
9035
+ .fi
9036
+ .SS 説明
9037
+ .sp
9038
+ groonga組込コマンドの一つであるcache_limitについて説明します。組込コマンドは、groonga実行ファイルの引数、標準入力、またはソケット経由でgroongaサーバにリクエストを送信することによって実行します。
9039
+ .sp
9040
+ cache_limitは、クエリキャッシュの最大件数を取得したり設定したりします。
9041
+ .SS 引数
9042
+ .sp
9043
+ \fBmax\fP
9044
+ .INDENT 0.0
9045
+ .INDENT 3.5
9046
+ クエリキャッシュの最大件数を整数で指定します。
9047
+ maxが指定されなかった場合には、クエリキャッシュの最大件数は変更せず、
9048
+ 現在の設定値のみが返されます。
9049
+ .UNINDENT
9050
+ .UNINDENT
9051
+ .SS 返値
9052
+ .SS json
9053
+ .sp
9054
+ .nf
9055
+ .ft C
9056
+ [以前の設定値]
9057
+
9058
+ \(ga\(ga以前の設定値\(ga\(ga
9059
+
9060
+ すでに設定されていたクエリキャッシュの最大件数を返す。
9061
+ .ft P
9062
+ .fi
9063
+ .SS 例
9064
+ .sp
9065
+ .nf
9066
+ .ft C
9067
+ cache_limit 4
9068
+ [100]
9069
+ .ft P
9070
+ .fi
9071
+ .SS check
9072
+ .SS 名前
9073
+ .sp
9074
+ check \- オブジェクトの状態表示
9075
+ .SS 書式
9076
+ .sp
9077
+ .nf
9078
+ .ft C
9079
+ check obj
9080
+ .ft P
9081
+ .fi
9082
+ .SS 説明
9083
+ .sp
9084
+ groonga組込コマンドの一つであるcheckについて説明します。組込コマンドは、groonga実行ファイルの引数、標準入力、またはソケット経由でgroongaサーバにリクエストを送信することによって実行します。
9085
+ .sp
9086
+ checkコマンドは、groongaプロセス内の指定したオブジェクトの状態を表示します。主にデータベースが壊れた場合など異常時の問題解決のために使用することを想定しています。デバッグ用のため、返値のフォーマットが安定しているということは保証されません。(フォーマットが変更される可能性が高い)
9087
+ .SS 引数
9088
+ .sp
9089
+ \fBobj\fP
9090
+ .INDENT 0.0
9091
+ .INDENT 3.5
9092
+ 状態を表示するオブジェクトの名前を指定します。
9093
+ .UNINDENT
9094
+ .UNINDENT
9095
+ .SS 返値
9096
+ .SS json形式
9097
+ .sp
9098
+ チェックするオブジェクトにより返される値が変わります。
8650
9099
  .sp
8651
9100
  インデックスカラムの場合:
8652
9101
  .sp
@@ -9826,6 +10275,53 @@ quitは、groongaプロセスとのセッションを終了します。クライ
9826
10275
  quit
9827
10276
  .ft P
9828
10277
  .fi
10278
+ .SS register
10279
+ .SS 概要
10280
+ .sp
10281
+ \fBregister\fP コマンドはプラグインを登録します。プラグインを使う前にプラグインを登録する必要があります。
10282
+ .sp
10283
+ 同じデータベースに対しては1つのプラグインについて一度だけ \fIregister\(ga\fP コマンドを実行すれば十分です。これは、登録されたプラグイン情報はデータベースに記録されているからです。 \fBgroonga\fP プロセスを再起動したときは、 \fBregister\fP コマンドを実行しなくてもすでに登録されているプラグインを読み込みます。
10284
+ .IP ノート
10285
+ 今のところ、登録したプラグインは削除できません。
10286
+ .RE
10287
+ .SS 構文
10288
+ .sp
10289
+ \fBregister\fP の引数は \fBpath\fP だけです。これは必須の引数です:
10290
+ .sp
10291
+ .nf
10292
+ .ft C
10293
+ register path
10294
+ .ft P
10295
+ .fi
10296
+ .SS 使い方
10297
+ .sp
10298
+ これは \fB${PREFIX}/lib/groonga/plugins/query_expanders/tsv.so\fP に含まれている \fBQueryExpanderTSV\fP クエリー展開オブジェクトを登録する例です。
10299
+ .sp
10300
+ 実行例:
10301
+ .sp
10302
+ .nf
10303
+ .ft C
10304
+ register query_expanders/tsv
10305
+ # [[0, 1337566253.89858, 0.000355720520019531], true]
10306
+ .ft P
10307
+ .fi
10308
+ .sp
10309
+ \fB${PREFIX}/lib/groonga/plugins/\fP と拡張子( \fB.so\fP )は省略可能です。これらは自動で補完されます。
10310
+ .sp
10311
+ \fBregister /usr/lib/groonga/plugins/query_expanders/tsv.so\fP というように絶対パスを指定することもできます。
10312
+ .SS 戻り値
10313
+ .sp
10314
+ \fBregister\fP が成功したときは以下のようにボディは \fBtrue\fP になります:
10315
+ .sp
10316
+ .nf
10317
+ .ft C
10318
+ [HEADER, true]
10319
+ .ft P
10320
+ .fi
10321
+ .sp
10322
+ \fBregister\fP が失敗すると、エラーの詳細は \fBHEADER\fP に含まれます。
10323
+ .sp
10324
+ \fBHEADER\fP については \fB/reference/command/output_format\fP を参照してください。
9829
10325
  .SS select
9830
10326
  .SS 概要
9831
10327
  .sp
@@ -10049,7 +10545,7 @@ select Entries \-\-match_columns content \-\-query fast
10049
10545
  .sp
10050
10546
  この \fBselect\fP コマンドは \fBEntries\fP テーブルの中から \fBcontent\fP カラムの値に \fBfast\fP を含んでいるレコードを検索します。
10051
10547
  .sp
10052
- \fBquery\fP はクエリ構文という構文を使いますが、詳細はここでは説明しません。詳細は \fB/reference/grn_expr/query_syntax\fP を参照してください。
10548
+ \fBquery\fP はクエリー構文という構文を使いますが、詳細はここでは説明しません。詳細は \fB/reference/grn_expr/query_syntax\fP を参照してください。
10053
10549
  .SS 検索条件: \fBfilter\fP
10054
10550
  .sp
10055
10551
  \fBfilter\fP は複雑な検索条件を指定するために用意されています。ECMAScriptのような構文で \fBfilter\fP に検索条件を指定します。
@@ -10383,7 +10879,7 @@ select Entries \-\-match_columns \(aq_key * 10 || content\(aq \-\-query groonga
10383
10879
  \fB\-\-match_columns \(aq_key * 10 || content\(aq\fP はデフォルト検索対象カラムが \fB_key\fP カラムと \fBcontent\fP カラムで、 \fB_key\fP カラムの重みは10、 \fBcontent\fP カラムの重みは1という意味です。この重み付けは \fB_key\fP カラムの値は \fBcontent\fP カラムの値よりも重要だという意味になります。この例では、ブログエントリのタイトルはブログエントリの内容よりも重要だということです。
10384
10880
  .SS \fBquery\fP
10385
10881
  .sp
10386
- クエリテキストを指定します。通常、全文検索をするために \fBmatch_columns\fP 引数と一緒に使います。 \fBquery\fP 引数はWebページにある全文検索フォームで使いやすいように設計されています。クエリテキストは \fB/reference/grn_expr/query_syntax\fP という書式を使います。この書式はGoogleの検索フォームのように一般的な検索フォームと似ています。例えば、 \fBword1 word2\fP は \fBword1\fP と \fBword2\fP を含んでいるレコードを検索するという意味になります。 \fBword1 OR word2\fP は \fBword1\fP または \fBword2\fP を含んでいるレコードを検索するという意味になります。
10882
+ クエリーテキストを指定します。通常、全文検索をするために \fBmatch_columns\fP 引数と一緒に使います。 \fBquery\fP 引数はWebページにある全文検索フォームで使いやすいように設計されています。クエリーテキストは \fB/reference/grn_expr/query_syntax\fP という書式を使います。この書式はGoogleの検索フォームのように一般的な検索フォームと似ています。例えば、 \fBword1 word2\fP は \fBword1\fP と \fBword2\fP を含んでいるレコードを検索するという意味になります。 \fBword1 OR word2\fP は \fBword1\fP または \fBword2\fP を含んでいるレコードを検索するという意味になります。
10387
10883
  .sp
10388
10884
  以下は論理積を使った検索の簡単な例です。
10389
10885
  .sp
@@ -10846,15 +11342,15 @@ select Entries \-\-match_columns content \-\-query groo \-\-match_escalation_thr
10846
11342
  2番目の \fBselect\fP コマンドも \fBEntries\fP テーブルから \fBcontent\fP カラムの値に \fBgroo\fP という単語を含むレコードを検索します。そして、この \fBselect\fP コマンドもマッチしません。この場合、マッチしたレコード数(0)が \fBmatch_escalation_threshold\fP (\-1)より大きいので、検索方法をエスカレーションしません。そして、1つもレコードがマッチしません。
10847
11343
  .SS \fBquery_expansion\fP
10848
11344
  .sp
10849
- クエリ展開用の引数です。クエリ展開はクエリ中の特定の単語を別の単語に置換します。通常は類義語検索に使います。
11345
+ クエリー展開用の引数です。クエリー展開はクエリー中の特定の単語を別の単語に置換します。通常は類義語検索に使います。
10850
11346
  .sp
10851
11347
  \fBquery\fP 引数の値を置換するために使うカラムを指定します。この引数の値の書式は「 \fB${TABLE}.${COLUMN}\fP 」です。例えば、 「 \fBTerms.synonym\fP 」は \fBTerms\fP テーブルの \fBsynonym\fP カラムを指定しています。
10852
11348
  .sp
10853
- クエリ展開用のテーブルを「置換テーブル」と呼びます。置換テーブルのキーは \fBShortText\fP にしてください。そのため、配列テーブル( \fBTABLE_NO_KEY\fP )は置換テーブルに使うことはできません。なぜなら、配列テーブルにはキーがないからです。
11349
+ クエリー展開用のテーブルを「置換テーブル」と呼びます。置換テーブルのキーは \fBShortText\fP にしてください。そのため、配列テーブル( \fBTABLE_NO_KEY\fP )は置換テーブルに使うことはできません。なぜなら、配列テーブルにはキーがないからです。
10854
11350
  .sp
10855
- クエリ展開用のカラムを「置換カラム」と呼びます。置換カラムの値の型は \fBShortText\fP にしてください。カラムの種類はベクター( \fBCOLUMN_VECTOR\fP )にしてください。
11351
+ クエリー展開用のカラムを「置換カラム」と呼びます。置換カラムの値の型は \fBShortText\fP にしてください。カラムの種類はベクター( \fBCOLUMN_VECTOR\fP )にしてください。
10856
11352
  .sp
10857
- クエリ展開はクエリの中にある置換テーブルのキーを置換カラムの値で置換します。 \fBquery\fP の中にある単語が置換テーブルのキーだったら、キーに対応する置換カラムの値でその単語を置換します。置換は再帰的に実行しません。これは、置換されたクエリ内に置換対象の単語があっても置換されないということです。
11353
+ クエリー展開はクエリーの中にある置換テーブルのキーを置換カラムの値で置換します。 \fBquery\fP の中にある単語が置換テーブルのキーだったら、キーに対応する置換カラムの値でその単語を置換します。置換は再帰的に実行しません。これは、置換されたクエリー内に置換対象の単語があっても置換されないということです。
10858
11354
  .sp
10859
11355
  以下は \fBquery_expansion\fP の簡単な使用例を示すためのサンプル置換テーブルです。
10860
11356
  .sp
@@ -11017,11 +11513,11 @@ select Entries \-\-match_columns content \-\-query "((mroonga) OR (tritonn) OR (
11017
11513
  .ft P
11018
11514
  .fi
11019
11515
  .sp
11020
- 最初の \fBselect\fP コマンドはクエリ展開を使いません。そのため、 \fB"tritonn"\fP という単語を含んでいるレコードは見つかりません。2番目の \fBselect\fP コマンドはクエリ展開を使っています。そのため、 \fB"tritonn"\fP という単語を含んでいるレコードが見つかります。3番目の \fBselect\fP コマンドはクエリ展開を使っていませんが、2番目の \fBselect\fP コマンドと同じ結果になります。これは、3番目の \fBselect\fP コマンドは展開後のクエリを使っているからです。
11516
+ 最初の \fBselect\fP コマンドはクエリー展開を使いません。そのため、 \fB"tritonn"\fP という単語を含んでいるレコードは見つかりません。2番目の \fBselect\fP コマンドはクエリー展開を使っています。そのため、 \fB"tritonn"\fP という単語を含んでいるレコードが見つかります。3番目の \fBselect\fP コマンドはクエリー展開を使っていませんが、2番目の \fBselect\fP コマンドと同じ結果になります。これは、3番目の \fBselect\fP コマンドは展開後のクエリーを使っているからです。
11021
11517
  .sp
11022
11518
  それぞれの置換する値は \fB(...)\fP や \fBOR\fP といった \fB/reference/grn_expr/query_syntax\fP を使えます。これらの構文を使うことにより複雑な置換をすることができます。
11023
11519
  .sp
11024
- 以下はクエリ構文を使った複雑な置換の使用例です。
11520
+ 以下はクエリー構文を使った複雑な置換の使用例です。
11025
11521
  .sp
11026
11522
  実行例:
11027
11523
  .sp
@@ -11080,7 +11576,7 @@ select Entries \-\-match_columns content \-\-query "popular" \-\-query_expansion
11080
11576
  .ft P
11081
11577
  .fi
11082
11578
  .sp
11083
- この \fBload\fP コマンドは新しく \fB"popular"\fP という類義語を登録しています。これは \fB((popular) OR (n_likes:>=10))\fP に置換されます。置換されたクエリは、「popular」というのは「popular」という単語を含んでいるか10以上の「いいね!」数を持つエントリという意味になります。
11579
+ この \fBload\fP コマンドは新しく \fB"popular"\fP という類義語を登録しています。これは \fB((popular) OR (n_likes:>=10))\fP に置換されます。置換されたクエリーは、「popular」というのは「popular」という単語を含んでいるか10以上の「いいね!」数を持つエントリという意味になります。
11084
11580
  .sp
11085
11581
  この \fBselect\fP コマンドは \fBEntries\fP テーブルの中から \fBn_likes\fP カラムの値が \fB10\fP 以上のレコードを出力します。
11086
11582
  .SS \fBquery_flags\fP
@@ -11107,7 +11603,7 @@ select Entries \-\-match_columns content \-\-query "popular" \-\-query_expansion
11107
11603
  .sp
11108
11604
  \fBALLOW_UPDATE\fP を指定すると \fBCOLUMN:=NEW_VALUE\fP という構文を使って \fBquery\fP でカラムの値を更新できます。カラム更新用の構文ではカラムを指定する必要があるため、 \fBALLOW_COLUMN\fP も一緒に指定する必要があります。
11109
11605
  .sp
11110
- \fBALLOW_LEADING_NOT\fP を指定すると \fB\-WORD\fP という構文を使って最初の条件として否定条件を指定できます。このクエリは \fBWORD\fP にマッチしないレコードを検索します。最初の条件に否定条件を使ったクエリは多くの場合重いクエリになります。これは多くのレコードにマッチするからです。そのため、このフラグはデフォルトでは無効になっています。もし、このフラグを使う場合は重いクエリとなるということを十分気をつけてください。
11606
+ \fBALLOW_LEADING_NOT\fP を指定すると \fB\-WORD\fP という構文を使って最初の条件として否定条件を指定できます。このクエリーは \fBWORD\fP にマッチしないレコードを検索します。最初の条件に否定条件を使ったクエリーは多くの場合重いクエリーになります。これは多くのレコードにマッチするからです。そのため、このフラグはデフォルトでは無効になっています。もし、このフラグを使う場合は重いクエリーとなるということを十分気をつけてください。
11111
11607
  .sp
11112
11608
  \fBNONE\fP は単に無視されます。フラグを指定しないときに \fBNONE\fP を使えます。
11113
11609
  .sp
@@ -12150,7 +12646,7 @@ status
12150
12646
  .RE
12151
12647
  .SS 名前
12152
12648
  .sp
12153
- suggest \- 指定されたクエリに対する補完・補正・提案候補を返す。
12649
+ suggest \- 指定されたクエリーに対する補完・補正・提案候補を返す。
12154
12650
  .SS 書式
12155
12651
  .sp
12156
12652
  .nf
@@ -12160,7 +12656,7 @@ suggest types table column query [sortby [output_columns [offset [limit [frequen
12160
12656
  .fi
12161
12657
  .SS 説明
12162
12658
  .sp
12163
- suggestコマンドは指定されたクエリに対する補完・補正・提案候補を返します。
12659
+ suggestコマンドは指定されたクエリーに対する補完・補正・提案候補を返します。
12164
12660
  .sp
12165
12661
  補完・補正・提案については \fB/suggest/introduction\fP を参照してください。
12166
12662
  .SS オプション
@@ -12228,7 +12724,7 @@ groonga\-suggest\-create\-dataset /tmp/db\-path query
12228
12724
  \fBtable\fP で指定したテーブルにあるふりがな情報を含むカラムを指定します。ふりがなはカタカナで指定します。
12229
12725
  .TP
12230
12726
  .B \fBquery\fP
12231
- 補完・補正・提案対象のクエリを指定します。
12727
+ 補完・補正・提案対象のクエリーを指定します。
12232
12728
  .TP
12233
12729
  .B \fBsortby\fP
12234
12730
  ソートキーを指定します。
@@ -12334,7 +12830,7 @@ groonga\-suggest\-create\-dataset /tmp/db\-path query
12334
12830
  \fBauto\fP
12335
12831
  .UNINDENT
12336
12832
  .UNINDENT
12337
- .SS 返値
12833
+ .SS 戻り値
12338
12834
  .SS JSON形式
12339
12835
  .sp
12340
12836
  返されるJSON形式は以下の通りです:
@@ -13220,49 +13716,226 @@ Object型はv1.2でサポートされます。
13220
13716
  .SS Tokenizers
13221
13717
  .sp
13222
13718
  TODO: Write me.
13223
- .SS 疑似カラム (pseudo_column)
13224
- .SS 名前
13719
+ .SS クエリー展開オブジェクト一覧
13720
+ .SS QueryExpanderTSV
13721
+ .SS 概要
13225
13722
  .sp
13226
- 疑似カラム
13227
- .SS 説明
13723
+ \fBQueryExpanderTSV\fP はクエリー展開プラグインです。同義語はTSV(データをタブで区切るファイルフォーマット)ファイルから読み込みます。このプラグインは組み込みのクエリー展開機能よりも機能が少ないです。例えば、単語の正規化をサポートしていません。しかし、TSVファイルで同義語を管理できるためこちらの方が使いやすいかもしれません。TSVファイルなのでExcelなどの表計算ソフトで同義語を編集できます。組み込みのクエリー展開機能では、groongaのテーブルとして同義語を管理します。
13724
+ .SS インストール
13228
13725
  .sp
13229
- groongaのデータベースで作成したテーブルには、いくつかのカラムが自動的に定義されます。
13726
+ \fBQueryExpanderTSV\fP を使う前に \fBquery_expanders/tsv\fP をプラグインとして登録します:
13230
13727
  .sp
13231
- これらのカラムはいずれもアンダースコア(\(aq_\(aq)で始まる名前が付与されます。定義される疑似カラムは、テーブルの種類によって異なります。
13728
+ .nf
13729
+ .ft C
13730
+ register query_expanders/tsv
13731
+ .ft P
13732
+ .fi
13733
+ .SS 使い方
13232
13734
  .sp
13233
- \fB_id\fP
13234
- .INDENT 0.0
13235
- .INDENT 3.5
13236
- レコードに付与される一意な番号です。全てのテーブルに定義されます。値の範囲は1〜1073741824の整数で、通常はレコードを追加した順に1ずつ加算されます。_idの値は不変で、レコードが存在する限り変更することはできません。ただし、削除されたレコードの_idの値は再利用されます。
13237
- .UNINDENT
13238
- .UNINDENT
13735
+ \fBselect\fP コマンドに \fB\-\-query_expansion QueryExpanderTSV\fP パラメーターを追加します:
13239
13736
  .sp
13240
- \fB_key\fP
13241
- .INDENT 0.0
13242
- .INDENT 3.5
13243
- レコードの主キー値を表します。主キーを持つテーブルのみに定義されます。主キー値はテーブルの中で一意であり、変更することはできません。
13244
- .UNINDENT
13245
- .UNINDENT
13737
+ .nf
13738
+ .ft C
13739
+ select \-\-query "QUERY" \-\-query_expansion QueryExpanderTSV
13740
+ .ft P
13741
+ .fi
13246
13742
  .sp
13247
- \fB_value\fP
13248
- .INDENT 0.0
13249
- .INDENT 3.5
13250
- レコードの値を表します。value_typeを指定したテーブルのみに定義されます。自由に変更可能です。
13251
- .UNINDENT
13252
- .UNINDENT
13743
+ \fBQUERY\fP 内に登録済みの同義語がある場合はそれらが展開されます。例えば、以下の同義語があるとします。
13744
+ .TS
13745
+ center;
13746
+ |l|l|l|.
13747
+ _
13748
+ T{
13749
+ 単語
13750
+ T} T{
13751
+ 同義語1
13752
+ T} T{
13753
+ 同義語2
13754
+ T}
13755
+ _
13756
+ T{
13757
+ groonga
13758
+ T} T{
13759
+ groonga
13760
+ T} T{
13761
+ Senna
13762
+ T}
13763
+ _
13764
+ T{
13765
+ mroonga
13766
+ T} T{
13767
+ mroonga
13768
+ T} T{
13769
+ groonga MySQL
13770
+ T}
13771
+ _
13772
+ .TE
13253
13773
  .sp
13254
- \fB_score\fP
13255
- .INDENT 0.0
13256
- .INDENT 3.5
13257
- 各レコードのスコア値を表します。検索結果として生成されたテーブルのみに定義されます。
13774
+ この表は、 \fB単語\fP の同義語は \fB同義語1\fP と \fB同義語2\fP という意味です。例えば、 \fBgroonga\fP の同義語は \fBgroonga\fP と \fBSenna\fP です。また、 \fBmroonga\fP の同義語は \fBmroonga\fP と \fBgroonga MySQL\fP です。
13258
13775
  .sp
13259
- 検索処理を実行する過程で値が設定されますが、自由に変更可能です。
13260
- .UNINDENT
13261
- .UNINDENT
13776
+ クエリーが \fBgroonga\fP のときのクエリー展開の例です:
13262
13777
  .sp
13263
- \fB_nsubrecs\fP
13264
- .INDENT 0.0
13265
- .INDENT 3.5
13778
+ .nf
13779
+ .ft C
13780
+ select \-\-query "groonga" \-\-query_expansion QueryExpanderTSV
13781
+ .ft P
13782
+ .fi
13783
+ .sp
13784
+ 上記のコマンドは以下のコマンドと同じ意味です:
13785
+ .sp
13786
+ .nf
13787
+ .ft C
13788
+ select \-\-query "groonga OR Senna" \-\-query_expansion QueryExpanderTSV
13789
+ .ft P
13790
+ .fi
13791
+ .sp
13792
+ クエリーが \fBmroonga search\fP のときのクエリー展開の例です:
13793
+ .sp
13794
+ .nf
13795
+ .ft C
13796
+ select \-\-query "mroonga search" \-\-query_expansion QueryExpanderTSV
13797
+ .ft P
13798
+ .fi
13799
+ .sp
13800
+ 上記のコマンドは以下のコマンドと同じ意味です:
13801
+ .sp
13802
+ .nf
13803
+ .ft C
13804
+ select \-\-query "(mroonga OR (groonga MySQL)) search" \-\-query_expansion QueryExpanderTSV
13805
+ .ft P
13806
+ .fi
13807
+ .sp
13808
+ 登録されている単語だけ(ここでは \fBgroonga\fP と \fBmroonga\fP )クエリー展開されて、登録されていない単語(ここでは \fBsearch\fP )はクエリー展開されていないことが大事なポイントです。また、再帰的にクエリー展開しません。クエリー展開した結果の \fB(mroonga OR (groonga MySQL))\fP の中に \fBgroonga\fP がありますが、これは展開されません。
13809
+ .sp
13810
+ 通常、同義語の中に \fB単語\fP 自身も含める必要があります。例えば、 \fBgroonga\fP と \fBmroonga\fP が同義語の中に含まれています。もし、 \fB単語\fP 自身を無視したい場合は同義語の中に \fB単語\fP を含めないでください。例えば、クエリー展開機能をスペル訂正機能として使う場合は、以下のような同義語を使ってください。
13811
+ .TS
13812
+ center;
13813
+ |l|l|.
13814
+ _
13815
+ T{
13816
+ 単語
13817
+ T} T{
13818
+ 同義語
13819
+ T}
13820
+ _
13821
+ T{
13822
+ gronga
13823
+ T} T{
13824
+ groonga
13825
+ T}
13826
+ _
13827
+ .TE
13828
+ .sp
13829
+ \fB単語\fP の \fBgronga\fP には誤字があります。 \fBo\fP がひとつ足りません。 \fB同義語\fP の \fBgroonga\fP が正しい単語です。
13830
+ .sp
13831
+ スペル訂正機能としてクエリー展開機能を使う例です:
13832
+ .sp
13833
+ .nf
13834
+ .ft C
13835
+ select \-\-query "gronga" \-\-query_expansion QueryExpanderTSV
13836
+ .ft P
13837
+ .fi
13838
+ .sp
13839
+ 上記のコマンドは以下のコマンドと同じ意味です:
13840
+ .sp
13841
+ .nf
13842
+ .ft C
13843
+ select \-\-query "groonga" \-\-query_expansion QueryExpanderTSV
13844
+ .ft P
13845
+ .fi
13846
+ .sp
13847
+ 前者のコマンドは \fB\-\-query\fP の値に誤字がありますが、後者のコマンドは誤字がありません。
13848
+ .SS TSVファイル
13849
+ .sp
13850
+ 同義語はTSVフォーマットのファイルで定義します。このセクションでは定義方法について説明します。
13851
+ .SS 場所
13852
+ .sp
13853
+ TSVファイルのファイル名は \fBsynonyms.tsv\fP で、設定ディレクトリに置かなければいけません。例えば、 \fB/etc/groonga/synonyms.tsv\fP がTSVファイルの場所になります。場所はビルド時に決まります。
13854
+ .sp
13855
+ 環境変数 \fBGRN_QUERY_EXPANDER_TSV_SYNONYMS_FILE\fP を指定することで実行時に場所を変更することもできます:
13856
+ .sp
13857
+ .nf
13858
+ .ft C
13859
+ % env GRN_QUERY_EXPANDER_TSV_SYNONYMS_FILE=/tmp/synonyms.tsv groonga
13860
+ .ft P
13861
+ .fi
13862
+ .sp
13863
+ 上述のコマンドでは \fB/tmp/synonyms.tsv\fP ファイルが使われます。
13864
+ .SS フォーマット
13865
+ .sp
13866
+ TSVファイル内に0個以上の同義語を定義することができます。1行につき \fB単語\fP と \fB同義語リスト\fP のペアを定義します。 \fB\-\-query\fP の値の中にでてきた \fB単語\fP は \fB同義語リスト\fP に展開されます。 \fB同義語リスト\fP は \fBOR\fP でまとめます。例えば、同義語リスト \fBgroonga\fP と \fBSenna\fP は \fBgroonga OR Senna\fP と展開されます。
13867
+ .sp
13868
+ 最初のカラムが \fB単語\fP で、残りのカラムが \fB単語\fP の \fB同義語リスト\fP になります。以下は、 \fB単語\fP が \fBgroonga\fP で、 \fB同義語リスト\fP が \fBgroonga\fP と \fBsynonyms\fP の例です。 \fB(TAB)\fP はタブ文字( \fBU+0009\fP )という意味です:
13869
+ .sp
13870
+ .nf
13871
+ .ft C
13872
+ groonga(TAB)groonga(TAB)Senna
13873
+ .ft P
13874
+ .fi
13875
+ .sp
13876
+ コメント行をサポートしています。 \fB#\fP から始まる行は無視します。以下はコメント行の例です。 \fBgroonga\fP とある行はコメント行として無視されます:
13877
+ .sp
13878
+ .nf
13879
+ .ft C
13880
+ #groonga(TAB)groonga(TAB)Senna
13881
+ mroonga(TAB)mroonga(TAB)groonga MySQL
13882
+ .ft P
13883
+ .fi
13884
+ .SS 制限
13885
+ .sp
13886
+ 同義語を再読み込みするにはgroongaを再起動する必要があります。TSVファイルはプラグイン読み込み時に一度だけ読み込みます。
13887
+ .SS 参考
13888
+ .INDENT 0.0
13889
+ .INDENT 3.5
13890
+ .INDENT 0.0
13891
+ .IP \(bu 2
13892
+ \fIquery\-expansion\fP
13893
+ .UNINDENT
13894
+ .UNINDENT
13895
+ .UNINDENT
13896
+ .SS 疑似カラム (pseudo_column)
13897
+ .SS 名前
13898
+ .sp
13899
+ 疑似カラム
13900
+ .SS 説明
13901
+ .sp
13902
+ groongaのデータベースで作成したテーブルには、いくつかのカラムが自動的に定義されます。
13903
+ .sp
13904
+ これらのカラムはいずれもアンダースコア(\(aq_\(aq)で始まる名前が付与されます。定義される疑似カラムは、テーブルの種類によって異なります。
13905
+ .sp
13906
+ \fB_id\fP
13907
+ .INDENT 0.0
13908
+ .INDENT 3.5
13909
+ レコードに付与される一意な番号です。全てのテーブルに定義されます。値の範囲は1〜1073741824の整数で、通常はレコードを追加した順に1ずつ加算されます。_idの値は不変で、レコードが存在する限り変更することはできません。ただし、削除されたレコードの_idの値は再利用されます。
13910
+ .UNINDENT
13911
+ .UNINDENT
13912
+ .sp
13913
+ \fB_key\fP
13914
+ .INDENT 0.0
13915
+ .INDENT 3.5
13916
+ レコードの主キー値を表します。主キーを持つテーブルのみに定義されます。主キー値はテーブルの中で一意であり、変更することはできません。
13917
+ .UNINDENT
13918
+ .UNINDENT
13919
+ .sp
13920
+ \fB_value\fP
13921
+ .INDENT 0.0
13922
+ .INDENT 3.5
13923
+ レコードの値を表します。value_typeを指定したテーブルのみに定義されます。自由に変更可能です。
13924
+ .UNINDENT
13925
+ .UNINDENT
13926
+ .sp
13927
+ \fB_score\fP
13928
+ .INDENT 0.0
13929
+ .INDENT 3.5
13930
+ 各レコードのスコア値を表します。検索結果として生成されたテーブルのみに定義されます。
13931
+ .sp
13932
+ 検索処理を実行する過程で値が設定されますが、自由に変更可能です。
13933
+ .UNINDENT
13934
+ .UNINDENT
13935
+ .sp
13936
+ \fB_nsubrecs\fP
13937
+ .INDENT 0.0
13938
+ .INDENT 3.5
13266
13939
  主キーの値が同一であったレコードの件数を表します。検索結果として生成されたテーブルのみに定義されます。グループ化(drilldown)処理を実行すると、グループ化前のテーブルにおいて、グループ化キーの値が同一であったレコードの件数が、グループ化処理の結果を格納するテーブルの_nsubrecsに記録されます。
13267
13940
  .UNINDENT
13268
13941
  .UNINDENT
@@ -13291,11 +13964,11 @@ grn_expr関連のAPIを呼ぶ。
13291
13964
  \fB/reference/grn_expr/script_syntax\fP はECMAScriptに似た構文です。 \fB/reference/grn_expr/script_syntax\fP ではすべての条件式と集合演算を使えます。 \fB/reference/grn_expr/script_syntax\fP は \fB/reference/commands/select\fP の \fBfilter\fP オプションで指定する検索条件や \fBscorer\fP オプションで指定する式で使えます。
13292
13965
  .sp
13293
13966
  groongaをライブラリとして使うと、grn_expr関連のAPIを呼び出してgrn_exprを作ることができます。 \fB/reference/grn_expr/script_syntax\fP のように、APIを呼び出すと全ての機能を使えます。grn_exprを作る構文を新しく作るときにはAPIが便利です。APIは \fI\%rroonga\fP というgroongaのRubyバインディングで使われています。rroongaでは文字列をパースするのではなく、Rubyの構文を使ってgrn_exprを作ることができます。
13294
- .SS クエリ構文
13967
+ .SS クエリー構文
13295
13968
  .sp
13296
- クエリ構文は一般的なWebの検索フォームで検索条件を指定するための構文です。Googleの検索フォームで使われている構文に似ています。例えば、 \fBword1 word2\fP は \fBword1\fP と \fBword2\fP の両方の単語を含んだレコードを検索するという意味です。 \fBword1 OR word2\fP は \fBword1\fP または \fBword2\fP のどちらかの単語を含んだレコードを検索します。
13969
+ クエリー構文は一般的なWebの検索フォームで検索条件を指定するための構文です。Googleの検索フォームで使われている構文に似ています。例えば、 \fBword1 word2\fP は \fBword1\fP と \fBword2\fP の両方の単語を含んだレコードを検索するという意味です。 \fBword1 OR word2\fP は \fBword1\fP または \fBword2\fP のどちらかの単語を含んだレコードを検索します。
13297
13970
  .sp
13298
- クエリ構文は \fB条件式\fP と \fB結合式\fP と \fB代入式\fP から成ります。通常、 \fB代入式\fP は考えなくてよいです。なぜなら、 \fB代入式\fP は \fB/reference/commands/select\fP の \fB\-\-query\fP オプションでは無効になっているからです。groongaをライブラリとして使ったときは、クエリ構文のパーサーのオプションをカスタマイズすることで \fB代入式\fP を有効にすることができます。
13971
+ クエリー構文は \fB条件式\fP と \fB結合式\fP と \fB代入式\fP から成ります。通常、 \fB代入式\fP は考えなくてよいです。なぜなら、 \fB代入式\fP は \fB/reference/commands/select\fP の \fB\-\-query\fP オプションでは無効になっているからです。groongaをライブラリとして使ったときは、クエリー構文のパーサーのオプションをカスタマイズすることで \fB代入式\fP を有効にすることができます。
13299
13972
  .sp
13300
13973
  \fB条件式\fP は条件を指定します。 \fB結合式\fP は1つ以上の \fB条件式\fP 、 \fB結合式\fP 、 \fB代入式\fP から成ります。 \fB代入式\fP はカラムに値を代入します。
13301
13974
  .SS サンプルデータ
@@ -13347,7 +14020,7 @@ load \-\-table Entries
13347
14020
  これで例を示すためのスキーマとデータの準備ができました。
13348
14021
  .SS エスケープ
13349
14022
  .sp
13350
- クエリ構文には特別な文字があります。特別な文字それ自体を使うためには文字の前に \fB\e\fP をつけてエスケープしなければいけません。例えば、 \fB"\fP は特別な文字です。これは \fB\e"\fP というようにエスケープします。
14023
+ クエリー構文には特別な文字があります。特別な文字それ自体を使うためには文字の前に \fB\e\fP をつけてエスケープしなければいけません。例えば、 \fB"\fP は特別な文字です。これは \fB\e"\fP というようにエスケープします。
13351
14024
  .sp
13352
14025
  以下が特別な文字のリストです:
13353
14026
  .INDENT 0.0
@@ -14478,11 +15151,11 @@ select Entries \-\-query \(aqn_likes:<5 (content:@senna OR content:@fast)\(aq
14478
15151
  .sp
14479
15152
  このセクションは高度なユーザー向けです。それは、代入式は \fB/reference/commands/select\fP の \fB\-\-query\fP オプションではデフォルトでは無効になっているからです。代入式を有効にするには \fB\-\-query_flags\fP オプションに \fBALLOW_COLUMN|ALLOW_UPDATE\fP を指定してください。
14480
15153
  .sp
14481
- クエリ構文における代入式にはいくつか制限があります。代入にはクエリ構文の代りに \fB/reference/grn_expr/script_syntax\fP を使ってください。
15154
+ クエリー構文における代入式にはいくつか制限があります。代入にはクエリー構文の代りに \fB/reference/grn_expr/script_syntax\fP を使ってください。
14482
15155
  .sp
14483
15156
  代入式の構文は1つだけです。 \fBcolumn:=value\fP となります。
14484
15157
  .sp
14485
- \fBvalue\fP は \fBcolumn\fP に代入されます。 \fBvalue\fP は常にクエリ構文では文字列として扱われます。 \fBvalue\fP は \fBcolumn\fP の型へと自動的にキャストされます。 キャストにはいくつか制限があります。例えば \fBtrue\fP や \fBfalse\fP といった真偽値のリテラルを \fBBool\fP 型のカラムに使用することができません。 \fBfalse\fP については空文字列を使う必要がありますが、クエリ構文は \fBcolumn:=\fP 構文をサポートしていません。
15158
+ \fBvalue\fP は \fBcolumn\fP に代入されます。 \fBvalue\fP は常にクエリー構文では文字列として扱われます。 \fBvalue\fP は \fBcolumn\fP の型へと自動的にキャストされます。 キャストにはいくつか制限があります。例えば \fBtrue\fP や \fBfalse\fP といった真偽値のリテラルを \fBBool\fP 型のカラムに使用することができません。 \fBfalse\fP については空文字列を使う必要がありますが、クエリー構文は \fBcolumn:=\fP 構文をサポートしていません。
14486
15159
  .sp
14487
15160
  キャストについては \fB/reference/cast\fP を参照してください。
14488
15161
  .SS スクリプト構文
@@ -16275,7 +16948,13 @@ select Words \-\-filter \(aq_key *T "Groonga is the successor project to Senna."
16275
16948
  .UNINDENT
16276
16949
  .UNINDENT
16277
16950
  .UNINDENT
16278
- .SS 組み込み関数一覧
16951
+ .SS 関数
16952
+ .sp
16953
+ 関数はいくつかのコマンドの中で使えます。 \fBcommands/select\fP コマンドの \fB\-\-filter\fP 、 \fB\-\-scorer\fP 、 \fBoutput_columns\fP オプションで使えます。
16954
+ .sp
16955
+ このセクションでは関数についての説明と組み込みの関数について説明します。
16956
+ .sp
16957
+ TODO: Add documentations about function.
16279
16958
  .SS edit_distance
16280
16959
  .SS 名前
16281
16960
  .sp
@@ -16539,10 +17218,7 @@ GeoPointと座標については \fB/reference/type\fP を参照してくださ
16539
17218
  .UNINDENT
16540
17219
  .UNINDENT
16541
17220
  .IP ノート
16542
- \fBgeo_distance\fP には制限があります。子午線や日付変更線、赤道といった境界をまたぐ距離の計算を行うことができません。これはgroongaの実装上の一時的な制限ですが、将来的には修正される予定です。
16543
- .RE
16544
- .IP ノート
16545
- \fBgeo_distance\fP には上記の制限がありますが、近似方法に \fBrectangle\fP を選択した場合には制限が緩和されます。二点が両方とも北半球に存在するか、二点が両方とも北半球に存在する場合に限って距離を正しく算出することができます。
17221
+ \fBgeo_distance\fP には制限があります。 \fBsphere\fP や \fBellipsoid\fP を近似方法として選択した場合、子午線や日付変更線、赤道といった境界をまたぐ距離の計算を行うことができません。この制限は \fBrectangle\fP を近似方法として選択した場合にはありません。これはgroongaの実装上の一時的な制限ですが、将来的には修正される予定です。
16546
17222
  .RE
16547
17223
  .SS \fBrectangle\fP
16548
17224
  .sp
@@ -16617,6 +17293,107 @@ select Geo \-\-output_columns distance \-\-scorer \(aqdistance = geo_distance("1
16617
17293
  # ]
16618
17294
  .ft P
16619
17295
  .fi
17296
+ .sp
17297
+ 明示的に子午線や赤道、日付変更線をまたぐような位置を指定して距離を計算するサンプルは以下の通りです。
17298
+ .sp
17299
+ 実行例:
17300
+ .sp
17301
+ .nf
17302
+ .ft C
17303
+ select Geo \-\-output_columns distance \-\-scorer \(aqdistance = geo_distance("175904000x8464000", "145508000x\-13291000", "rectangle")\(aq
17304
+ # [
17305
+ # [
17306
+ # 0,
17307
+ # 1337566253.89858,
17308
+ # 0.000355720520019531
17309
+ # ],
17310
+ # [
17311
+ # [
17312
+ # [
17313
+ # 1
17314
+ # ],
17315
+ # [
17316
+ # [
17317
+ # "distance",
17318
+ # "Int32"
17319
+ # ]
17320
+ # ],
17321
+ # [
17322
+ # 1051293
17323
+ # ]
17324
+ # ]
17325
+ # ]
17326
+ # ]
17327
+ .ft P
17328
+ .fi
17329
+ .sp
17330
+ このサンプルは子午線をまたいだ場合の距離を示します。 \fBgeo_distance("175904000x8464000", "145508000x\-13291000", "rectangle")\fP はパリ(フランス)からマドリード(スペイン)間の距離を返します。
17331
+ .sp
17332
+ 実行例:
17333
+ .sp
17334
+ .nf
17335
+ .ft C
17336
+ select Geo \-\-output_columns distance \-\-scorer \(aqdistance = geo_distance("146566000x\-266422000", "\-56880000x\-172310000", "rectangle")\(aq
17337
+ # [
17338
+ # [
17339
+ # 0,
17340
+ # 1337566253.89858,
17341
+ # 0.000355720520019531
17342
+ # ],
17343
+ # [
17344
+ # [
17345
+ # [
17346
+ # 1
17347
+ # ],
17348
+ # [
17349
+ # [
17350
+ # "distance",
17351
+ # "Int32"
17352
+ # ]
17353
+ # ],
17354
+ # [
17355
+ # 6880439
17356
+ # ]
17357
+ # ]
17358
+ # ]
17359
+ # ]
17360
+ .ft P
17361
+ .fi
17362
+ .sp
17363
+ このサンプルは赤道をまたいだ場合の距離を示します。 \fBgeo_distance("146566000x\-266422000", "\-56880000x\-172310000", "rectangle")\fP はニューヨーク(アメリカ)からブラジリア(ブラジル)間の距離を返します。
17364
+ .sp
17365
+ 実行例:
17366
+ .sp
17367
+ .nf
17368
+ .ft C
17369
+ select Geo \-\-output_columns distance \-\-scorer \(aqdistance = geo_distance("143660000x419009000", "135960000x\-440760000", "rectangle")\(aq
17370
+ # [
17371
+ # [
17372
+ # 0,
17373
+ # 1337566253.89858,
17374
+ # 0.000355720520019531
17375
+ # ],
17376
+ # [
17377
+ # [
17378
+ # [
17379
+ # 1
17380
+ # ],
17381
+ # [
17382
+ # [
17383
+ # "distance",
17384
+ # "Int32"
17385
+ # ]
17386
+ # ],
17387
+ # [
17388
+ # 10475205
17389
+ # ]
17390
+ # ]
17391
+ # ]
17392
+ # ]
17393
+ .ft P
17394
+ .fi
17395
+ .sp
17396
+ このサンプルは日付変更線をまたいだ場合の距離を示します。 \fBgeo_distance("143660000x419009000", "135960000x\-440760000", "rectangle")\fP は北京(中国)からサンフランシスコ(アメリカ)間の距離を返します。
16620
17397
  .IP ノート
16621
17398
  \fBgeo_distance\fP は方形近似をデフォルトとして使用します。 \fBapproximate_type\fP を省略すると \fBgeo_distance\fP は \fBrectangle\fP が指定されたものとして振舞います。
16622
17399
  .RE
@@ -16703,7 +17480,7 @@ select Cities \-\-output_columns _score \-\-filter 1 \-\-scorer \(aq_score = geo
16703
17480
  # ]
16704
17481
  .ft P
16705
17482
  .fi
16706
- .SS 返値
17483
+ .SS 戻り値
16707
17484
  .sp
16708
17485
  \fBgeo_distance\fP はFloat型の値を距離として返します。単位はメートルです。
16709
17486
  脚注
@@ -16912,43 +17689,204 @@ rand(10)
16912
17689
  3
16913
17690
  .ft P
16914
17691
  .fi
16915
- .SS インデックス構築
16916
- .sp
16917
- groongaは1.3.1から動的なインデックス構築方法と静的なインデックス構築方法を両方サポートしています。
16918
- .SS 動的なインデックス構築方法
17692
+ .SS snippet_html
17693
+ .IP ご用心
17694
+ この機能は実験的です。APIが変わる可能性があります。
17695
+ .RE
17696
+ .SS 概要
16919
17697
  .sp
16920
- 動的なインデックス構築方法では、登録された文書はインデックス構築中にすぐに検索できるようになります。しかし、静的なインデックス構築方法に比べてコストがかかります。
17698
+ \fBsnippet_html\fP は対象テキスト中から検索キーワード周辺のテキスト( \fBKWIC\fP 。 \fBKeyWord In Context\fP )を抽出します。抽出されたテキストのことをスニペットと呼びます。スニペットはHTML中に埋め込みやすいように処理されています。 \fB<\fP や \fB>\fP などの特殊文字は \fB&lt;\fP や \fB&gt;\fP にエスケープされています。キーワードは \fB<span class="keyword">\fP と \fB</span>\fP で囲まれています。たとえば、 \fBI am a groonga user. <3\fP という対象テキストのキーワード \fBgroonga\fP でのスニペットは \fBI am a <span class="keyword">groonga</span> user. &lt;3\fP となります。
17699
+ .SS 構文
16921
17700
  .sp
16922
- 動的なインデックス構築方法は鮮度が重要な検索システムに適しています。例えば、つぶやきやニュースやブログ記事などを検索するシステムは鮮度が重要になるでしょう。動的なインデックス構築方法はできたばかりの文書を検索できるようにし、インデックス構築中も検索できます。
16923
- .SS 静的なインデックス構築方法
17701
+ \fBsnippet_html\fP の引数は1つだけです:
16924
17702
  .sp
16925
- 静的なインデックス構築方法では、動的なインデックス構築方法よりもインデックス構築にかかるコストが小さくなります。インデックス構築時間は短くなるでしょう。インデックスは小さくなるでしょう。インデックス構築に必要なリソースは少なくなるでしょう。しかし、登録中の文書は登録しようとしている全ての文書のインデックス構築が終わるまで検索できません。
17703
+ .nf
17704
+ .ft C
17705
+ snippet_html(column)
17706
+ .ft P
17707
+ .fi
16926
17708
  .sp
16927
- 静的なインデックス構築方法は消費リソースが少ないことが重要な検索システムに適しています。鮮度が重要でないシステムであれば静的なインデックス構築方法が適しているでしょう。例えば、リファレンスマニュアルを検索するシステムは鮮度を重視しません。これは、リファレンスマニュアルはリリース時にだけ更新されるだけだからです。
17709
+ \fBsnippet_html\fP は内部にはたくさんのオプションがありますが、今はまだ指定できません。じきに指定できるようになる予定です。
16928
17710
  .SS 使い方
16929
17711
  .sp
16930
- groongaはデフォルトで動的なインデックス構築方法を使います。文書を登録するとすぐに検索できるようになります。
16931
- .sp
16932
- すでにデータが格納されているカラムにインデックスを追加した場合は静的なインデックス構築方法を使います。
16933
- .sp
16934
- スキーマを定義します。
17712
+ 使い方を示すために使うスキーマ定義とサンプルデータは以下の通りです。
16935
17713
  .sp
16936
17714
  実行例:
16937
17715
  .sp
16938
17716
  .nf
16939
17717
  .ft C
16940
- table_create Tweets TABLE_NO_KEY
17718
+ table_create Documents TABLE_NO_KEY
16941
17719
  # [[0, 1337566253.89858, 0.000355720520019531], true]
16942
- column_create Tweets content COLUMN_SCALAR ShortText
17720
+ column_create Documents content COLUMN_SCALAR Text
16943
17721
  # [[0, 1337566253.89858, 0.000355720520019531], true]
16944
- table_create Lexicon TABLE_HASH_KEY|KEY_NORMALIZE ShortText \-\-default_tokenizer TokenBigram
17722
+ table_create Terms TABLE_PAT_KEY|KEY_NORMALIZE ShortText \-\-default_tokenizer TokenBigram
16945
17723
  # [[0, 1337566253.89858, 0.000355720520019531], true]
17724
+ column_create Terms documents_content_index COLUMN_INDEX|WITH_POSITION Documents content
17725
+ # [[0, 1337566253.89858, 0.000355720520019531], true]
17726
+ load \-\-table Documents
17727
+ [
17728
+ ["content"],
17729
+ ["Groonga is a fast and accurate full text search engine based on inverted index. One of the characteristics of groonga is that a newly registered document instantly appears in search results. Also, groonga allows updates without read locks. These characteristics result in superior performance on real\-time applications."],
17730
+ ["Groonga is also a column\-oriented database management system (DBMS). Compared with well\-known row\-oriented systems, such as MySQL and PostgreSQL, column\-oriented systems are more suited for aggregate queries. Due to this advantage, groonga can cover weakness of row\-oriented systems."]
17731
+ ]
17732
+ # [[0, 1337566253.89858, 0.000355720520019531], 2]
16946
17733
  .ft P
16947
17734
  .fi
16948
17735
  .sp
16949
- データを登録します:
17736
+ \fBsnippet_html\fP は \fB/reference/commands/select\fP コマンドの \fB\-\-output_columns\fP 内でのみ指定できます。
16950
17737
  .sp
16951
- 実行例:
17738
+ groonga 2.0.9では \fBoutput_columns\fP 内での関数呼び出しはまだ実験的な機能なので、明示的に \fB\-\-command_version 2\fP オプションを指定する必要があります。この機能はじきに有効になる予定です。
17739
+ .sp
17740
+ また、 \fB\-\-query\fP と \fB\-\-filter\fP オプションも指定する必要があります。(どちらか一方でも構いません。)これは、 \fB\-\-query\fP と \fB\-\-filter\fP オプションからキーワードを抽出しているためです。
17741
+ .sp
17742
+ 以下の例は \fB\-\-query "fast performance"\fP を使っています。この場合は、キーワードとして \fBfast\fP と \fBperformance\fP を使います。
17743
+ .sp
17744
+ 実行例:
17745
+ .sp
17746
+ .nf
17747
+ .ft C
17748
+ select Documents \-\-output_columns "snippet_html(content)" \-\-command_version 2 \-\-match_columns content \-\-query "fast performance"
17749
+ # [
17750
+ # [
17751
+ # 0,
17752
+ # 1337566253.89858,
17753
+ # 0.000355720520019531
17754
+ # ],
17755
+ # [
17756
+ # [
17757
+ # [
17758
+ # 1
17759
+ # ],
17760
+ # [
17761
+ # [
17762
+ # "snippet_html",
17763
+ # "null"
17764
+ # ]
17765
+ # ],
17766
+ # [
17767
+ # [
17768
+ # "Groonga is a <span class=\e"keyword\e">fast</span> and accurate full text search engine based on inverted index. One of the characteristics of groonga is that a newly registered document instantly appears in search results. Also, gro",
17769
+ # "onga allows updates without read locks. These characteristics result in superior <span class=\e"keyword\e">performance</span> on real\-time applications."
17770
+ # ]
17771
+ # ]
17772
+ # ]
17773
+ # ]
17774
+ # ]
17775
+ .ft P
17776
+ .fi
17777
+ .sp
17778
+ \fB\-\-query "fast performance"\fP は最初のレコードの内容にだけマッチします。 \fBsnippet_html(content)\fP は、テキスト中からキーワード \fBfast\fP と \fBperformance\fP の少なくともどちらか一方を含んでいるテキストの断片を抽出します。今回は2箇所抽出しています。そして、抽出したテキストの断片内にあるキーワードを \fB<span class="keyword">\fP と \fB</span>\fP で囲みます。
17779
+ .sp
17780
+ テキストの断片数は多くても3です。4つ以上のテキストの断片が抽出できるときは、最初の3つだけを使います。
17781
+ .sp
17782
+ テキストの断片の最大サイズは200バイトです。単位は文字数ではなくバイトです。挿入される \fB<span keyword="keyword">\fP と \fB</span>\fP のバイト数はこのサイズの中には含まれません。
17783
+ .sp
17784
+ テキストの断片の最大数とテキストの断片の最大サイズはカスタマイズできません。
17785
+ .sp
17786
+ カラムの代わりに文字列リテラルを指定することもできます。
17787
+ .sp
17788
+ 実行例:
17789
+ .sp
17790
+ .nf
17791
+ .ft C
17792
+ select Documents \-\-output_columns \(aqsnippet_html("Groonga is very fast fulltext search engine.")\(aq \-\-command_version 2 \-\-match_columns content \-\-query "fast performance"
17793
+ # [
17794
+ # [
17795
+ # 0,
17796
+ # 1337566253.89858,
17797
+ # 0.000355720520019531
17798
+ # ],
17799
+ # [
17800
+ # [
17801
+ # [
17802
+ # 1
17803
+ # ],
17804
+ # [
17805
+ # [
17806
+ # "snippet_html",
17807
+ # "null"
17808
+ # ]
17809
+ # ],
17810
+ # [
17811
+ # [
17812
+ # "Groonga is very <span class=\e"keyword\e">fast</span> fulltext search engine."
17813
+ # ]
17814
+ # ]
17815
+ # ]
17816
+ # ]
17817
+ # ]
17818
+ .ft P
17819
+ .fi
17820
+ .SS 戻り値
17821
+ .sp
17822
+ \fBsnippet_html\fP は文字列の配列を返します。それぞれの要素がスニペットになります:
17823
+ .sp
17824
+ .nf
17825
+ .ft C
17826
+ [SNIPPET1, SNIPPET2, SNIPPET3]
17827
+ .ft P
17828
+ .fi
17829
+ .sp
17830
+ スニペットには1つ以上のキーワードが含まれています。 \fB<span keyword="keyword">\fP と \fB</span>\fP を除いたスニペットの最大サイズは200byteです。単位は文字数ではなくてバイトです。
17831
+ .sp
17832
+ 配列のサイズは0以上3以下です。最大サイズの3は、じきにカスタマイズできるようになる予定です。
17833
+ .SS TODO
17834
+ .INDENT 0.0
17835
+ .IP \(bu 2
17836
+ テキストの断片の最大数をカスタマイズできるようにする。
17837
+ .IP \(bu 2
17838
+ テキストの断片最大サイズをカスタマイズできるようにする。
17839
+ .IP \(bu 2
17840
+ キーワードをカスタマイズできるようにする。
17841
+ .IP \(bu 2
17842
+ キーワードを囲むタグをカスタマイズできるようにする。
17843
+ .IP \(bu 2
17844
+ 正規化の方法をカスタマイズできるようにする。
17845
+ .IP \(bu 2
17846
+ オブジェクトリテラル形式でのオプション指定をサポートする。
17847
+ .UNINDENT
17848
+ .SS 参考
17849
+ .INDENT 0.0
17850
+ .IP \(bu 2
17851
+ \fB/reference/commands/select\fP
17852
+ .UNINDENT
17853
+ .SS インデックス構築
17854
+ .sp
17855
+ groongaは2.0.0から動的なインデックス構築方法と静的なインデックス構築方法を両方サポートしています。
17856
+ .SS 動的なインデックス構築方法
17857
+ .sp
17858
+ 動的なインデックス構築方法では、登録された文書はインデックス構築中にすぐに検索できるようになります。しかし、静的なインデックス構築方法に比べてコストがかかります。
17859
+ .sp
17860
+ 動的なインデックス構築方法は鮮度が重要な検索システムに適しています。例えば、つぶやきやニュースやブログ記事などを検索するシステムは鮮度が重要になるでしょう。動的なインデックス構築方法はできたばかりの文書を検索できるようにし、インデックス構築中も検索できます。
17861
+ .SS 静的なインデックス構築方法
17862
+ .sp
17863
+ 静的なインデックス構築方法では、動的なインデックス構築方法よりもインデックス構築にかかるコストが小さくなります。インデックス構築時間は短くなるでしょう。インデックスは小さくなるでしょう。インデックス構築に必要なリソースは少なくなるでしょう。しかし、登録中の文書は登録しようとしている全ての文書のインデックス構築が終わるまで検索できません。
17864
+ .sp
17865
+ 静的なインデックス構築方法は消費リソースが少ないことが重要な検索システムに適しています。鮮度が重要でないシステムであれば静的なインデックス構築方法が適しているでしょう。例えば、リファレンスマニュアルを検索するシステムは鮮度を重視しません。これは、リファレンスマニュアルはリリース時にだけ更新されるだけだからです。
17866
+ .SS 使い方
17867
+ .sp
17868
+ groongaはデフォルトで動的なインデックス構築方法を使います。文書を登録するとすぐに検索できるようになります。
17869
+ .sp
17870
+ すでにデータが格納されているカラムにインデックスを追加した場合は静的なインデックス構築方法を使います。
17871
+ .sp
17872
+ スキーマを定義します。
17873
+ .sp
17874
+ 実行例:
17875
+ .sp
17876
+ .nf
17877
+ .ft C
17878
+ table_create Tweets TABLE_NO_KEY
17879
+ # [[0, 1337566253.89858, 0.000355720520019531], true]
17880
+ column_create Tweets content COLUMN_SCALAR ShortText
17881
+ # [[0, 1337566253.89858, 0.000355720520019531], true]
17882
+ table_create Lexicon TABLE_HASH_KEY|KEY_NORMALIZE ShortText \-\-default_tokenizer TokenBigram
17883
+ # [[0, 1337566253.89858, 0.000355720520019531], true]
17884
+ .ft P
17885
+ .fi
17886
+ .sp
17887
+ データを登録します:
17888
+ .sp
17889
+ 実行例:
16952
17890
  .sp
16953
17891
  .nf
16954
17892
  .ft C
@@ -17113,7 +18051,7 @@ customized by \fI\-\-log\-path\fP option. Each log has its
17113
18051
  log level. If a log is smaller than groonga process\(aq log
17114
18052
  level, it\(aqs not logged. Log level can be customized by
17115
18053
  \fI\-l\fP or \fBcommands/log_level\fP.
17116
- .SS Format
18054
+ .SS フォーマット
17117
18055
  .sp
17118
18056
  Process log uses the following format:
17119
18057
  .sp
@@ -17229,7 +18167,7 @@ log opened.
17229
18167
  .sp
17230
18168
  Query log is disabled by default. It can be enabled by
17231
18169
  \fI\-\-query\-log\-path\fP option.
17232
- .SS Format
18170
+ .SS フォーマット
17233
18171
  .sp
17234
18172
  Query log uses the following formats:
17235
18173
  .sp
@@ -17386,6 +18324,407 @@ rc=0
17386
18324
  .sp
17387
18325
  TODO...
17388
18326
  .SH 仕様
18327
+ .SS GQTP
18328
+ .sp
18329
+ GQTPはGroonga Query Transfer Protocolの頭文字です。GQTPはgroonga用の独自プロトコルです。
18330
+ .SS プロトコル
18331
+ .sp
18332
+ GQTPはステートフルなクライアント・サーバーモデルのプロトコルです。以下の流れが1つの処理単位です:
18333
+ .INDENT 0.0
18334
+ .IP \(bu 2
18335
+ クライアントがリクエストを送る
18336
+ .IP \(bu 2
18337
+ サーバーがリクエストを受け取る
18338
+ .IP \(bu 2
18339
+ サーバーがリクエストを処理する
18340
+ .IP \(bu 2
18341
+ サーバーがレスポンスを返す
18342
+ .IP \(bu 2
18343
+ クライアントがレスポンスを受け取る
18344
+ .UNINDENT
18345
+ .sp
18346
+ 1つのセッション内で0個以上の処理単位を実行できます。
18347
+ .sp
18348
+ リクエストもレスポンスもGQTPヘッダーとボディから成ります。GQTPヘッダーは固定長のデータです。ボディは可変長サイズのデータです。ボディのサイズはGQTPヘッダーの中に入っています。GQTPではボディの中身については何も定義しません。
18349
+ .SS GQTPヘッダー
18350
+ .sp
18351
+ GQTPヘッダーは以下の符号なし整数値から成ります:
18352
+ .TS
18353
+ center;
18354
+ |l|l|l|.
18355
+ _
18356
+ T{
18357
+ 名前
18358
+ T} T{
18359
+ サイズ
18360
+ T} T{
18361
+ 説明
18362
+ T}
18363
+ _
18364
+ T{
18365
+ \fBprotocol\fP
18366
+ T} T{
18367
+ 1byte
18368
+ T} T{
18369
+ プロトコルの種類。
18370
+ T}
18371
+ _
18372
+ T{
18373
+ \fBquery_type\fP
18374
+ T} T{
18375
+ 1byte
18376
+ T} T{
18377
+ ボディのコンテントタイプ。
18378
+ T}
18379
+ _
18380
+ T{
18381
+ \fBkey_length\fP
18382
+ T} T{
18383
+ 2byte
18384
+ T} T{
18385
+ 未使用。
18386
+ T}
18387
+ _
18388
+ T{
18389
+ \fBlevel\fP
18390
+ T} T{
18391
+ 1byte
18392
+ T} T{
18393
+ 未使用。
18394
+ T}
18395
+ _
18396
+ T{
18397
+ \fBflags\fP
18398
+ T} T{
18399
+ 1byte
18400
+ T} T{
18401
+ フラグ。
18402
+ T}
18403
+ _
18404
+ T{
18405
+ \fBstatus\fP
18406
+ T} T{
18407
+ 2byte
18408
+ T} T{
18409
+ リターンコード。
18410
+ T}
18411
+ _
18412
+ T{
18413
+ \fBsize\fP
18414
+ T} T{
18415
+ 4byte
18416
+ T} T{
18417
+ ボディのサイズ。
18418
+ T}
18419
+ _
18420
+ T{
18421
+ \fBopaque\fP
18422
+ T} T{
18423
+ 4byte
18424
+ T} T{
18425
+ 未使用。
18426
+ T}
18427
+ _
18428
+ T{
18429
+ \fBcas\fP
18430
+ T} T{
18431
+ 8byte
18432
+ T} T{
18433
+ 未使用。
18434
+ T}
18435
+ _
18436
+ .TE
18437
+ .sp
18438
+ ヘッダーのすべての値はネットワークバイトオーダーを使っています。
18439
+ .sp
18440
+ 以下のセクションではそれぞれのヘッダーの値で利用可能な値について説明します。
18441
+ .sp
18442
+ GQTPヘッダーは全部で24byteになります。
18443
+ .SS \fBprotocol\fP
18444
+ .sp
18445
+ リクエストのGQTPヘッダーでもレスポンスのGQTPヘッダーでも、この値は常に \fB0xc7\fP になります。
18446
+ .SS \fBquery_type\fP
18447
+ .sp
18448
+ この値は以下のいずれかの値です:
18449
+ .TS
18450
+ center;
18451
+ |l|l|l|.
18452
+ _
18453
+ T{
18454
+ 名前
18455
+ T} T{
18456
+
18457
+ T} T{
18458
+ 説明
18459
+ T}
18460
+ _
18461
+ T{
18462
+ \fBNONE\fP
18463
+ T} T{
18464
+ 0
18465
+ T} T{
18466
+ 自由形式。
18467
+ T}
18468
+ _
18469
+ T{
18470
+ \fBTSV\fP
18471
+ T} T{
18472
+ 1
18473
+ T} T{
18474
+ 値をタブで区切った形式。
18475
+ T}
18476
+ _
18477
+ T{
18478
+ \fBJSON\fP
18479
+ T} T{
18480
+ 2
18481
+ T} T{
18482
+ JSON。
18483
+ T}
18484
+ _
18485
+ T{
18486
+ \fBXML\fP
18487
+ T} T{
18488
+ 3
18489
+ T} T{
18490
+ XML。
18491
+ T}
18492
+ _
18493
+ T{
18494
+ \fBMSGPACK\fP
18495
+ T} T{
18496
+ 4
18497
+ T} T{
18498
+ MessagePack。
18499
+ T}
18500
+ _
18501
+ .TE
18502
+ .sp
18503
+ リクエストGQTPヘッダーでは使われません。
18504
+ .sp
18505
+ レスポンスGQTPヘッダーで使われます。ボディは指定した形式にします。
18506
+ .SS \fBflags\fP
18507
+ .sp
18508
+ この値は以下の値をビット単位ORしたものになります:
18509
+ .TS
18510
+ center;
18511
+ |l|l|l|.
18512
+ _
18513
+ T{
18514
+ 名前
18515
+ T} T{
18516
+
18517
+ T} T{
18518
+ 説明
18519
+ T}
18520
+ _
18521
+ T{
18522
+ \fBMORE\fP
18523
+ T} T{
18524
+ 0x01
18525
+ T} T{
18526
+ まだデータがあります。
18527
+ T}
18528
+ _
18529
+ T{
18530
+ \fBTAIL\fP
18531
+ T} T{
18532
+ 0x02
18533
+ T} T{
18534
+ これ以上データはありません。
18535
+ T}
18536
+ _
18537
+ T{
18538
+ \fBHEAD\fP
18539
+ T} T{
18540
+ 0x04
18541
+ T} T{
18542
+ 未使用。
18543
+ T}
18544
+ _
18545
+ T{
18546
+ \fBQUIET\fP
18547
+ T} T{
18548
+ 0x08
18549
+ T} T{
18550
+ レスポンスを出力しません。
18551
+ T}
18552
+ _
18553
+ T{
18554
+ \fBQUIT\fP
18555
+ T} T{
18556
+ 0x10
18557
+ T} T{
18558
+ 終了します。
18559
+ T}
18560
+ _
18561
+ .TE
18562
+ .sp
18563
+ \fBMORE\fP あるいは \fBTAIL\fP フラグは必ず指定しないといけません。
18564
+ .sp
18565
+ \fBMORE\fP フラグを使うときは \fBQUIET\fP フラグも使うべきです。リクエストが途中のときはレスポンスを出力する必要がないからです。
18566
+ .sp
18567
+ セッションを終了するときは \fBQUIT\fP フラグを使ってください。
18568
+ .SS \fBstatus\fP
18569
+ .sp
18570
+ 利用可能な値です。将来的に新しいステータスが追加される可能性があります。
18571
+ .INDENT 0.0
18572
+ .IP \(bu 2
18573
+ 0: \fBSUCCESS\fP
18574
+ .IP \(bu 2
18575
+ 1: \fBEND_OF_DATA\fP
18576
+ .IP \(bu 2
18577
+ 65535: \fBUNKNOWN_ERROR\fP
18578
+ .IP \(bu 2
18579
+ 65534: \fBOPERATION_NOT_PERMITTED\fP
18580
+ .IP \(bu 2
18581
+ 65533: \fBNO_SUCH_FILE_OR_DIRECTORY\fP
18582
+ .IP \(bu 2
18583
+ 65532: \fBNO_SUCH_PROCESS\fP
18584
+ .IP \(bu 2
18585
+ 65531: \fBINTERRUPTED_FUNCTION_CALL\fP
18586
+ .IP \(bu 2
18587
+ 65530: \fBINPUT_OUTPUT_ERROR\fP
18588
+ .IP \(bu 2
18589
+ 65529: \fBNO_SUCH_DEVICE_OR_ADDRESS\fP
18590
+ .IP \(bu 2
18591
+ 65528: \fBARG_LIST_TOO_LONG\fP
18592
+ .IP \(bu 2
18593
+ 65527: \fBEXEC_FORMAT_ERROR\fP
18594
+ .IP \(bu 2
18595
+ 65526: \fBBAD_FILE_DESCRIPTOR\fP
18596
+ .IP \(bu 2
18597
+ 65525: \fBNO_CHILD_PROCESSES\fP
18598
+ .IP \(bu 2
18599
+ 65524: \fBRESOURCE_TEMPORARILY_UNAVAILABLE\fP
18600
+ .IP \(bu 2
18601
+ 65523: \fBNOT_ENOUGH_SPACE\fP
18602
+ .IP \(bu 2
18603
+ 65522: \fBPERMISSION_DENIED\fP
18604
+ .IP \(bu 2
18605
+ 65521: \fBBAD_ADDRESS\fP
18606
+ .IP \(bu 2
18607
+ 65520: \fBRESOURCE_BUSY\fP
18608
+ .IP \(bu 2
18609
+ 65519: \fBFILE_EXISTS\fP
18610
+ .IP \(bu 2
18611
+ 65518: \fBIMPROPER_LINK\fP
18612
+ .IP \(bu 2
18613
+ 65517: \fBNO_SUCH_DEVICE\fP
18614
+ .IP \(bu 2
18615
+ 65516: \fBNOT_A_DIRECTORY\fP
18616
+ .IP \(bu 2
18617
+ 65515: \fBIS_A_DIRECTORY\fP
18618
+ .IP \(bu 2
18619
+ 65514: \fBINVALID_ARGUMENT\fP
18620
+ .IP \(bu 2
18621
+ 65513: \fBTOO_MANY_OPEN_FILES_IN_SYSTEM\fP
18622
+ .IP \(bu 2
18623
+ 65512: \fBTOO_MANY_OPEN_FILES\fP
18624
+ .IP \(bu 2
18625
+ 65511: \fBINAPPROPRIATE_I_O_CONTROL_OPERATION\fP
18626
+ .IP \(bu 2
18627
+ 65510: \fBFILE_TOO_LARGE\fP
18628
+ .IP \(bu 2
18629
+ 65509: \fBNO_SPACE_LEFT_ON_DEVICE\fP
18630
+ .IP \(bu 2
18631
+ 65508: \fBINVALID_SEEK\fP
18632
+ .IP \(bu 2
18633
+ 65507: \fBREAD_ONLY_FILE_SYSTEM\fP
18634
+ .IP \(bu 2
18635
+ 65506: \fBTOO_MANY_LINKS\fP
18636
+ .IP \(bu 2
18637
+ 65505: \fBBROKEN_PIPE\fP
18638
+ .IP \(bu 2
18639
+ 65504: \fBDOMAIN_ERROR\fP
18640
+ .IP \(bu 2
18641
+ 65503: \fBRESULT_TOO_LARGE\fP
18642
+ .IP \(bu 2
18643
+ 65502: \fBRESOURCE_DEADLOCK_AVOIDED\fP
18644
+ .IP \(bu 2
18645
+ 65501: \fBNO_MEMORY_AVAILABLE\fP
18646
+ .IP \(bu 2
18647
+ 65500: \fBFILENAME_TOO_LONG\fP
18648
+ .IP \(bu 2
18649
+ 65499: \fBNO_LOCKS_AVAILABLE\fP
18650
+ .IP \(bu 2
18651
+ 65498: \fBFUNCTION_NOT_IMPLEMENTED\fP
18652
+ .IP \(bu 2
18653
+ 65497: \fBDIRECTORY_NOT_EMPTY\fP
18654
+ .IP \(bu 2
18655
+ 65496: \fBILLEGAL_BYTE_SEQUENCE\fP
18656
+ .IP \(bu 2
18657
+ 65495: \fBSOCKET_NOT_INITIALIZED\fP
18658
+ .IP \(bu 2
18659
+ 65494: \fBOPERATION_WOULD_BLOCK\fP
18660
+ .IP \(bu 2
18661
+ 65493: \fBADDRESS_IS_NOT_AVAILABLE\fP
18662
+ .IP \(bu 2
18663
+ 65492: \fBNETWORK_IS_DOWN\fP
18664
+ .IP \(bu 2
18665
+ 65491: \fBNO_BUFFER\fP
18666
+ .IP \(bu 2
18667
+ 65490: \fBSOCKET_IS_ALREADY_CONNECTED\fP
18668
+ .IP \(bu 2
18669
+ 65489: \fBSOCKET_IS_NOT_CONNECTED\fP
18670
+ .IP \(bu 2
18671
+ 65488: \fBSOCKET_IS_ALREADY_SHUTDOWNED\fP
18672
+ .IP \(bu 2
18673
+ 65487: \fBOPERATION_TIMEOUT\fP
18674
+ .IP \(bu 2
18675
+ 65486: \fBCONNECTION_REFUSED\fP
18676
+ .IP \(bu 2
18677
+ 65485: \fBRANGE_ERROR\fP
18678
+ .IP \(bu 2
18679
+ 65484: \fBTOKENIZER_ERROR\fP
18680
+ .IP \(bu 2
18681
+ 65483: \fBFILE_CORRUPT\fP
18682
+ .IP \(bu 2
18683
+ 65482: \fBINVALID_FORMAT\fP
18684
+ .IP \(bu 2
18685
+ 65481: \fBOBJECT_CORRUPT\fP
18686
+ .IP \(bu 2
18687
+ 65480: \fBTOO_MANY_SYMBOLIC_LINKS\fP
18688
+ .IP \(bu 2
18689
+ 65479: \fBNOT_SOCKET\fP
18690
+ .IP \(bu 2
18691
+ 65478: \fBOPERATION_NOT_SUPPORTED\fP
18692
+ .IP \(bu 2
18693
+ 65477: \fBADDRESS_IS_IN_USE\fP
18694
+ .IP \(bu 2
18695
+ 65476: \fBZLIB_ERROR\fP
18696
+ .IP \(bu 2
18697
+ 65475: \fBLZO_ERROR\fP
18698
+ .IP \(bu 2
18699
+ 65474: \fBSTACK_OVER_FLOW\fP
18700
+ .IP \(bu 2
18701
+ 65473: \fBSYNTAX_ERROR\fP
18702
+ .IP \(bu 2
18703
+ 65472: \fBRETRY_MAX\fP
18704
+ .IP \(bu 2
18705
+ 65471: \fBINCOMPATIBLE_FILE_FORMAT\fP
18706
+ .IP \(bu 2
18707
+ 65470: \fBUPDATE_NOT_ALLOWED\fP
18708
+ .IP \(bu 2
18709
+ 65469: \fBTOO_SMALL_OFFSET\fP
18710
+ .IP \(bu 2
18711
+ 65468: \fBTOO_LARGE_OFFSET\fP
18712
+ .IP \(bu 2
18713
+ 65467: \fBTOO_SMALL_LIMIT\fP
18714
+ .IP \(bu 2
18715
+ 65466: \fBCAS_ERROR\fP
18716
+ .IP \(bu 2
18717
+ 65465: \fBUNSUPPORTED_COMMAND_VERSION\fP
18718
+ .UNINDENT
18719
+ .SS \fBsize\fP
18720
+ .sp
18721
+ ボディのサイズです。ボディの最大サイズは4GiBです。これは \fBsize\fP が4byteの符号なし整数だからです。4GiB以上のサイズのデータを送りたい場合は \fBMORE\fP フラグを使ってください。
18722
+ .SS 例
18723
+ .sp
18724
+ TODO
18725
+ .SS 参照
18726
+ .sp
18727
+ TODO
17389
18728
  .SS 検索
17390
18729
  .sp
17391
18730
  \fB/reference/commands/select\fP コマンドがqueryパラメータを使ってどのように検索するのかを説明します。
@@ -17524,6 +18863,17 @@ select Shops \-\-filter \(aq"point > 3 && description @ \e"スープカレー\e"
17524
18863
  .SH 制限事項
17525
18864
  .sp
17526
18865
  groongaにはいくつか制限事項があります。
18866
+ .SS テーブルの制限
18867
+ .sp
18868
+ テーブルには以下の制限があります。
18869
+ .INDENT 0.0
18870
+ .IP \(bu 2
18871
+ 1つのキーの最大サイズ: 4096Bytes
18872
+ .IP \(bu 2
18873
+ キーのサイズを合計した上限値: 4GByte
18874
+ .UNINDENT
18875
+ .sp
18876
+ 実際には他の諸条件の制約により上記の値まで到達しない場合もあります。
17527
18877
  .SS インデックス上限値
17528
18878
  .sp
17529
18879
  1つのインデックスにおける論理上の上限値は以下のとおりです。
@@ -17789,13 +19139,13 @@ Travis CI上でgroongaを使っているオープンソースソフトウェア
17789
19139
  groongaプロジェクトではみなさんからのコントリビュートを歓迎します!コントリビュートの方法はいくつもあります。groongaを使ったり誰かに紹介することもコントリビュートですし、バグレポートを送ったり、groonga本体やgroonga関連の開発に参加することもコントリビュートです。プログラムではなく、ドキュメントでのコントリビュートも歓迎します!
17790
19140
  .INDENT 0.0
17791
19141
  .TP
17792
- .B Use:
19142
+ .B As a user:
17793
19143
  このドキュメントを読んでください。
17794
19144
  .TP
17795
- .B Introduction:
19145
+ .B As a spokesman:
17796
19146
  groongaについてまわりの人に話してください。
17797
19147
  .TP
17798
- .B Bug report, development and documentation:
19148
+ .B As a developer: Bug report, development and documentation
17799
19149
  これらについてはこのセクションで説明します。
17800
19150
  .UNINDENT
17801
19151
  .SS バグレポートの送り方
@@ -18370,6 +19720,11 @@ make update\-poコマンドの実行により更新した各種.poファイル
18370
19720
  .fi
18371
19721
  .sp
18372
19722
  これにより$GROONGA_CLONE_DIR/groonga\-(バージョン).tar.gzが作成されます。
19723
+ .IP ノート
19724
+ タグを打つ前にmake distを行うとversionが古いままになることがあります。
19725
+ するとgroonga \-\-versionで表示されるバージョン表記が更新されないので注意が必要です。
19726
+ make distで生成したtar.gzのversionおよびversion.shがタグと一致することを確認するのが望ましいです。
19727
+ .RE
18373
19728
  .SS パッケージのビルド
18374
19729
  .sp
18375
19730
  リリース用のアーカイブファイルができたので、パッケージ化する作業を行います。
@@ -18460,6 +19815,8 @@ natty i386/amd64
18460
19815
  oneiric i386/amd64
18461
19816
  .IP \(bu 2
18462
19817
  precise i386/amd64
19818
+ .IP \(bu 2
19819
+ quantal i386/amd64
18463
19820
  .UNINDENT
18464
19821
  .sp
18465
19822
  正常にビルドが終了すると$GROONGA_CLONE_DIR/packages/apt/repositories配下に.debパッケージが生成されます。
@@ -18842,6 +20199,17 @@ freecode.comのプロジェクトページは以下の通りです。
18842
20199
  \fI\%https://freecode.com/projects/groonga/releases/new\fP
18843
20200
  .UNINDENT
18844
20201
  .UNINDENT
20202
+ .IP ノート
20203
+ 投稿した内容に対するレビューが運営側で実施されるので、反映されるまでしばらく時間がかかります。
20204
+ .RE
20205
+ .SS Twitterでリリースアナウンスをする
20206
+ .sp
20207
+ blogroongaのリリースエントリには「リンクをあなたのフォロワーに共有する」ためのツイートボタンがあるので、そのボタンを使ってリリースアナウンスします。(画面下部に配置されている)
20208
+ .sp
20209
+ このボタンを経由する場合、ツイート内容に自動的にリリースタイトル(「groonga 2.0.8リリース」など)とblogroongaのリリースエントリのURLが挿入されます。
20210
+ .sp
20211
+ この作業はblogroongaの英語版、日本語版それぞれで行います。
20212
+ あらかじめgroongaアカウントでログインしておくとアナウンスを円滑に行うことができます。
18845
20213
  .sp
18846
20214
  以上でリリース作業は終了です。
18847
20215
  .SS リリース後にやること
@@ -18867,6 +20235,9 @@ $GROONGA_CLONE_DIRにて以下のコマンドを実行します。:
18867
20235
  .fi
18868
20236
  .sp
18869
20237
  これにより$GROONGA_CLONE_DIR/base_versionが更新されるのでコミットしておきます。
20238
+ .IP ノート
20239
+ base_versionはtar.gzなどのリリース用のファイル名で使用します。
20240
+ .RE
18870
20241
  .SS ビルド時のTIPS
18871
20242
  .SS ビルドを並列化したい
18872
20243
  .sp