rroonga 2.0.2-x86-mingw32 → 2.0.3-x86-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (398) hide show
  1. data/AUTHORS +5 -0
  2. data/Gemfile +1 -12
  3. data/README.textile +73 -0
  4. data/Rakefile +4 -57
  5. data/bin/grndump +11 -1
  6. data/ext/groonga/extconf.rb +125 -54
  7. data/ext/groonga/rb-grn-context.c +25 -7
  8. data/ext/groonga/rb-grn-database.c +25 -0
  9. data/ext/groonga/rb-grn-object.c +19 -7
  10. data/ext/groonga/rb-grn-table.c +8 -10
  11. data/ext/groonga/rb-grn.h +9 -2
  12. data/lib/1.8/groonga.so +0 -0
  13. data/lib/1.9/groonga.so +0 -0
  14. data/lib/groonga/dumper.rb +2 -2
  15. data/lib/groonga/expression-builder.rb +33 -18
  16. data/rroonga-build.rb +1 -1
  17. data/vendor/local/bin/groonga-benchmark.exe +0 -0
  18. data/vendor/local/bin/groonga.exe +0 -0
  19. data/vendor/local/bin/libgcc_s_sjlj-1.dll +0 -0
  20. data/vendor/local/bin/libgroonga-0.dll +0 -0
  21. data/vendor/local/bin/libmecab-1.dll +0 -0
  22. data/vendor/local/bin/libmsgpack-3.dll +0 -0
  23. data/vendor/local/bin/libmsgpackc-2.dll +0 -0
  24. data/vendor/local/bin/libstdc++-6.dll +0 -0
  25. data/vendor/local/bin/mecab-config +0 -0
  26. data/vendor/local/bin/mecab.exe +0 -0
  27. data/vendor/local/include/groonga/groonga.h +5 -5
  28. data/vendor/local/lib/groonga/plugins/suggest/suggest.a +0 -0
  29. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll +0 -0
  30. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll.a +0 -0
  31. data/vendor/local/lib/groonga/plugins/suggest/suggest.la +0 -0
  32. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.a +0 -0
  33. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll +0 -0
  34. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll.a +0 -0
  35. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.la +0 -0
  36. data/vendor/local/lib/libgroonga.a +0 -0
  37. data/vendor/local/lib/libgroonga.dll.a +0 -0
  38. data/vendor/local/lib/libgroonga.la +0 -0
  39. data/vendor/local/lib/libmecab.a +0 -0
  40. data/vendor/local/lib/libmecab.dll.a +0 -0
  41. data/vendor/local/lib/libmecab.la +0 -0
  42. data/vendor/local/lib/libmsgpack.a +0 -0
  43. data/vendor/local/lib/libmsgpack.dll.a +0 -0
  44. data/vendor/local/lib/libmsgpack.la +0 -0
  45. data/vendor/local/lib/libmsgpackc.a +0 -0
  46. data/vendor/local/lib/libmsgpackc.dll.a +0 -0
  47. data/vendor/local/lib/libmsgpackc.la +0 -0
  48. data/vendor/local/lib/pkgconfig/groonga.pc +4 -4
  49. data/vendor/local/libexec/mecab/mecab-cost-train.exe +0 -0
  50. data/vendor/local/libexec/mecab/mecab-dict-gen.exe +0 -0
  51. data/vendor/local/libexec/mecab/mecab-dict-index.exe +0 -0
  52. data/vendor/local/libexec/mecab/mecab-system-eval.exe +0 -0
  53. data/vendor/local/libexec/mecab/mecab-test-gen.exe +0 -0
  54. data/vendor/local/share/doc/groonga/en/html/.buildinfo +1 -1
  55. data/vendor/local/share/doc/groonga/en/html/_sources/commands/select.txt +349 -109
  56. data/vendor/local/share/doc/groonga/en/html/_sources/install.txt +41 -10
  57. data/vendor/local/share/doc/groonga/en/html/_sources/news.txt +71 -0
  58. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/data.txt +1 -1
  59. data/vendor/local/share/doc/groonga/en/html/_static/jquery.js +154 -4
  60. data/vendor/local/share/doc/groonga/en/html/_static/underscore.js +21 -29
  61. data/vendor/local/share/doc/groonga/en/html/characteristic.html +5 -5
  62. data/vendor/local/share/doc/groonga/en/html/command_version.html +5 -5
  63. data/vendor/local/share/doc/groonga/en/html/commands/cache_limit.html +5 -5
  64. data/vendor/local/share/doc/groonga/en/html/commands/check.html +5 -5
  65. data/vendor/local/share/doc/groonga/en/html/commands/clearlock.html +5 -5
  66. data/vendor/local/share/doc/groonga/en/html/commands/column_create.html +5 -5
  67. data/vendor/local/share/doc/groonga/en/html/commands/column_list.html +5 -5
  68. data/vendor/local/share/doc/groonga/en/html/commands/column_remove.html +5 -5
  69. data/vendor/local/share/doc/groonga/en/html/commands/define_selector.html +5 -5
  70. data/vendor/local/share/doc/groonga/en/html/commands/defrag.html +5 -5
  71. data/vendor/local/share/doc/groonga/en/html/commands/delete.html +5 -5
  72. data/vendor/local/share/doc/groonga/en/html/commands/dump.html +5 -5
  73. data/vendor/local/share/doc/groonga/en/html/commands/load.html +5 -5
  74. data/vendor/local/share/doc/groonga/en/html/commands/log_level.html +5 -5
  75. data/vendor/local/share/doc/groonga/en/html/commands/log_put.html +5 -5
  76. data/vendor/local/share/doc/groonga/en/html/commands/log_reopen.html +5 -5
  77. data/vendor/local/share/doc/groonga/en/html/commands/quit.html +5 -5
  78. data/vendor/local/share/doc/groonga/en/html/commands/select.html +683 -162
  79. data/vendor/local/share/doc/groonga/en/html/commands/shutdown.html +5 -5
  80. data/vendor/local/share/doc/groonga/en/html/commands/status.html +5 -5
  81. data/vendor/local/share/doc/groonga/en/html/commands/suggest.html +170 -12
  82. data/vendor/local/share/doc/groonga/en/html/commands/table_create.html +5 -5
  83. data/vendor/local/share/doc/groonga/en/html/commands/table_list.html +5 -5
  84. data/vendor/local/share/doc/groonga/en/html/commands/table_remove.html +5 -5
  85. data/vendor/local/share/doc/groonga/en/html/commands/view_add.html +5 -5
  86. data/vendor/local/share/doc/groonga/en/html/commands.html +5 -5
  87. data/vendor/local/share/doc/groonga/en/html/community.html +5 -5
  88. data/vendor/local/share/doc/groonga/en/html/contribution/development/com.html +5 -5
  89. data/vendor/local/share/doc/groonga/en/html/contribution/development/document.html +5 -5
  90. data/vendor/local/share/doc/groonga/en/html/contribution/development/query.html +5 -5
  91. data/vendor/local/share/doc/groonga/en/html/contribution/development/test.html +5 -5
  92. data/vendor/local/share/doc/groonga/en/html/contribution/development.html +5 -5
  93. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/c-api.html +5 -5
  94. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/i18n.html +5 -5
  95. data/vendor/local/share/doc/groonga/en/html/contribution/documentation.html +5 -5
  96. data/vendor/local/share/doc/groonga/en/html/contribution/report.html +5 -5
  97. data/vendor/local/share/doc/groonga/en/html/contribution.html +5 -5
  98. data/vendor/local/share/doc/groonga/en/html/executables/grnslap.html +5 -5
  99. data/vendor/local/share/doc/groonga/en/html/executables/grntest.html +5 -5
  100. data/vendor/local/share/doc/groonga/en/html/executables/groonga-http.html +5 -5
  101. data/vendor/local/share/doc/groonga/en/html/executables/groonga-suggest-create-dataset.html +5 -5
  102. data/vendor/local/share/doc/groonga/en/html/executables/groonga.html +5 -5
  103. data/vendor/local/share/doc/groonga/en/html/executables.html +5 -5
  104. data/vendor/local/share/doc/groonga/en/html/expr.html +5 -5
  105. data/vendor/local/share/doc/groonga/en/html/functions/edit_distance.html +5 -5
  106. data/vendor/local/share/doc/groonga/en/html/functions/geo_distance.html +5 -5
  107. data/vendor/local/share/doc/groonga/en/html/functions/geo_in_circle.html +5 -5
  108. data/vendor/local/share/doc/groonga/en/html/functions/geo_in_rectangle.html +5 -5
  109. data/vendor/local/share/doc/groonga/en/html/functions/now.html +5 -5
  110. data/vendor/local/share/doc/groonga/en/html/functions/rand.html +5 -5
  111. data/vendor/local/share/doc/groonga/en/html/functions.html +5 -5
  112. data/vendor/local/share/doc/groonga/en/html/genindex.html +5 -5
  113. data/vendor/local/share/doc/groonga/en/html/geolocation_search.html +5 -5
  114. data/vendor/local/share/doc/groonga/en/html/index.html +23 -16
  115. data/vendor/local/share/doc/groonga/en/html/indexing.html +95 -14
  116. data/vendor/local/share/doc/groonga/en/html/install.html +67 -37
  117. data/vendor/local/share/doc/groonga/en/html/limitations.html +9 -9
  118. data/vendor/local/share/doc/groonga/en/html/log.html +5 -5
  119. data/vendor/local/share/doc/groonga/en/html/news/0.x.html +5 -5
  120. data/vendor/local/share/doc/groonga/en/html/news/1.0.x.html +5 -5
  121. data/vendor/local/share/doc/groonga/en/html/news/1.1.x.html +5 -5
  122. data/vendor/local/share/doc/groonga/en/html/news/1.2.x.html +5 -5
  123. data/vendor/local/share/doc/groonga/en/html/news/senna.html +5 -5
  124. data/vendor/local/share/doc/groonga/en/html/news.html +161 -25
  125. data/vendor/local/share/doc/groonga/en/html/objects.inv +0 -0
  126. data/vendor/local/share/doc/groonga/en/html/output.html +5 -5
  127. data/vendor/local/share/doc/groonga/en/html/pseudo_column.html +5 -5
  128. data/vendor/local/share/doc/groonga/en/html/reference.html +5 -5
  129. data/vendor/local/share/doc/groonga/en/html/search.html +5 -5
  130. data/vendor/local/share/doc/groonga/en/html/searchindex.js +1 -1
  131. data/vendor/local/share/doc/groonga/en/html/spec/search.html +22 -22
  132. data/vendor/local/share/doc/groonga/en/html/spec.html +13 -11
  133. data/vendor/local/share/doc/groonga/en/html/suggest/completion.html +33 -6
  134. data/vendor/local/share/doc/groonga/en/html/suggest/correction.html +33 -6
  135. data/vendor/local/share/doc/groonga/en/html/suggest/introduction.html +5 -5
  136. data/vendor/local/share/doc/groonga/en/html/suggest/suggestion.html +37 -6
  137. data/vendor/local/share/doc/groonga/en/html/suggest/tutorial.html +5 -5
  138. data/vendor/local/share/doc/groonga/en/html/suggest.html +5 -5
  139. data/vendor/local/share/doc/groonga/en/html/troubleshooting/different_results_with_the_same_keyword.html +5 -5
  140. data/vendor/local/share/doc/groonga/en/html/troubleshooting.html +5 -5
  141. data/vendor/local/share/doc/groonga/en/html/tutorial/data.html +293 -29
  142. data/vendor/local/share/doc/groonga/en/html/tutorial/drilldown.html +5 -5
  143. data/vendor/local/share/doc/groonga/en/html/tutorial/index.html +340 -27
  144. data/vendor/local/share/doc/groonga/en/html/tutorial/introduction.html +5 -5
  145. data/vendor/local/share/doc/groonga/en/html/tutorial/lexicon.html +5 -5
  146. data/vendor/local/share/doc/groonga/en/html/tutorial/match_columns.html +282 -24
  147. data/vendor/local/share/doc/groonga/en/html/tutorial/micro_blog.html +524 -15
  148. data/vendor/local/share/doc/groonga/en/html/tutorial/network.html +103 -8
  149. data/vendor/local/share/doc/groonga/en/html/tutorial/patricia_trie.html +128 -13
  150. data/vendor/local/share/doc/groonga/en/html/tutorial/query_expansion.html +155 -17
  151. data/vendor/local/share/doc/groonga/en/html/tutorial/search.html +5 -5
  152. data/vendor/local/share/doc/groonga/en/html/tutorial.html +5 -5
  153. data/vendor/local/share/doc/groonga/en/html/type.html +5 -5
  154. data/vendor/local/share/doc/groonga/ja/html/.buildinfo +1 -1
  155. data/vendor/local/share/doc/groonga/ja/html/_sources/commands/select.txt +349 -109
  156. data/vendor/local/share/doc/groonga/ja/html/_sources/install.txt +41 -10
  157. data/vendor/local/share/doc/groonga/ja/html/_sources/news.txt +71 -0
  158. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/data.txt +1 -1
  159. data/vendor/local/share/doc/groonga/ja/html/_static/jquery.js +154 -4
  160. data/vendor/local/share/doc/groonga/ja/html/_static/underscore.js +21 -29
  161. data/vendor/local/share/doc/groonga/ja/html/characteristic.html +5 -5
  162. data/vendor/local/share/doc/groonga/ja/html/command_version.html +5 -5
  163. data/vendor/local/share/doc/groonga/ja/html/commands/cache_limit.html +5 -5
  164. data/vendor/local/share/doc/groonga/ja/html/commands/check.html +5 -5
  165. data/vendor/local/share/doc/groonga/ja/html/commands/clearlock.html +5 -5
  166. data/vendor/local/share/doc/groonga/ja/html/commands/column_create.html +5 -5
  167. data/vendor/local/share/doc/groonga/ja/html/commands/column_list.html +5 -5
  168. data/vendor/local/share/doc/groonga/ja/html/commands/column_remove.html +5 -5
  169. data/vendor/local/share/doc/groonga/ja/html/commands/define_selector.html +5 -5
  170. data/vendor/local/share/doc/groonga/ja/html/commands/defrag.html +5 -5
  171. data/vendor/local/share/doc/groonga/ja/html/commands/delete.html +5 -5
  172. data/vendor/local/share/doc/groonga/ja/html/commands/dump.html +5 -5
  173. data/vendor/local/share/doc/groonga/ja/html/commands/load.html +5 -5
  174. data/vendor/local/share/doc/groonga/ja/html/commands/log_level.html +5 -5
  175. data/vendor/local/share/doc/groonga/ja/html/commands/log_put.html +5 -5
  176. data/vendor/local/share/doc/groonga/ja/html/commands/log_reopen.html +5 -5
  177. data/vendor/local/share/doc/groonga/ja/html/commands/quit.html +5 -5
  178. data/vendor/local/share/doc/groonga/ja/html/commands/select.html +601 -162
  179. data/vendor/local/share/doc/groonga/ja/html/commands/shutdown.html +5 -5
  180. data/vendor/local/share/doc/groonga/ja/html/commands/status.html +5 -5
  181. data/vendor/local/share/doc/groonga/ja/html/commands/suggest.html +170 -12
  182. data/vendor/local/share/doc/groonga/ja/html/commands/table_create.html +5 -5
  183. data/vendor/local/share/doc/groonga/ja/html/commands/table_list.html +5 -5
  184. data/vendor/local/share/doc/groonga/ja/html/commands/table_remove.html +5 -5
  185. data/vendor/local/share/doc/groonga/ja/html/commands/view_add.html +5 -5
  186. data/vendor/local/share/doc/groonga/ja/html/commands.html +5 -5
  187. data/vendor/local/share/doc/groonga/ja/html/community.html +5 -5
  188. data/vendor/local/share/doc/groonga/ja/html/contribution/development/com.html +5 -5
  189. data/vendor/local/share/doc/groonga/ja/html/contribution/development/document.html +5 -5
  190. data/vendor/local/share/doc/groonga/ja/html/contribution/development/query.html +5 -5
  191. data/vendor/local/share/doc/groonga/ja/html/contribution/development/test.html +5 -5
  192. data/vendor/local/share/doc/groonga/ja/html/contribution/development.html +5 -5
  193. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/c-api.html +5 -5
  194. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/i18n.html +5 -5
  195. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation.html +5 -5
  196. data/vendor/local/share/doc/groonga/ja/html/contribution/report.html +5 -5
  197. data/vendor/local/share/doc/groonga/ja/html/contribution.html +5 -5
  198. data/vendor/local/share/doc/groonga/ja/html/executables/grnslap.html +5 -5
  199. data/vendor/local/share/doc/groonga/ja/html/executables/grntest.html +5 -5
  200. data/vendor/local/share/doc/groonga/ja/html/executables/groonga-http.html +5 -5
  201. data/vendor/local/share/doc/groonga/ja/html/executables/groonga-suggest-create-dataset.html +5 -5
  202. data/vendor/local/share/doc/groonga/ja/html/executables/groonga.html +5 -5
  203. data/vendor/local/share/doc/groonga/ja/html/executables.html +5 -5
  204. data/vendor/local/share/doc/groonga/ja/html/expr.html +5 -5
  205. data/vendor/local/share/doc/groonga/ja/html/functions/edit_distance.html +5 -5
  206. data/vendor/local/share/doc/groonga/ja/html/functions/geo_distance.html +5 -5
  207. data/vendor/local/share/doc/groonga/ja/html/functions/geo_in_circle.html +5 -5
  208. data/vendor/local/share/doc/groonga/ja/html/functions/geo_in_rectangle.html +5 -5
  209. data/vendor/local/share/doc/groonga/ja/html/functions/now.html +5 -5
  210. data/vendor/local/share/doc/groonga/ja/html/functions/rand.html +5 -5
  211. data/vendor/local/share/doc/groonga/ja/html/functions.html +5 -5
  212. data/vendor/local/share/doc/groonga/ja/html/genindex.html +5 -5
  213. data/vendor/local/share/doc/groonga/ja/html/geolocation_search.html +5 -5
  214. data/vendor/local/share/doc/groonga/ja/html/index.html +23 -16
  215. data/vendor/local/share/doc/groonga/ja/html/indexing.html +95 -14
  216. data/vendor/local/share/doc/groonga/ja/html/install.html +66 -37
  217. data/vendor/local/share/doc/groonga/ja/html/limitations.html +9 -9
  218. data/vendor/local/share/doc/groonga/ja/html/log.html +5 -5
  219. data/vendor/local/share/doc/groonga/ja/html/news/0.x.html +5 -5
  220. data/vendor/local/share/doc/groonga/ja/html/news/1.0.x.html +5 -5
  221. data/vendor/local/share/doc/groonga/ja/html/news/1.1.x.html +5 -5
  222. data/vendor/local/share/doc/groonga/ja/html/news/1.2.x.html +5 -5
  223. data/vendor/local/share/doc/groonga/ja/html/news/senna.html +5 -5
  224. data/vendor/local/share/doc/groonga/ja/html/news.html +147 -25
  225. data/vendor/local/share/doc/groonga/ja/html/objects.inv +0 -0
  226. data/vendor/local/share/doc/groonga/ja/html/output.html +5 -5
  227. data/vendor/local/share/doc/groonga/ja/html/pseudo_column.html +5 -5
  228. data/vendor/local/share/doc/groonga/ja/html/reference.html +5 -5
  229. data/vendor/local/share/doc/groonga/ja/html/search.html +5 -5
  230. data/vendor/local/share/doc/groonga/ja/html/searchindex.js +1 -1
  231. data/vendor/local/share/doc/groonga/ja/html/spec/search.html +22 -22
  232. data/vendor/local/share/doc/groonga/ja/html/spec.html +13 -11
  233. data/vendor/local/share/doc/groonga/ja/html/suggest/completion.html +33 -6
  234. data/vendor/local/share/doc/groonga/ja/html/suggest/correction.html +33 -6
  235. data/vendor/local/share/doc/groonga/ja/html/suggest/introduction.html +5 -5
  236. data/vendor/local/share/doc/groonga/ja/html/suggest/suggestion.html +37 -6
  237. data/vendor/local/share/doc/groonga/ja/html/suggest/tutorial.html +5 -5
  238. data/vendor/local/share/doc/groonga/ja/html/suggest.html +5 -5
  239. data/vendor/local/share/doc/groonga/ja/html/troubleshooting/different_results_with_the_same_keyword.html +5 -5
  240. data/vendor/local/share/doc/groonga/ja/html/troubleshooting.html +5 -5
  241. data/vendor/local/share/doc/groonga/ja/html/tutorial/data.html +292 -28
  242. data/vendor/local/share/doc/groonga/ja/html/tutorial/drilldown.html +5 -5
  243. data/vendor/local/share/doc/groonga/ja/html/tutorial/index.html +340 -27
  244. data/vendor/local/share/doc/groonga/ja/html/tutorial/introduction.html +5 -5
  245. data/vendor/local/share/doc/groonga/ja/html/tutorial/lexicon.html +5 -5
  246. data/vendor/local/share/doc/groonga/ja/html/tutorial/match_columns.html +282 -24
  247. data/vendor/local/share/doc/groonga/ja/html/tutorial/micro_blog.html +524 -15
  248. data/vendor/local/share/doc/groonga/ja/html/tutorial/network.html +103 -8
  249. data/vendor/local/share/doc/groonga/ja/html/tutorial/patricia_trie.html +128 -13
  250. data/vendor/local/share/doc/groonga/ja/html/tutorial/query_expansion.html +155 -17
  251. data/vendor/local/share/doc/groonga/ja/html/tutorial/search.html +5 -5
  252. data/vendor/local/share/doc/groonga/ja/html/tutorial.html +5 -5
  253. data/vendor/local/share/doc/groonga/ja/html/type.html +5 -5
  254. data/vendor/local/share/doc/groonga/source/commands/select.txt +349 -109
  255. data/vendor/local/share/doc/groonga/source/commands/suggest-completion.log +28 -1
  256. data/vendor/local/share/doc/groonga/source/commands/suggest-correction.log +28 -1
  257. data/vendor/local/share/doc/groonga/source/commands/suggest-learn-completion.log +1 -1
  258. data/vendor/local/share/doc/groonga/source/commands/suggest-learn-correction.log +1 -1
  259. data/vendor/local/share/doc/groonga/source/commands/suggest-learn-suggestion.log +1 -1
  260. data/vendor/local/share/doc/groonga/source/commands/suggest-mixed.log +74 -1
  261. data/vendor/local/share/doc/groonga/source/commands/suggest-suggestion.log +32 -1
  262. data/vendor/local/share/doc/groonga/source/conf.py +3 -3
  263. data/vendor/local/share/doc/groonga/source/example/completion-1.log +28 -1
  264. data/vendor/local/share/doc/groonga/source/example/correction-1.log +28 -1
  265. data/vendor/local/share/doc/groonga/source/example/suggestion-1.log +32 -1
  266. data/vendor/local/share/doc/groonga/source/example/tutorial/data-1.log +1 -1
  267. data/vendor/local/share/doc/groonga/source/example/tutorial/data-2.log +38 -3
  268. data/vendor/local/share/doc/groonga/source/example/tutorial/data-3.log +46 -4
  269. data/vendor/local/share/doc/groonga/source/example/tutorial/data-4.log +38 -3
  270. data/vendor/local/share/doc/groonga/source/example/tutorial/data-5.log +38 -3
  271. data/vendor/local/share/doc/groonga/source/example/tutorial/data-6.log +38 -3
  272. data/vendor/local/share/doc/groonga/source/example/tutorial/data-7.log +40 -3
  273. data/vendor/local/share/doc/groonga/source/example/tutorial/data-8.log +48 -3
  274. data/vendor/local/share/doc/groonga/source/example/tutorial/index-1.log +6 -6
  275. data/vendor/local/share/doc/groonga/source/example/tutorial/index-2.log +100 -3
  276. data/vendor/local/share/doc/groonga/source/example/tutorial/index-3.log +5 -5
  277. data/vendor/local/share/doc/groonga/source/example/tutorial/index-4.log +80 -2
  278. data/vendor/local/share/doc/groonga/source/example/tutorial/index-5.log +75 -1
  279. data/vendor/local/share/doc/groonga/source/example/tutorial/index-6.log +31 -4
  280. data/vendor/local/share/doc/groonga/source/example/tutorial/index-7.log +38 -1
  281. data/vendor/local/share/doc/groonga/source/example/tutorial/match_columns-1.log +7 -7
  282. data/vendor/local/share/doc/groonga/source/example/tutorial/match_columns-2.log +132 -3
  283. data/vendor/local/share/doc/groonga/source/example/tutorial/match_columns-3.log +6 -6
  284. data/vendor/local/share/doc/groonga/source/example/tutorial/match_columns-4.log +132 -3
  285. data/vendor/local/share/doc/groonga/source/example/tutorial/micro_blog-1.log +32 -1
  286. data/vendor/local/share/doc/groonga/source/example/tutorial/micro_blog-10.log +95 -1
  287. data/vendor/local/share/doc/groonga/source/example/tutorial/micro_blog-2.log +32 -1
  288. data/vendor/local/share/doc/groonga/source/example/tutorial/micro_blog-3.log +32 -1
  289. data/vendor/local/share/doc/groonga/source/example/tutorial/micro_blog-4.log +86 -1
  290. data/vendor/local/share/doc/groonga/source/example/tutorial/micro_blog-5.log +32 -1
  291. data/vendor/local/share/doc/groonga/source/example/tutorial/micro_blog-6.log +70 -1
  292. data/vendor/local/share/doc/groonga/source/example/tutorial/micro_blog-7.log +51 -1
  293. data/vendor/local/share/doc/groonga/source/example/tutorial/micro_blog-8.log +55 -1
  294. data/vendor/local/share/doc/groonga/source/example/tutorial/micro_blog-9.log +34 -1
  295. data/vendor/local/share/doc/groonga/source/example/tutorial/network-1.log +18 -1
  296. data/vendor/local/share/doc/groonga/source/example/tutorial/network-3.log +80 -2
  297. data/vendor/local/share/doc/groonga/source/example/tutorial/patricia_trie-1.log +34 -3
  298. data/vendor/local/share/doc/groonga/source/example/tutorial/patricia_trie-2.log +89 -5
  299. data/vendor/local/share/doc/groonga/source/example/tutorial/query_expansion-1.log +8 -8
  300. data/vendor/local/share/doc/groonga/source/example/tutorial/query_expansion-2.log +66 -2
  301. data/vendor/local/share/doc/groonga/source/example/tutorial/query_expansion-3.log +76 -2
  302. data/vendor/local/share/doc/groonga/source/install.txt +41 -10
  303. data/vendor/local/share/doc/groonga/source/news.txt +71 -0
  304. data/vendor/local/share/doc/groonga/source/tutorial/data.txt +1 -1
  305. data/vendor/local/share/groonga/examples/dictionary/edict/edict-import.sh +0 -0
  306. data/vendor/local/share/groonga/examples/dictionary/edict/edict2grn.rb +1 -1
  307. data/vendor/local/share/groonga/examples/dictionary/eijiro/eijiro-import.sh +0 -0
  308. data/vendor/local/share/groonga/examples/dictionary/eijiro/eijiro2grn.rb +1 -1
  309. data/vendor/local/share/groonga/examples/dictionary/gene95/gene-import.sh +0 -0
  310. data/vendor/local/share/groonga/examples/dictionary/gene95/gene2grn.rb +1 -1
  311. data/vendor/local/share/groonga/examples/dictionary/init-db.sh +0 -0
  312. data/vendor/local/share/groonga/examples/dictionary/jmdict/jmdict.rb +1 -1
  313. data/vendor/local/share/groonga/html/admin/css/{admin.css → groonga-admin.css} +5 -4
  314. data/vendor/local/share/groonga/html/admin/css/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  315. data/vendor/local/share/groonga/html/admin/css/redmond/images/ui-bg_flat_55_fbec88_40x100.png +0 -0
  316. data/vendor/local/share/groonga/html/admin/css/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png +0 -0
  317. data/vendor/local/share/groonga/html/admin/css/redmond/images/ui-bg_glass_85_dfeffc_1x400.png +0 -0
  318. data/vendor/local/share/groonga/html/admin/css/redmond/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  319. data/vendor/local/share/groonga/html/admin/css/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
  320. data/vendor/local/share/groonga/html/admin/css/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png +0 -0
  321. data/vendor/local/share/groonga/html/admin/css/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
  322. data/vendor/local/share/groonga/html/admin/css/{ui-lightness/images/ui-icons_ffd27a_256x240.png → redmond/images/ui-icons_217bc0_256x240.png} +0 -0
  323. data/vendor/local/share/groonga/html/admin/css/{ui-lightness/images/ui-icons_222222_256x240.png → redmond/images/ui-icons_2e83ff_256x240.png} +0 -0
  324. data/vendor/local/share/groonga/html/admin/css/{ui-lightness/images/ui-icons_228ef1_256x240.png → redmond/images/ui-icons_469bdd_256x240.png} +0 -0
  325. data/vendor/local/share/groonga/html/admin/css/redmond/images/ui-icons_6da8d5_256x240.png +0 -0
  326. data/vendor/local/share/groonga/html/admin/css/redmond/images/ui-icons_cd0a0a_256x240.png +0 -0
  327. data/vendor/local/share/groonga/html/admin/css/{ui-lightness/images/ui-icons_ef8c08_256x240.png → redmond/images/ui-icons_d8e7f3_256x240.png} +0 -0
  328. data/vendor/local/share/groonga/html/admin/css/redmond/images/ui-icons_f9bd01_256x240.png +0 -0
  329. data/vendor/local/share/groonga/html/admin/css/{ui-lightness/jquery-ui-1.8.1.custom.css → redmond/jquery-ui-1.8.18.custom.css} +169 -90
  330. data/vendor/local/share/groonga/html/admin/images/groonga.svg +121 -0
  331. data/vendor/local/share/groonga/html/admin/index.html +44 -1145
  332. data/vendor/local/share/groonga/html/admin/js/groonga-admin.js +1354 -0
  333. data/vendor/local/share/groonga/html/admin/js/jquery-1.7.2.min.js +4 -0
  334. data/vendor/local/share/groonga/html/admin/js/jquery-ui-1.8.18.custom.min.js +356 -0
  335. data/vendor/local/share/man/ja/man1/groonga.1 +2813 -331
  336. data/vendor/local/share/man/man1/groonga.1 +2898 -337
  337. data/vendor/local/share/mecab/dic/naist-jdic/sys.dic +0 -0
  338. data/vendor/local/share/mecab/dic/naist-jdic/unk.dic +0 -0
  339. metadata +988 -921
  340. data/test/groonga-test-utils.rb +0 -139
  341. data/test/run-test.rb +0 -60
  342. data/test/test-accessor.rb +0 -36
  343. data/test/test-array.rb +0 -123
  344. data/test/test-column.rb +0 -350
  345. data/test/test-command-select.rb +0 -147
  346. data/test/test-context.rb +0 -130
  347. data/test/test-database-dumper.rb +0 -259
  348. data/test/test-database.rb +0 -148
  349. data/test/test-double-array-trie.rb +0 -164
  350. data/test/test-encoding.rb +0 -33
  351. data/test/test-exception.rb +0 -96
  352. data/test/test-expression-builder.rb +0 -269
  353. data/test/test-expression.rb +0 -134
  354. data/test/test-fix-size-column.rb +0 -77
  355. data/test/test-gqtp.rb +0 -70
  356. data/test/test-hash.rb +0 -344
  357. data/test/test-index-column.rb +0 -180
  358. data/test/test-index-cursor.rb +0 -93
  359. data/test/test-logger.rb +0 -37
  360. data/test/test-pagination.rb +0 -249
  361. data/test/test-patricia-trie.rb +0 -415
  362. data/test/test-plugin.rb +0 -35
  363. data/test/test-procedure.rb +0 -37
  364. data/test/test-query-log.rb +0 -258
  365. data/test/test-record.rb +0 -569
  366. data/test/test-remote.rb +0 -63
  367. data/test/test-schema-create-table.rb +0 -267
  368. data/test/test-schema-dumper.rb +0 -235
  369. data/test/test-schema-type.rb +0 -208
  370. data/test/test-schema-view.rb +0 -90
  371. data/test/test-schema.rb +0 -886
  372. data/test/test-snippet.rb +0 -130
  373. data/test/test-table-cursor.rb +0 -187
  374. data/test/test-table-dumper.rb +0 -83
  375. data/test/test-table-offset-and-limit.rb +0 -100
  376. data/test/test-table-select-mecab.rb +0 -80
  377. data/test/test-table-select-normalize.rb +0 -57
  378. data/test/test-table-select-weight.rb +0 -123
  379. data/test/test-table-select.rb +0 -191
  380. data/test/test-table.rb +0 -675
  381. data/test/test-type.rb +0 -79
  382. data/test/test-variable-size-column.rb +0 -147
  383. data/test/test-variable.rb +0 -28
  384. data/test/test-vector-column.rb +0 -76
  385. data/test/test-version.rb +0 -61
  386. data/test/test-view.rb +0 -72
  387. data/vendor/local/share/groonga/html/admin/css/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  388. data/vendor/local/share/groonga/html/admin/css/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  389. data/vendor/local/share/groonga/html/admin/css/ui-lightness/images/ui-bg_flat_10_000000_40x100.png +0 -0
  390. data/vendor/local/share/groonga/html/admin/css/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  391. data/vendor/local/share/groonga/html/admin/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  392. data/vendor/local/share/groonga/html/admin/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  393. data/vendor/local/share/groonga/html/admin/css/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  394. data/vendor/local/share/groonga/html/admin/css/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  395. data/vendor/local/share/groonga/html/admin/css/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  396. data/vendor/local/share/groonga/html/admin/css/ui-lightness/images/ui-icons_ffffff_256x240.png +0 -0
  397. data/vendor/local/share/groonga/html/admin/js/jquery-1.4.2.min.js +0 -154
  398. data/vendor/local/share/groonga/html/admin/js/jquery-ui-1.8.1.custom.min.js +0 -756
@@ -1,4 +1,4 @@
1
- .TH "GROONGA" "1" "2012 年 0329 日" "2.0.0" "groonga"
1
+ .TH "GROONGA" "1" "2012 年 0428 日" "2.0.1" "groonga"
2
2
  .SH NAME
3
3
  groonga \- groongaのドキュメント
4
4
  .
@@ -100,8 +100,8 @@ deb\-src http://packages.groonga.org/debian/ squeeze main
100
100
  .sp
101
101
  .nf
102
102
  .ft C
103
- % sudo apt\-key adv \-\-recv\-keys \-\-keyserver keyserver.ubuntu.com 1C837F31
104
103
  % sudo aptitude update
104
+ % sudo aptitude \-V \-D \-y \-\-allow\-untrusted install groonga\-keyring
105
105
  % sudo aptitude \-V \-D \-y install groonga
106
106
  .ft P
107
107
  .fi
@@ -140,8 +140,8 @@ deb\-src http://packages.groonga.org/debian/ wheezy main
140
140
  .sp
141
141
  .nf
142
142
  .ft C
143
- % sudo apt\-key adv \-\-recv\-keys \-\-keyserver keyserver.ubuntu.com 1C837F31
144
143
  % sudo aptitude update
144
+ % sudo aptitude \-V \-D \-y \-\-allow\-untrusted install groonga\-keyring
145
145
  % sudo aptitude \-V \-D \-y install groonga
146
146
  .ft P
147
147
  .fi
@@ -180,8 +180,8 @@ deb\-src http://packages.groonga.org/debian/ unstable main
180
180
  .sp
181
181
  .nf
182
182
  .ft C
183
- % sudo apt\-key adv \-\-recv\-keys \-\-keyserver keyserver.ubuntu.com 1C837F31
184
183
  % sudo aptitude update
184
+ % sudo aptitude \-V \-D \-y \-\-allow\-untrusted install groonga\-keyring
185
185
  % sudo aptitude \-V \-D \-y install groonga
186
186
  .ft P
187
187
  .fi
@@ -223,8 +223,8 @@ deb\-src http://packages.groonga.org/ubuntu/ lucid universe
223
223
  .sp
224
224
  .nf
225
225
  .ft C
226
- % sudo apt\-key adv \-\-recv\-keys \-\-keyserver keyserver.ubuntu.com 1C837F31
227
226
  % sudo apt\-get update
227
+ % sudo apt\-get \-y \-\-allow\-unauthenticated install groonga\-keyring
228
228
  % sudo apt\-get \-y install groonga
229
229
  .ft P
230
230
  .fi
@@ -266,8 +266,8 @@ deb\-src http://packages.groonga.org/ubuntu/ natty universe
266
266
  .sp
267
267
  .nf
268
268
  .ft C
269
- % sudo apt\-key adv \-\-recv\-keys \-\-keyserver keyserver.ubuntu.com 1C837F31
270
269
  % sudo apt\-get update
270
+ % sudo apt\-get \-y \-\-allow\-unauthenticated install groonga\-keyring
271
271
  % sudo apt\-get \-y install groonga
272
272
  .ft P
273
273
  .fi
@@ -309,8 +309,51 @@ deb\-src http://packages.groonga.org/ubuntu/ oneiric universe
309
309
  .sp
310
310
  .nf
311
311
  .ft C
312
- % sudo apt\-key adv \-\-recv\-keys \-\-keyserver keyserver.ubuntu.com 1C837F31
313
312
  % sudo apt\-get update
313
+ % sudo apt\-get \-y \-\-allow\-unauthenticated install groonga\-keyring
314
+ % sudo apt\-get \-y install groonga
315
+ .ft P
316
+ .fi
317
+ .sp
318
+ \fI\%MeCab\fP をトークナイザとして使いたいときは、groonga\-tokenizer\-mecabパッケージをインストールしてください。
319
+ .sp
320
+ groonga\-tokenizer\-mecabパッケージのインストール:
321
+ .sp
322
+ .nf
323
+ .ft C
324
+ % sudo apt\-get \-y install groonga\-tokenizer\-mecab
325
+ .ft P
326
+ .fi
327
+ .sp
328
+ \fI\%Munin\fP プラグインを提供するパッケージもあります。Muninでgroongaの状態をモニターしたい場合は、groonga\-munin\-pluginsパッケージをインストールしてください。
329
+ .sp
330
+ groonga\-munin\-pluginsパッケージのインストール:
331
+ .sp
332
+ .nf
333
+ .ft C
334
+ % sudo apt\-get \-y install groonga\-munin\-plugins
335
+ .ft P
336
+ .fi
337
+ .SS Ubuntu 12.04 Precise Pangolin
338
+ .IP ノート
339
+ Ubuntu本家のuniverseセクションもインストール対象としてください。設定方法は以下で説明しています。
340
+ .RE
341
+ .sp
342
+ /etc/apt/sources.list.d/groonga.list:
343
+ .sp
344
+ .nf
345
+ .ft C
346
+ deb http://packages.groonga.org/ubuntu/ precise universe
347
+ deb\-src http://packages.groonga.org/ubuntu/ precise universe
348
+ .ft P
349
+ .fi
350
+ .sp
351
+ インストール:
352
+ .sp
353
+ .nf
354
+ .ft C
355
+ % sudo apt\-get update
356
+ % sudo apt\-get \-y \-\-allow\-unauthenticated install groonga\-keyring
314
357
  % sudo apt\-get \-y install groonga
315
358
  .ft P
316
359
  .fi
@@ -340,7 +383,7 @@ groonga\-munin\-pluginsパッケージのインストール:
340
383
  .sp
341
384
  .nf
342
385
  .ft C
343
- % sudo rpm \-ivh http://packages.groonga.org/centos/groonga\-repository\-1.0.0\-0.noarch.rpm
386
+ % sudo rpm \-ivh http://packages.groonga.org/centos/groonga\-repository\-1.0.1\-0.noarch.rpm
344
387
  % sudo yum update
345
388
  % sudo yum install \-y groonga
346
389
  .ft P
@@ -399,7 +442,7 @@ groonga\-munin\-pluginsパッケージのインストール:
399
442
  .sp
400
443
  .nf
401
444
  .ft C
402
- % sudo rpm \-ivh http://packages.groonga.org/centos/groonga\-repository\-1.0.0\-0.noarch.rpm
445
+ % sudo rpm \-ivh http://packages.groonga.org/centos/groonga\-repository\-1.0.1\-0.noarch.rpm
403
446
  % sudo yum update
404
447
  % sudo yum install \-y groonga
405
448
  .ft P
@@ -458,7 +501,7 @@ groonga\-munin\-pluginsパッケージのインストール:
458
501
  .sp
459
502
  .nf
460
503
  .ft C
461
- % sudo rpm \-ivh http://packages.groonga.org/fedora/groonga\-repository\-1.0.0\-0.noarch.rpm
504
+ % sudo rpm \-ivh http://packages.groonga.org/fedora/groonga\-repository\-1.0.1\-0.noarch.rpm
462
505
  % sudo yum update
463
506
  % sudo yum install \-y groonga
464
507
  .ft P
@@ -521,7 +564,7 @@ groonga\-munin\-pluginsパッケージのインストール:
521
564
  .ft P
522
565
  .fi
523
566
  .sp
524
- \fI\-\-prefix\fP オプションは、インストール先を指定するオプションです。明示的に指定しなければ、/usr/localが指定されたものとみなします。LD_LIBRARY_PATHなどに詳しくない人は、上記のように/usrを指定することをお勧めします。
567
+ \fB\-\-prefix\fP オプションは、インストール先を指定するオプションです。明示的に指定しなければ、/usr/localが指定されたものとみなします。LD_LIBRARY_PATHなどに詳しくない人は、上記のように/usrを指定することをお勧めします。
525
568
  .sp
526
569
  groongaパッケージに含まれている \fI\%Munin\fP プラグインのインストールを有効にするには、 \fI\-\-with\-munin\-plugins\fP オプションを指定する必要があります。
527
570
  .SH コミュニティ
@@ -973,7 +1016,24 @@ groonga [\-p PORT_NUMBER] \-c [HOST_NAME_OR_IP_ADDRESS]
973
1016
  .ft C
974
1017
  % groonga \-c
975
1018
  > status
976
- [[0,1332486613.4953,9.918212890625e\-05],{"alloc_count":130,"starttime":1332486613,"uptime":0,"version":"2.0.0\-250\-g5a3cf19","n_queries":0,"cache_hit_rate":0.0,"command_version":1,"default_command_version":1,"max_command_version":2}]
1019
+ [
1020
+ [
1021
+ 0,
1022
+ 1335519662.04579,
1023
+ 5.79357147216797e\-05
1024
+ ],
1025
+ {
1026
+ "uptime": 0,
1027
+ "max_command_version": 2,
1028
+ "n_queries": 0,
1029
+ "cache_hit_rate": 0.0,
1030
+ "version": "2.0.1\-283\-g3f815e2",
1031
+ "alloc_count": 130,
1032
+ "command_version": 1,
1033
+ "starttime": 1335519662,
1034
+ "default_command_version": 1
1035
+ }
1036
+ ]
977
1037
  > ctrl\-d
978
1038
  %
979
1039
  .ft P
@@ -1044,12 +1104,90 @@ groongaがHTTPサーバとして起動されているときは、/d/COMMAND_NAME
1044
1104
  http://HOST_NAME_OR_IP_ADDRESS[:PORT_NUMBER]/d/status
1045
1105
  Executed command:
1046
1106
  > status
1047
- [[0,1332486613.69917,0.000123739242553711],{"alloc_count":131,"starttime":1332486613,"uptime":0,"version":"2.0.0\-250\-g5a3cf19","n_queries":0,"cache_hit_rate":0.0,"command_version":1,"default_command_version":1,"max_command_version":2}]
1107
+ [
1108
+ [
1109
+ 0,
1110
+ 1335519662.24808,
1111
+ 9.918212890625e\-05
1112
+ ],
1113
+ {
1114
+ "uptime": 0,
1115
+ "max_command_version": 2,
1116
+ "n_queries": 0,
1117
+ "cache_hit_rate": 0.0,
1118
+ "version": "2.0.1\-283\-g3f815e2",
1119
+ "alloc_count": 131,
1120
+ "command_version": 1,
1121
+ "starttime": 1335519662,
1122
+ "default_command_version": 1
1123
+ }
1124
+ ]
1048
1125
 
1049
1126
  http://HOST_NAME_OR_IP_ADDRESS[:PORT_NUMBER]/d/select?table=Site&query=title:@this
1050
1127
  Executed command:
1051
1128
  > select \-\-table Site \-\-query title:@this
1052
- [[0,1332486613.90319,0.00245404243469238],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[1,"http://example.org/","This is test record 1!"]]]]
1129
+ [
1130
+ [
1131
+ 0,
1132
+ 1335519662.45038,
1133
+ 0.00197672843933105
1134
+ ],
1135
+ [
1136
+ [
1137
+ [
1138
+ 1
1139
+ ],
1140
+ [
1141
+ [
1142
+ "_id",
1143
+ "UInt32"
1144
+ ],
1145
+ [
1146
+ "_key",
1147
+ "ShortText"
1148
+ ],
1149
+ [
1150
+ "country",
1151
+ "SiteCountry"
1152
+ ],
1153
+ [
1154
+ "domain",
1155
+ "SiteDomain"
1156
+ ],
1157
+ [
1158
+ "link",
1159
+ "Site"
1160
+ ],
1161
+ [
1162
+ "links",
1163
+ "Site"
1164
+ ],
1165
+ [
1166
+ "location",
1167
+ "WGS84GeoPoint"
1168
+ ],
1169
+ [
1170
+ "title",
1171
+ "ShortText"
1172
+ ]
1173
+ ],
1174
+ [
1175
+ 1,
1176
+ "http://example.org/",
1177
+ "japan",
1178
+ ".org",
1179
+ "http://example.net/",
1180
+ [
1181
+ "http://example.net/",
1182
+ "http://example.org/",
1183
+ "http://example.com/"
1184
+ ],
1185
+ "128452975x503157902",
1186
+ "This is test record 1!"
1187
+ ]
1188
+ ]
1189
+ ]
1190
+ ]
1053
1191
  .ft P
1054
1192
  .fi
1055
1193
  .SS ブラウザベースの管理ツール
@@ -1074,7 +1212,7 @@ groongaにおいて利用できる基本型は、真偽値、数値、文字列
1074
1212
  .nf
1075
1213
  .ft C
1076
1214
  > table_create \-\-name ToyBox \-\-flags TABLE_HASH_KEY \-\-key_type ShortText
1077
- [[0,1332498286.03578,0.00542259216308594],true]
1215
+ [[0,1335519604.4465,0.000195741653442383],true]
1078
1216
  .ft P
1079
1217
  .fi
1080
1218
  .SS 真偽値
@@ -1088,16 +1226,51 @@ groongaにおいて利用できる基本型は、真偽値、数値、文字列
1088
1226
  .nf
1089
1227
  .ft C
1090
1228
  > column_create \-\-table ToyBox \-\-name is_animal \-\-type Bool
1091
- [[0,1332498286.2427,0.00578594207763672],true]
1229
+ [[0,1335519604.64795,0.000276803970336914],true]
1092
1230
  > load \-\-table ToyBox
1093
1231
  > [
1094
1232
  > {"_key":"Monkey","is_animal":true}
1095
1233
  > {"_key":"Flower","is_animal":false}
1096
1234
  > {"_key":"Block"}
1097
1235
  > ]
1098
- [[0,1332498286.44978,1.00197458267212],3]
1236
+ [[0,1335519604.84886,1.00171399116516],3]
1099
1237
  > select \-\-table ToyBox \-\-output_columns _key,is_animal
1100
- [[0,1332498287.65257,0.000472545623779297],[[[3],[["_key","ShortText"],["is_animal","Bool"]],["Monkey",true],["Flower",false],["Block",false]]]]
1238
+ [
1239
+ [
1240
+ 0,
1241
+ 1335519606.05127,
1242
+ 0.000250577926635742
1243
+ ],
1244
+ [
1245
+ [
1246
+ [
1247
+ 3
1248
+ ],
1249
+ [
1250
+ [
1251
+ "_key",
1252
+ "ShortText"
1253
+ ],
1254
+ [
1255
+ "is_animal",
1256
+ "Bool"
1257
+ ]
1258
+ ],
1259
+ [
1260
+ "Monkey",
1261
+ true
1262
+ ],
1263
+ [
1264
+ "Flower",
1265
+ false
1266
+ ],
1267
+ [
1268
+ "Block",
1269
+ false
1270
+ ]
1271
+ ]
1272
+ ]
1273
+ ]
1101
1274
  .ft P
1102
1275
  .fi
1103
1276
  .SS 数値
@@ -1111,18 +1284,60 @@ groongaにおいて利用できる基本型は、真偽値、数値、文字列
1111
1284
  .nf
1112
1285
  .ft C
1113
1286
  > column_create \-\-table ToyBox \-\-name price \-\-type Int8
1114
- [[0,1332498287.85609,0.00574946403503418],true]
1287
+ [[0,1335519606.2531,0.000290155410766602],true]
1115
1288
  > column_create \-\-table ToyBox \-\-name weight \-\-type Float
1116
- [[0,1332498288.06304,0.00493621826171875],true]
1289
+ [[0,1335519606.45421,0.000332832336425781],true]
1117
1290
  > load \-\-table ToyBox
1118
1291
  > [
1119
1292
  > {"_key":"Monkey","price":15.9}
1120
1293
  > {"_key":"Flower","price":200,"weight":0.13}
1121
1294
  > {"_key":"Block","weight":25.7}
1122
1295
  > ]
1123
- [[0,1332498288.26924,1.00213837623596],3]
1296
+ [[0,1335519606.65545,1.00174689292908],3]
1124
1297
  > select \-\-table ToyBox \-\-output_columns _key,price,weight
1125
- [[0,1332498289.47254,0.000308036804199219],[[[3],[["_key","ShortText"],["price","Int8"],["weight","Float"]],["Monkey",15,0.0],["Flower",\-56,0.13],["Block",0,25.7]]]]
1298
+ [
1299
+ [
1300
+ 0,
1301
+ 1335519607.85801,
1302
+ 0.000263452529907227
1303
+ ],
1304
+ [
1305
+ [
1306
+ [
1307
+ 3
1308
+ ],
1309
+ [
1310
+ [
1311
+ "_key",
1312
+ "ShortText"
1313
+ ],
1314
+ [
1315
+ "price",
1316
+ "Int8"
1317
+ ],
1318
+ [
1319
+ "weight",
1320
+ "Float"
1321
+ ]
1322
+ ],
1323
+ [
1324
+ "Monkey",
1325
+ 15,
1326
+ 0.0
1327
+ ],
1328
+ [
1329
+ "Flower",
1330
+ \-56,
1331
+ 0.13
1332
+ ],
1333
+ [
1334
+ "Block",
1335
+ 0,
1336
+ 25.7
1337
+ ]
1338
+ ]
1339
+ ]
1340
+ ]
1126
1341
  .ft P
1127
1342
  .fi
1128
1343
  .SS 文字列
@@ -1136,15 +1351,50 @@ groongaにおいて利用できる基本型は、真偽値、数値、文字列
1136
1351
  .nf
1137
1352
  .ft C
1138
1353
  > column_create \-\-table ToyBox \-\-name name \-\-type ShortText
1139
- [[0,1332498289.67627,0.00676369667053223],true]
1354
+ [[0,1335519608.06052,0.000979185104370117],true]
1140
1355
  > load \-\-table ToyBox
1141
1356
  > [
1142
1357
  > {"_key":"Monkey","name":"Grease"}
1143
1358
  > {"_key":"Flower","name":"Rose"}
1144
1359
  > ]
1145
- [[0,1332498289.88434,0.801783800125122],2]
1360
+ [[0,1335519608.26235,0.8014075756073],2]
1146
1361
  > select \-\-table ToyBox \-\-output_columns _key,name
1147
- [[0,1332498290.88724,0.000265598297119141],[[[3],[["_key","ShortText"],["name","ShortText"]],["Monkey","Grease"],["Flower","Rose"],["Block",""]]]]
1362
+ [
1363
+ [
1364
+ 0,
1365
+ 1335519609.26462,
1366
+ 0.000252008438110352
1367
+ ],
1368
+ [
1369
+ [
1370
+ [
1371
+ 3
1372
+ ],
1373
+ [
1374
+ [
1375
+ "_key",
1376
+ "ShortText"
1377
+ ],
1378
+ [
1379
+ "name",
1380
+ "ShortText"
1381
+ ]
1382
+ ],
1383
+ [
1384
+ "Monkey",
1385
+ "Grease"
1386
+ ],
1387
+ [
1388
+ "Flower",
1389
+ "Rose"
1390
+ ],
1391
+ [
1392
+ "Block",
1393
+ ""
1394
+ ]
1395
+ ]
1396
+ ]
1397
+ ]
1148
1398
  .ft P
1149
1399
  .fi
1150
1400
  .SS 日時
@@ -1158,15 +1408,50 @@ groongaにおいて利用できる基本型は、真偽値、数値、文字列
1158
1408
  .nf
1159
1409
  .ft C
1160
1410
  > column_create \-\-table ToyBox \-\-name time \-\-type Time
1161
- [[0,1332498291.0906,0.00631809234619141],true]
1411
+ [[0,1335519609.46723,0.000249862670898438],true]
1162
1412
  > load \-\-table ToyBox
1163
1413
  > [
1164
1414
  > {"_key":"Flower","time":1234567890.1234569999}
1165
1415
  > {"_key":"Block","time":\-1234567890}
1166
1416
  > ]
1167
- [[0,1332498291.29814,0.801807641983032],2]
1417
+ [[0,1335519609.66827,0.801551818847656],2]
1168
1418
  > select \-\-table ToyBox \-\-output_columns _key,time
1169
- [[0,1332498292.30117,0.000299692153930664],[[[3],[["_key","ShortText"],["time","Time"]],["Monkey",0.0],["Flower",1234567890.12346],["Block",\-1234567890.0]]]]
1419
+ [
1420
+ [
1421
+ 0,
1422
+ 1335519610.67062,
1423
+ 0.000240564346313477
1424
+ ],
1425
+ [
1426
+ [
1427
+ [
1428
+ 3
1429
+ ],
1430
+ [
1431
+ [
1432
+ "_key",
1433
+ "ShortText"
1434
+ ],
1435
+ [
1436
+ "time",
1437
+ "Time"
1438
+ ]
1439
+ ],
1440
+ [
1441
+ "Monkey",
1442
+ 0.0
1443
+ ],
1444
+ [
1445
+ "Flower",
1446
+ 1234567890.12346
1447
+ ],
1448
+ [
1449
+ "Block",
1450
+ \-1234567890.0
1451
+ ]
1452
+ ]
1453
+ ]
1454
+ ]
1170
1455
  .ft P
1171
1456
  .fi
1172
1457
  .SS 経緯度
@@ -1188,15 +1473,50 @@ groongaにおいて利用できる基本型は、真偽値、数値、文字列
1188
1473
  .nf
1189
1474
  .ft C
1190
1475
  > column_create \-\-table ToyBox \-\-name location \-\-type WGS84GeoPoint
1191
- [[0,1332498292.50467,0.0079643726348877],true]
1476
+ [[0,1335519610.87363,0.00025629997253418],true]
1192
1477
  > load \-\-table ToyBox
1193
1478
  > [
1194
1479
  > {"_key":"Monkey","location":"128452975x503157902"}
1195
1480
  > {"_key":"Block","location":"35.6813819x139.7660839"}
1196
1481
  > ]
1197
- [[0,1332498292.71385,0.801813840866089],2]
1482
+ [[0,1335519611.07464,0.801477193832397],2]
1198
1483
  > select \-\-table ToyBox \-\-output_columns _key,location
1199
- [[0,1332498293.71678,0.000298976898193359],[[[3],[["_key","ShortText"],["location","WGS84GeoPoint"]],["Monkey","128452975x503157902"],["Flower","0x0"],["Block","128452975x503157902"]]]]
1484
+ [
1485
+ [
1486
+ 0,
1487
+ 1335519612.07663,
1488
+ 0.000145435333251953
1489
+ ],
1490
+ [
1491
+ [
1492
+ [
1493
+ 3
1494
+ ],
1495
+ [
1496
+ [
1497
+ "_key",
1498
+ "ShortText"
1499
+ ],
1500
+ [
1501
+ "location",
1502
+ "WGS84GeoPoint"
1503
+ ]
1504
+ ],
1505
+ [
1506
+ "Monkey",
1507
+ "128452975x503157902"
1508
+ ],
1509
+ [
1510
+ "Flower",
1511
+ "0x0"
1512
+ ],
1513
+ [
1514
+ "Block",
1515
+ "128452975x503157902"
1516
+ ]
1517
+ ]
1518
+ ]
1519
+ ]
1200
1520
  .ft P
1201
1521
  .fi
1202
1522
  .SS テーブル参照
@@ -1212,12 +1532,49 @@ groongaでは、テーブル参照のカラム、すなわち関連付けたテ
1212
1532
  .nf
1213
1533
  .ft C
1214
1534
  > column_create \-\-table Site \-\-name link \-\-type Site
1215
- [[0,1332498293.92066,0.00589966773986816],true]
1535
+ [[0,1335519612.27812,0.000259876251220703],true]
1216
1536
  > load \-\-table Site
1217
1537
  > [{"_key":"http://example.org/","link":"http://example.net/"}]
1218
- [[0,1332498294.1274,0.201014280319214],1]
1538
+ [[0,1335519612.47892,0.200559377670288],1]
1219
1539
  > select \-\-table Site \-\-output_columns _key,title,link._key,link.title \-\-query title:@this
1220
- [[0,1332498294.52959,0.00171041488647461],[[[1],[["_key","ShortText"],["title","ShortText"],["link._key","ShortText"],["link.title","ShortText"]],["http://example.org/","This is test record 1!","http://example.net/","test record 2."]]]]
1540
+ [
1541
+ [
1542
+ 0,
1543
+ 1335519612.88015,
1544
+ 0.000769853591918945
1545
+ ],
1546
+ [
1547
+ [
1548
+ [
1549
+ 1
1550
+ ],
1551
+ [
1552
+ [
1553
+ "_key",
1554
+ "ShortText"
1555
+ ],
1556
+ [
1557
+ "title",
1558
+ "ShortText"
1559
+ ],
1560
+ [
1561
+ "link._key",
1562
+ "ShortText"
1563
+ ],
1564
+ [
1565
+ "link.title",
1566
+ "ShortText"
1567
+ ]
1568
+ ],
1569
+ [
1570
+ "http://example.org/",
1571
+ "This is test record 1!",
1572
+ "http://example.net/",
1573
+ "test record 2."
1574
+ ]
1575
+ ]
1576
+ ]
1577
+ ]
1221
1578
  .ft P
1222
1579
  .fi
1223
1580
  .sp
@@ -1233,12 +1590,57 @@ groongaでは、テーブル参照のカラム、すなわち関連付けたテ
1233
1590
  .nf
1234
1591
  .ft C
1235
1592
  > column_create \-\-table Site \-\-name links \-\-flags COLUMN_VECTOR \-\-type Site
1236
- [[0,1332498294.7353,0.00729537010192871],true]
1593
+ [[0,1335519613.08263,0.00126886367797852],true]
1237
1594
  > load \-\-table Site
1238
1595
  > [{"_key":"http://example.org/","links":["http://example.net/","http://example.org/","http://example.com/"]}]
1239
- [[0,1332498294.94353,0.200709581375122],1]
1596
+ [[0,1335519613.28473,0.200579166412354],1]
1240
1597
  > select \-\-table Site \-\-output_columns _key,title,links._key,links.title \-\-query title:@this
1241
- [[0,1332498295.34514,0.00077366828918457],[[[1],[["_key","ShortText"],["title","ShortText"],["links._key","ShortText"],["links.title","ShortText"]],["http://example.org/","This is test record 1!",["http://example.net/","http://example.org/","http://example.com/"],["test record 2.","This is test record 1!","test test record three."]]]]]
1598
+ [
1599
+ [
1600
+ 0,
1601
+ 1335519613.68602,
1602
+ 0.000647306442260742
1603
+ ],
1604
+ [
1605
+ [
1606
+ [
1607
+ 1
1608
+ ],
1609
+ [
1610
+ [
1611
+ "_key",
1612
+ "ShortText"
1613
+ ],
1614
+ [
1615
+ "title",
1616
+ "ShortText"
1617
+ ],
1618
+ [
1619
+ "links._key",
1620
+ "ShortText"
1621
+ ],
1622
+ [
1623
+ "links.title",
1624
+ "ShortText"
1625
+ ]
1626
+ ],
1627
+ [
1628
+ "http://example.org/",
1629
+ "This is test record 1!",
1630
+ [
1631
+ "http://example.net/",
1632
+ "http://example.org/",
1633
+ "http://example.com/"
1634
+ ],
1635
+ [
1636
+ "test record 2.",
1637
+ "This is test record 1!",
1638
+ "test test record three."
1639
+ ]
1640
+ ]
1641
+ ]
1642
+ ]
1643
+ ]
1242
1644
  .ft P
1243
1645
  .fi
1244
1646
  .sp
@@ -1510,15 +1912,15 @@ domainカラムとcountryカラムでドリルダウンを行う例を以下に
1510
1912
  .nf
1511
1913
  .ft C
1512
1914
  > table_create \-\-name Video \-\-flags TABLE_HASH_KEY \-\-key_type UInt32
1513
- [[0,1317212832.70606,0.061331715],true]
1915
+ [[0,1335519627.03224,0.000266790390014648],true]
1514
1916
  > table_create \-\-name Tag \-\-flags TABLE_HASH_KEY \-\-key_type ShortText
1515
- [[0,1317212832.968,0.039868236],true]
1917
+ [[0,1335519627.23315,0.000222206115722656],true]
1516
1918
  > column_create \-\-table Video \-\-name title \-\-flags COLUMN_SCALAR \-\-type ShortText
1517
- [[0,1317212833.20833,0.040494862],true]
1919
+ [[0,1335519627.43389,0.000550031661987305],true]
1518
1920
  > column_create \-\-table Video \-\-name tags \-\-flags COLUMN_VECTOR \-\-type Tag
1519
- [[0,1317212833.44939,0.051861409],true]
1921
+ [[0,1335519627.63497,0.000490188598632812],true]
1520
1922
  > column_create \-\-table Tag \-\-name index_tags \-\-flags COLUMN_INDEX \-\-type Video \-\-source tags
1521
- [[0,1317212833.70185,0.092878953],true]
1923
+ [[0,1335519627.83602,0.0032198429107666],true]
1522
1924
  > load \-\-table Video
1523
1925
  > [
1524
1926
  > {"_key":1,"title":"Soccer 2010","tags":["Sports","Soccer"]},
@@ -1530,7 +1932,7 @@ domainカラムとcountryカラムでドリルダウンを行う例を以下に
1530
1932
  > {"_key":7,"title":"Draw 8 Month","tags":["Animation","Raccoon"]},
1531
1933
  > {"_key":8,"title":"K.O.","tags":["Animation","Music"]}
1532
1934
  > ]
1533
- [[0,1317212833.99531,2.002850011],8]
1935
+ [[0,1335519628.03974,2.00352549552917],8]
1534
1936
  .ft P
1535
1937
  .fi
1536
1938
  .sp
@@ -1543,11 +1945,108 @@ domainカラムとcountryカラムでドリルダウンを行う例を以下に
1543
1945
  .nf
1544
1946
  .ft C
1545
1947
  > select \-\-table Video \-\-query tags:@Variety \-\-output_columns _key,title
1546
- [[0,1317212836.19894,0.000330108],[[[2],[["_key","UInt32"],["title","ShortText"]],[2,"Zenigata Kinjirou"],[5,"Hex Gone!"]]]]
1948
+ [
1949
+ [
1950
+ 0,
1951
+ 1335519630.24437,
1952
+ 0.000667810440063477
1953
+ ],
1954
+ [
1955
+ [
1956
+ [
1957
+ 2
1958
+ ],
1959
+ [
1960
+ [
1961
+ "_key",
1962
+ "UInt32"
1963
+ ],
1964
+ [
1965
+ "title",
1966
+ "ShortText"
1967
+ ]
1968
+ ],
1969
+ [
1970
+ 2,
1971
+ "Zenigata Kinjirou"
1972
+ ],
1973
+ [
1974
+ 5,
1975
+ "Hex Gone!"
1976
+ ]
1977
+ ]
1978
+ ]
1979
+ ]
1547
1980
  > select \-\-table Video \-\-query tags:@Sports \-\-output_columns _key,title
1548
- [[0,1317212836.39998,0.000316897],[[[2],[["_key","UInt32"],["title","ShortText"]],[1,"Soccer 2010"],[4,"Moero!! Ultra Baseball"]]]]
1981
+ [
1982
+ [
1983
+ 0,
1984
+ 1335519630.44675,
1985
+ 0.000470399856567383
1986
+ ],
1987
+ [
1988
+ [
1989
+ [
1990
+ 2
1991
+ ],
1992
+ [
1993
+ [
1994
+ "_key",
1995
+ "UInt32"
1996
+ ],
1997
+ [
1998
+ "title",
1999
+ "ShortText"
2000
+ ]
2001
+ ],
2002
+ [
2003
+ 1,
2004
+ "Soccer 2010"
2005
+ ],
2006
+ [
2007
+ 4,
2008
+ "Moero!! Ultra Baseball"
2009
+ ]
2010
+ ]
2011
+ ]
2012
+ ]
1549
2013
  > select \-\-table Video \-\-query tags:@Animation \-\-output_columns _key,title
1550
- [[0,1317212836.60111,0.000349157],[[[3],[["_key","UInt32"],["title","ShortText"]],[6,"Pikonyan 1"],[7,"Draw 8 Month"],[8,"K.O."]]]]
2014
+ [
2015
+ [
2016
+ 0,
2017
+ 1335519630.64889,
2018
+ 0.000455856323242188
2019
+ ],
2020
+ [
2021
+ [
2022
+ [
2023
+ 3
2024
+ ],
2025
+ [
2026
+ [
2027
+ "_key",
2028
+ "UInt32"
2029
+ ],
2030
+ [
2031
+ "title",
2032
+ "ShortText"
2033
+ ]
2034
+ ],
2035
+ [
2036
+ 6,
2037
+ "Pikonyan 1"
2038
+ ],
2039
+ [
2040
+ 7,
2041
+ "Draw 8 Month"
2042
+ ],
2043
+ [
2044
+ 8,
2045
+ "K.O."
2046
+ ]
2047
+ ]
2048
+ ]
2049
+ ]
1551
2050
  .ft P
1552
2051
  .fi
1553
2052
  .sp
@@ -1565,13 +2064,13 @@ groongaはテーブル間の参照関係の逆引きを高速に行うための
1565
2064
  .nf
1566
2065
  .ft C
1567
2066
  > table_create \-\-name User \-\-flags TABLE_HASH_KEY \-\-key_type ShortText
1568
- [[0,1317212836.80268,0.048923839],true]
2067
+ [[0,1335519630.85121,0.00020289421081543],true]
1569
2068
  > column_create \-\-table User \-\-name username \-\-flags COLUMN_SCALAR \-\-type ShortText
1570
- [[0,1317212837.05226,0.040322616],true]
2069
+ [[0,1335519631.05176,0.00130391120910645],true]
1571
2070
  > column_create \-\-table User \-\-name friends \-\-flags COLUMN_VECTOR \-\-type User
1572
- [[0,1317212837.29306,0.039978793],true]
2071
+ [[0,1335519631.25402,0.000970840454101562],true]
1573
2072
  > column_create \-\-table User \-\-name index_friends \-\-flags COLUMN_INDEX \-\-type User \-\-source friends
1574
- [[0,1317212837.53369,0.067271637],true]
2073
+ [[0,1335519631.45581,0.00640487670898438],true]
1575
2074
  > load \-\-table User
1576
2075
  > [
1577
2076
  > {"_key":"ken","username":"健作","friends":["taro","jiro","tomo","moritapo"]}
@@ -1581,7 +2080,7 @@ groongaはテーブル間の参照関係の逆引きを高速に行うための
1581
2080
  > {"_key":"tomo","username":"トモちゃん","friends":["ken","hana"]}
1582
2081
  > {"_key":"hana","username":"花子","friends":["ken","taro","jiro","moritapo","tomo"]}
1583
2082
  > ]
1584
- [[0,1317212837.80152,1.602221355],6]
2083
+ [[0,1335519631.6631,1.60283184051514],6]
1585
2084
  .ft P
1586
2085
  .fi
1587
2086
  .sp
@@ -1592,9 +2091,87 @@ groongaはテーブル間の参照関係の逆引きを高速に行うための
1592
2091
  .nf
1593
2092
  .ft C
1594
2093
  > select \-\-table User \-\-query friends:@tomo \-\-output_columns _key,username
1595
- [[0,1317212839.60442,0.000260617],[[[5],[["_key","ShortText"],["username","ShortText"]],["ken","健作"],["taro","ぐるんが太郎"],["jiro","ぐるんが次郎"],["moritapo","森田"],["hana","花子"]]]]
2094
+ [
2095
+ [
2096
+ 0,
2097
+ 1335519633.46704,
2098
+ 0.000623941421508789
2099
+ ],
2100
+ [
2101
+ [
2102
+ [
2103
+ 5
2104
+ ],
2105
+ [
2106
+ [
2107
+ "_key",
2108
+ "ShortText"
2109
+ ],
2110
+ [
2111
+ "username",
2112
+ "ShortText"
2113
+ ]
2114
+ ],
2115
+ [
2116
+ "ken",
2117
+ "健作"
2118
+ ],
2119
+ [
2120
+ "taro",
2121
+ "ぐるんが太郎"
2122
+ ],
2123
+ [
2124
+ "jiro",
2125
+ "ぐるんが次郎"
2126
+ ],
2127
+ [
2128
+ "moritapo",
2129
+ "森田"
2130
+ ],
2131
+ [
2132
+ "hana",
2133
+ "花子"
2134
+ ]
2135
+ ]
2136
+ ]
2137
+ ]
1596
2138
  > select \-\-table User \-\-query friends:@jiro \-\-output_columns _key,username
1597
- [[0,1317212839.80577,0.000253172],[[[3],[["_key","ShortText"],["username","ShortText"]],["ken","健作"],["taro","ぐるんが太郎"],["hana","花子"]]]]
2139
+ [
2140
+ [
2141
+ 0,
2142
+ 1335519633.67028,
2143
+ 0.000344514846801758
2144
+ ],
2145
+ [
2146
+ [
2147
+ [
2148
+ 3
2149
+ ],
2150
+ [
2151
+ [
2152
+ "_key",
2153
+ "ShortText"
2154
+ ],
2155
+ [
2156
+ "username",
2157
+ "ShortText"
2158
+ ]
2159
+ ],
2160
+ [
2161
+ "ken",
2162
+ "健作"
2163
+ ],
2164
+ [
2165
+ "taro",
2166
+ "ぐるんが太郎"
2167
+ ],
2168
+ [
2169
+ "hana",
2170
+ "花子"
2171
+ ]
2172
+ ]
2173
+ ]
2174
+ ]
1598
2175
  .ft P
1599
2176
  .fi
1600
2177
  .sp
@@ -1605,7 +2182,81 @@ groongaはテーブル間の参照関係の逆引きを高速に行うための
1605
2182
  .nf
1606
2183
  .ft C
1607
2184
  > select \-\-table User \-\-limit 0 \-\-drilldown friends
1608
- [[0,1317212840.00717,0.000223187],[[[6],[["_id","UInt32"],["_key","ShortText"],["username","ShortText"],["index_friends","User"],["friends","User"]]],[[6],[["_key","ShortText"],["_nsubrecs","Int32"]],["taro",3],["jiro",3],["tomo",5],["moritapo",2],["ken",3],["hana",1]]]]
2185
+ [
2186
+ [
2187
+ 0,
2188
+ 1335519633.87264,
2189
+ 0.000327825546264648
2190
+ ],
2191
+ [
2192
+ [
2193
+ [
2194
+ 6
2195
+ ],
2196
+ [
2197
+ [
2198
+ "_id",
2199
+ "UInt32"
2200
+ ],
2201
+ [
2202
+ "_key",
2203
+ "ShortText"
2204
+ ],
2205
+ [
2206
+ "friends",
2207
+ "User"
2208
+ ],
2209
+ [
2210
+ "index_friends",
2211
+ "User"
2212
+ ],
2213
+ [
2214
+ "username",
2215
+ "ShortText"
2216
+ ]
2217
+ ]
2218
+ ],
2219
+ [
2220
+ [
2221
+ 6
2222
+ ],
2223
+ [
2224
+ [
2225
+ "_key",
2226
+ "ShortText"
2227
+ ],
2228
+ [
2229
+ "_nsubrecs",
2230
+ "Int32"
2231
+ ]
2232
+ ],
2233
+ [
2234
+ "taro",
2235
+ 3
2236
+ ],
2237
+ [
2238
+ "jiro",
2239
+ 3
2240
+ ],
2241
+ [
2242
+ "tomo",
2243
+ 5
2244
+ ],
2245
+ [
2246
+ "moritapo",
2247
+ 2
2248
+ ],
2249
+ [
2250
+ "ken",
2251
+ 3
2252
+ ],
2253
+ [
2254
+ "hana",
2255
+ 1
2256
+ ]
2257
+ ]
2258
+ ]
2259
+ ]
1609
2260
  .ft P
1610
2261
  .fi
1611
2262
  .sp
@@ -1619,17 +2270,44 @@ groongaはテーブル間の参照関係の逆引きを高速に行うための
1619
2270
  .nf
1620
2271
  .ft C
1621
2272
  > table_create \-\-name GeoIndex \-\-flags TABLE_PAT_KEY \-\-key_type WGS84GeoPoint
1622
- [[0,1317212840.20962,0.088534001],true]
2273
+ [[0,1335519634.07459,0.00024867057800293],true]
1623
2274
  > column_create \-\-table GeoIndex \-\-name index_point \-\-type Site \-\-flags COLUMN_INDEX \-\-source location
1624
- [[0,1317212840.49869,0.093704431],true]
2275
+ [[0,1335519634.2754,0.00743818283081055],true]
1625
2276
  > load \-\-table Site
1626
2277
  > [
1627
2278
  > {"_key":"http://example.org/","location":"128452975x503157902"},
1628
2279
  > {"_key":"http://example.net/","location":"128487316x502920929"}
1629
2280
  > ]
1630
- [[0,1317212840.79332,0.801438285],2]
2281
+ [[0,1335519634.48372,0.801371812820435],2]
1631
2282
  > select \-\-table Site \-\-filter \(aqgeo_in_circle(location, "128515259x503187188", 5000)\(aq \-\-output_columns _key,location
1632
- [[0,1317212841.79563,0.000626003],[[[1],[["_key","ShortText"],["location","WGS84GeoPoint"]],["http://example.org/","128452975x503157902"]]]]
2283
+ [
2284
+ [
2285
+ 0,
2286
+ 1335519635.48562,
2287
+ 0.000363826751708984
2288
+ ],
2289
+ [
2290
+ [
2291
+ [
2292
+ 1
2293
+ ],
2294
+ [
2295
+ [
2296
+ "_key",
2297
+ "ShortText"
2298
+ ],
2299
+ [
2300
+ "location",
2301
+ "WGS84GeoPoint"
2302
+ ]
2303
+ ],
2304
+ [
2305
+ "http://example.org/",
2306
+ "128452975x503157902"
2307
+ ]
2308
+ ]
2309
+ ]
2310
+ ]
1633
2311
  .ft P
1634
2312
  .fi
1635
2313
  .sp
@@ -1640,7 +2318,44 @@ groongaはテーブル間の参照関係の逆引きを高速に行うための
1640
2318
  .nf
1641
2319
  .ft C
1642
2320
  > select \-\-table Site \-\-filter \(aqgeo_in_circle(location, "128515259x503187188", 50000)\(aq \-\-output_columns _key,location,_score \-\-sortby \(aq\-geo_distance(location, "128515259x503187188")\(aq \-\-scorer \(aq_score = geo_distance(location, "128515259x503187188")\(aq
1643
- [[0,1317212841.99878,0.0011657],[[[2],[["_key","ShortText"],["location","WGS84GeoPoint"],["_score","Int32"]],["http://example.org/","128452975x503157902",2054],["http://example.net/","128487316x502920929",6720]]]]
2321
+ [
2322
+ [
2323
+ 0,
2324
+ 1335519635.68736,
2325
+ 0.000502824783325195
2326
+ ],
2327
+ [
2328
+ [
2329
+ [
2330
+ 2
2331
+ ],
2332
+ [
2333
+ [
2334
+ "_key",
2335
+ "ShortText"
2336
+ ],
2337
+ [
2338
+ "location",
2339
+ "WGS84GeoPoint"
2340
+ ],
2341
+ [
2342
+ "_score",
2343
+ "Int32"
2344
+ ]
2345
+ ],
2346
+ [
2347
+ "http://example.org/",
2348
+ "128452975x503157902",
2349
+ 2054
2350
+ ],
2351
+ [
2352
+ "http://example.net/",
2353
+ "128487316x502920929",
2354
+ 6720
2355
+ ]
2356
+ ]
2357
+ ]
2358
+ ]
1644
2359
  .ft P
1645
2360
  .fi
1646
2361
  .SS match_columnsパラメータ
@@ -1659,24 +2374,24 @@ Blog1テーブルを作り、タイトル文字列のtitleカラム、本文のm
1659
2374
  .nf
1660
2375
  .ft C
1661
2376
  > table_create \-\-name Blog1 \-\-flags TABLE_HASH_KEY \-\-key_type ShortText
1662
- [[0,1317212795.41036,0.047939793],true]
2377
+ [[0,1335519613.90326,0.00016021728515625],true]
1663
2378
  > column_create \-\-table Blog1 \-\-name title \-\-flags COLUMN_SCALAR \-\-type ShortText
1664
- [[0,1317212795.65884,0.040658195],true]
2379
+ [[0,1335519614.10411,0.00106573104858398],true]
1665
2380
  > column_create \-\-table Blog1 \-\-name message \-\-flags COLUMN_SCALAR \-\-type ShortText
1666
- [[0,1317212795.89978,0.029458384],true]
2381
+ [[0,1335519614.30595,0.00101113319396973],true]
1667
2382
  > table_create \-\-name IndexBlog1 \-\-flags TABLE_PAT_KEY|KEY_NORMALIZE \-\-key_type ShortText \-\-default_tokenizer TokenBigram
1668
- [[0,1317212796.12974,0.183567683],true]
2383
+ [[0,1335519614.50779,0.000327587127685547],true]
1669
2384
  > column_create \-\-table IndexBlog1 \-\-name index_title \-\-flags COLUMN_INDEX|WITH_POSITION \-\-type Blog1 \-\-source title
1670
- [[0,1317212796.51381,0.092148792],true]
2385
+ [[0,1335519614.70891,0.00641822814941406],true]
1671
2386
  > column_create \-\-table IndexBlog1 \-\-name index_message \-\-flags COLUMN_INDEX|WITH_POSITION \-\-type Blog1 \-\-source message
1672
- [[0,1317212796.80646,0.088690675],true]
2387
+ [[0,1335519614.91621,0.00670051574707031],true]
1673
2388
  > load \-\-table Blog1
1674
2389
  > [
1675
2390
  > {"_key":"grn1","title":"groonga test","message":"groonga message"},
1676
2391
  > {"_key":"grn2","title":"baseball result","message":"rakutan eggs 4 \- 4 groonga moritars"},
1677
2392
  > {"_key":"grn3","title":"groonga message","message":"none"}
1678
2393
  > ]
1679
- [[0,1317212797.09575,1.001254761],3]
2394
+ [[0,1335519615.1238,1.00167393684387],3]
1680
2395
  .ft P
1681
2396
  .fi
1682
2397
  .sp
@@ -1689,11 +2404,140 @@ match_columnsオプションで、検索対象のカラムを複数指定する
1689
2404
  .nf
1690
2405
  .ft C
1691
2406
  > select \-\-table Blog1 \-\-match_columns title||message \-\-query groonga
1692
- [[0,1317212798.29761,0.000365318],[[[3],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["message","ShortText"]],[1,"grn1","groonga test","groonga message"],[3,"grn3","groonga message","none"],[2,"grn2","baseball result","rakutan eggs 4 \- 4 groonga moritars"]]]]
2407
+ [
2408
+ [
2409
+ 0,
2410
+ 1335519616.32664,
2411
+ 0.00108003616333008
2412
+ ],
2413
+ [
2414
+ [
2415
+ [
2416
+ 3
2417
+ ],
2418
+ [
2419
+ [
2420
+ "_id",
2421
+ "UInt32"
2422
+ ],
2423
+ [
2424
+ "_key",
2425
+ "ShortText"
2426
+ ],
2427
+ [
2428
+ "message",
2429
+ "ShortText"
2430
+ ],
2431
+ [
2432
+ "title",
2433
+ "ShortText"
2434
+ ]
2435
+ ],
2436
+ [
2437
+ 1,
2438
+ "grn1",
2439
+ "groonga message",
2440
+ "groonga test"
2441
+ ],
2442
+ [
2443
+ 3,
2444
+ "grn3",
2445
+ "none",
2446
+ "groonga message"
2447
+ ],
2448
+ [
2449
+ 2,
2450
+ "grn2",
2451
+ "rakutan eggs 4 \- 4 groonga moritars",
2452
+ "baseball result"
2453
+ ]
2454
+ ]
2455
+ ]
2456
+ ]
1693
2457
  > select \-\-table Blog1 \-\-match_columns title||message \-\-query message
1694
- [[0,1317212798.49954,0.000310648],[[[2],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["message","ShortText"]],[3,"grn3","groonga message","none"],[1,"grn1","groonga test","groonga message"]]]]
2458
+ [
2459
+ [
2460
+ 0,
2461
+ 1335519616.5306,
2462
+ 0.000397920608520508
2463
+ ],
2464
+ [
2465
+ [
2466
+ [
2467
+ 2
2468
+ ],
2469
+ [
2470
+ [
2471
+ "_id",
2472
+ "UInt32"
2473
+ ],
2474
+ [
2475
+ "_key",
2476
+ "ShortText"
2477
+ ],
2478
+ [
2479
+ "message",
2480
+ "ShortText"
2481
+ ],
2482
+ [
2483
+ "title",
2484
+ "ShortText"
2485
+ ]
2486
+ ],
2487
+ [
2488
+ 3,
2489
+ "grn3",
2490
+ "none",
2491
+ "groonga message"
2492
+ ],
2493
+ [
2494
+ 1,
2495
+ "grn1",
2496
+ "groonga message",
2497
+ "groonga test"
2498
+ ]
2499
+ ]
2500
+ ]
2501
+ ]
1695
2502
  > select \-\-table Blog1 \-\-match_columns title \-\-query message
1696
- [[0,1317212798.70102,0.000314581],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["message","ShortText"]],[3,"grn3","groonga message","none"]]]]
2503
+ [
2504
+ [
2505
+ 0,
2506
+ 1335519616.73219,
2507
+ 0.000369548797607422
2508
+ ],
2509
+ [
2510
+ [
2511
+ [
2512
+ 1
2513
+ ],
2514
+ [
2515
+ [
2516
+ "_id",
2517
+ "UInt32"
2518
+ ],
2519
+ [
2520
+ "_key",
2521
+ "ShortText"
2522
+ ],
2523
+ [
2524
+ "message",
2525
+ "ShortText"
2526
+ ],
2527
+ [
2528
+ "title",
2529
+ "ShortText"
2530
+ ]
2531
+ ],
2532
+ [
2533
+ 3,
2534
+ "grn3",
2535
+ "none",
2536
+ "groonga message"
2537
+ ]
2538
+ ]
2539
+ ]
2540
+ ]
1697
2541
  .ft P
1698
2542
  .fi
1699
2543
  .SS 複数のカラムにまたがったインデックスを付与する場合
@@ -1707,22 +2551,22 @@ match_columnsオプションで、検索対象のカラムを複数指定する
1707
2551
  .nf
1708
2552
  .ft C
1709
2553
  > table_create \-\-name Blog2 \-\-flags TABLE_HASH_KEY \-\-key_type ShortText
1710
- [[0,1317212798.90253,0.052986511],true]
2554
+ [[0,1335519616.93386,0.000204801559448242],true]
1711
2555
  > column_create \-\-table Blog2 \-\-name title \-\-flags COLUMN_SCALAR \-\-type ShortText
1712
- [[0,1317212799.156,0.028355347],true]
2556
+ [[0,1335519617.13462,0.000517606735229492],true]
1713
2557
  > column_create \-\-table Blog2 \-\-name message \-\-flags COLUMN_SCALAR \-\-type ShortText
1714
- [[0,1317212799.38486,0.040142104],true]
2558
+ [[0,1335519617.33589,0.000973939895629883],true]
1715
2559
  > table_create \-\-name IndexBlog2 \-\-flags TABLE_PAT_KEY|KEY_NORMALIZE \-\-key_type ShortText \-\-default_tokenizer TokenBigram
1716
- [[0,1317212799.62539,0.039673533],true]
2560
+ [[0,1335519617.53761,0.000263690948486328],true]
1717
2561
  > column_create \-\-table IndexBlog2 \-\-name index_blog \-\-flags COLUMN_INDEX|WITH_POSITION|WITH_SECTION \-\-type Blog2 \-\-source title,message
1718
- [[0,1317212799.86551,0.079790187],true]
2562
+ [[0,1335519617.73843,0.00370573997497559],true]
1719
2563
  > load \-\-table Blog2
1720
2564
  > [
1721
2565
  > {"_key":"grn1","title":"groonga test","message":"groonga message"},
1722
2566
  > {"_key":"grn2","title":"baseball result","message":"rakutan eggs 4 \- 4 groonga moritars"},
1723
2567
  > {"_key":"grn3","title":"groonga message","message":"none"}
1724
2568
  > ]
1725
- [[0,1317212800.14589,1.001367315],3]
2569
+ [[0,1335519617.94267,1.00162434577942],3]
1726
2570
  .ft P
1727
2571
  .fi
1728
2572
  .sp
@@ -1733,11 +2577,140 @@ match_columnsオプションで、検索対象のカラムを複数指定する
1733
2577
  .nf
1734
2578
  .ft C
1735
2579
  > select \-\-table Blog2 \-\-match_columns title||message \-\-query groonga
1736
- [[0,1317212801.34801,0.000328232],[[[3],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["message","ShortText"]],[1,"grn1","groonga test","groonga message"],[2,"grn2","baseball result","rakutan eggs 4 \- 4 groonga moritars"],[3,"grn3","groonga message","none"]]]]
2580
+ [
2581
+ [
2582
+ 0,
2583
+ 1335519619.14503,
2584
+ 0.000397443771362305
2585
+ ],
2586
+ [
2587
+ [
2588
+ [
2589
+ 3
2590
+ ],
2591
+ [
2592
+ [
2593
+ "_id",
2594
+ "UInt32"
2595
+ ],
2596
+ [
2597
+ "_key",
2598
+ "ShortText"
2599
+ ],
2600
+ [
2601
+ "message",
2602
+ "ShortText"
2603
+ ],
2604
+ [
2605
+ "title",
2606
+ "ShortText"
2607
+ ]
2608
+ ],
2609
+ [
2610
+ 1,
2611
+ "grn1",
2612
+ "groonga message",
2613
+ "groonga test"
2614
+ ],
2615
+ [
2616
+ 2,
2617
+ "grn2",
2618
+ "rakutan eggs 4 \- 4 groonga moritars",
2619
+ "baseball result"
2620
+ ],
2621
+ [
2622
+ 3,
2623
+ "grn3",
2624
+ "none",
2625
+ "groonga message"
2626
+ ]
2627
+ ]
2628
+ ]
2629
+ ]
1737
2630
  > select \-\-table Blog2 \-\-match_columns title||message \-\-query message
1738
- [[0,1317212801.54962,0.000320935],[[[2],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["message","ShortText"]],[1,"grn1","groonga test","groonga message"],[3,"grn3","groonga message","none"]]]]
2631
+ [
2632
+ [
2633
+ 0,
2634
+ 1335519619.34666,
2635
+ 0.000356435775756836
2636
+ ],
2637
+ [
2638
+ [
2639
+ [
2640
+ 2
2641
+ ],
2642
+ [
2643
+ [
2644
+ "_id",
2645
+ "UInt32"
2646
+ ],
2647
+ [
2648
+ "_key",
2649
+ "ShortText"
2650
+ ],
2651
+ [
2652
+ "message",
2653
+ "ShortText"
2654
+ ],
2655
+ [
2656
+ "title",
2657
+ "ShortText"
2658
+ ]
2659
+ ],
2660
+ [
2661
+ 1,
2662
+ "grn1",
2663
+ "groonga message",
2664
+ "groonga test"
2665
+ ],
2666
+ [
2667
+ 3,
2668
+ "grn3",
2669
+ "none",
2670
+ "groonga message"
2671
+ ]
2672
+ ]
2673
+ ]
2674
+ ]
1739
2675
  > select \-\-table Blog2 \-\-match_columns title \-\-query message
1740
- [[0,1317212801.75107,0.000323124],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["message","ShortText"]],[3,"grn3","groonga message","none"]]]]
2676
+ [
2677
+ [
2678
+ 0,
2679
+ 1335519619.54817,
2680
+ 0.000360250473022461
2681
+ ],
2682
+ [
2683
+ [
2684
+ [
2685
+ 1
2686
+ ],
2687
+ [
2688
+ [
2689
+ "_id",
2690
+ "UInt32"
2691
+ ],
2692
+ [
2693
+ "_key",
2694
+ "ShortText"
2695
+ ],
2696
+ [
2697
+ "message",
2698
+ "ShortText"
2699
+ ],
2700
+ [
2701
+ "title",
2702
+ "ShortText"
2703
+ ]
2704
+ ],
2705
+ [
2706
+ 3,
2707
+ "grn3",
2708
+ "none",
2709
+ "groonga message"
2710
+ ]
2711
+ ]
2712
+ ]
2713
+ ]
1741
2714
  .ft P
1742
2715
  .fi
1743
2716
  .SS インデックス名を指定した全文検索
@@ -1758,16 +2731,47 @@ table_createコマンドのflagsオプションにTABLE_PAT_KEYを指定する
1758
2731
  .nf
1759
2732
  .ft C
1760
2733
  > table_create \-\-name PatPrefix \-\-flags TABLE_PAT_KEY \-\-key_type ShortText
1761
- [[0,1317212719.34619,0.047490604],true]
2734
+ [[0,1335519594.52747,0.000475168228149414],true]
1762
2735
  > load \-\-table PatPrefix
1763
2736
  > [
1764
2737
  > {"_key":"ひろゆき"},
1765
2738
  > {"_key":"まろゆき"},
1766
2739
  > {"_key":"ひろあき"}
1767
2740
  > ]
1768
- [[0,1317212719.59456,1.001406593],3]
2741
+ [[0,1335519594.72892,1.00176382064819],3]
1769
2742
  > select \-\-table PatPrefix \-\-query _key:@ひろ
1770
- [[0,1317212720.79648,0.00031203],[[[2],[["_id","UInt32"],["_key","ShortText"]],[3,"ひろあき"],[1,"ひろゆき"]]]]
2743
+ [
2744
+ [
2745
+ 0,
2746
+ 1335519595.93126,
2747
+ 0.00059962272644043
2748
+ ],
2749
+ [
2750
+ [
2751
+ [
2752
+ 2
2753
+ ],
2754
+ [
2755
+ [
2756
+ "_id",
2757
+ "UInt32"
2758
+ ],
2759
+ [
2760
+ "_key",
2761
+ "ShortText"
2762
+ ]
2763
+ ],
2764
+ [
2765
+ 3,
2766
+ "ひろあき"
2767
+ ],
2768
+ [
2769
+ 1,
2770
+ "ひろゆき"
2771
+ ]
2772
+ ]
2773
+ ]
2774
+ ]
1771
2775
  .ft P
1772
2776
  .fi
1773
2777
  .SS 主キーによる後方一致検索
@@ -1783,20 +2787,104 @@ KEY_WITH_SISフラグを付与すると、データを追加する際に後方
1783
2787
  .nf
1784
2788
  .ft C
1785
2789
  > table_create \-\-name PatSuffix \-\-flags TABLE_PAT_KEY|KEY_WITH_SIS \-\-key_type ShortText
1786
- [[0,1317212720.99778,0.0531648179999999],true]
2790
+ [[0,1335519596.13342,0.000287294387817383],true]
1787
2791
  > column_create \-\-table PatSuffix \-\-name original \-\-type Bool
1788
- [[0,1317212721.25163,0.099479727],true]
2792
+ [[0,1335519596.33446,0.000329494476318359],true]
1789
2793
  > load \-\-table PatSuffix
1790
2794
  > [
1791
2795
  > {"_key":"ひろゆき","original":true},
1792
2796
  > {"_key":"まろゆき","original":true},
1793
2797
  > {"_key":"ひろあき","original":true}
1794
2798
  > ]
1795
- [[0,1317212721.55167,1.001449341],3]
2799
+ [[0,1335519596.53576,1.00176548957825],3]
1796
2800
  > select \-\-table PatSuffix \-\-query _key:@ゆき
1797
- [[0,1317212722.75369,0.000313623],[[[4],[["_id","UInt32"],["_key","ShortText"],["original","Bool"]],[1,"ひろゆき",true],[5,"まろゆき",true],[3,"ゆき",false],[2,"ろゆき",false]]]]
2801
+ [
2802
+ [
2803
+ 0,
2804
+ 1335519597.73837,
2805
+ 0.000630855560302734
2806
+ ],
2807
+ [
2808
+ [
2809
+ [
2810
+ 4
2811
+ ],
2812
+ [
2813
+ [
2814
+ "_id",
2815
+ "UInt32"
2816
+ ],
2817
+ [
2818
+ "_key",
2819
+ "ShortText"
2820
+ ],
2821
+ [
2822
+ "original",
2823
+ "Bool"
2824
+ ]
2825
+ ],
2826
+ [
2827
+ 1,
2828
+ "ひろゆき",
2829
+ true
2830
+ ],
2831
+ [
2832
+ 5,
2833
+ "まろゆき",
2834
+ true
2835
+ ],
2836
+ [
2837
+ 3,
2838
+ "ゆき",
2839
+ false
2840
+ ],
2841
+ [
2842
+ 2,
2843
+ "ろゆき",
2844
+ false
2845
+ ]
2846
+ ]
2847
+ ]
2848
+ ]
1798
2849
  > select \-\-table PatSuffix \-\-query "_key:@ゆき original:true"
1799
- [[0,1317212722.95502,0.00032577],[[[2],[["_id","UInt32"],["_key","ShortText"],["original","Bool"]],[1,"ひろゆき",true],[5,"まろゆき",true]]]]
2850
+ [
2851
+ [
2852
+ 0,
2853
+ 1335519597.94114,
2854
+ 0.000690460205078125
2855
+ ],
2856
+ [
2857
+ [
2858
+ [
2859
+ 2
2860
+ ],
2861
+ [
2862
+ [
2863
+ "_id",
2864
+ "UInt32"
2865
+ ],
2866
+ [
2867
+ "_key",
2868
+ "ShortText"
2869
+ ],
2870
+ [
2871
+ "original",
2872
+ "Bool"
2873
+ ]
2874
+ ],
2875
+ [
2876
+ 1,
2877
+ "ひろゆき",
2878
+ true
2879
+ ],
2880
+ [
2881
+ 5,
2882
+ "まろゆき",
2883
+ true
2884
+ ]
2885
+ ]
2886
+ ]
2887
+ ]
1800
2888
  .ft P
1801
2889
  .fi
1802
2890
  .SS 全文検索の語彙表に対する追加情報
@@ -2051,7 +3139,38 @@ Commentsテーブルのlast_modifiedカラムは、Time型です。この型で
2051
3139
  .nf
2052
3140
  .ft C
2053
3141
  > select \-\-table Users \-\-match_columns name,location_str,description \-\-query 東京 \-\-output_columns _key,name
2054
- [[0,1317212781.80175,0.000302755],[[[2],[["_key","ShortText"],["name","ShortText"]],["tasukuchan","グニャラくん"],["OffGao","OffGao"]]]]
3142
+ [
3143
+ [
3144
+ 0,
3145
+ 1335519659.99711,
3146
+ 0.000482797622680664
3147
+ ],
3148
+ [
3149
+ [
3150
+ [
3151
+ 2
3152
+ ],
3153
+ [
3154
+ [
3155
+ "_key",
3156
+ "ShortText"
3157
+ ],
3158
+ [
3159
+ "name",
3160
+ "ShortText"
3161
+ ]
3162
+ ],
3163
+ [
3164
+ "tasukuchan",
3165
+ "グニャラくん"
3166
+ ],
3167
+ [
3168
+ "OffGao",
3169
+ "OffGao"
3170
+ ]
3171
+ ]
3172
+ ]
3173
+ ]
2055
3174
  .ft P
2056
3175
  .fi
2057
3176
  .sp
@@ -2066,7 +3185,38 @@ Commentsテーブルのlast_modifiedカラムは、Time型です。この型で
2066
3185
  .nf
2067
3186
  .ft C
2068
3187
  > select \-\-table Users \-\-filter \(aqgeo_in_circle(location,"128484216x502919856",5000)\(aq \-\-output_columns _key,name
2069
- [[0,1317212782.00321,0.000241271],[[[2],[["_key","ShortText"],["name","ShortText"]],["tasukuchan","グニャラくん"],["OffGao","OffGao"]]]]
3188
+ [
3189
+ [
3190
+ 0,
3191
+ 1335519660.19891,
3192
+ 0.000342607498168945
3193
+ ],
3194
+ [
3195
+ [
3196
+ [
3197
+ 2
3198
+ ],
3199
+ [
3200
+ [
3201
+ "_key",
3202
+ "ShortText"
3203
+ ],
3204
+ [
3205
+ "name",
3206
+ "ShortText"
3207
+ ]
3208
+ ],
3209
+ [
3210
+ "tasukuchan",
3211
+ "グニャラくん"
3212
+ ],
3213
+ [
3214
+ "OffGao",
3215
+ "OffGao"
3216
+ ]
3217
+ ]
3218
+ ]
3219
+ ]
2070
3220
  .ft P
2071
3221
  .fi
2072
3222
  .sp
@@ -2081,7 +3231,38 @@ Commentsテーブルのlast_modifiedカラムは、Time型です。この型で
2081
3231
  .nf
2082
3232
  .ft C
2083
3233
  > select \-\-table Users \-\-query follower:@tasukuchan \-\-output_columns _key,name
2084
- [[0,1317212782.20472,0.000231885],[[[2],[["_key","ShortText"],["name","ShortText"]],["daijiro","hsiomaneki"],["OffGao","OffGao"]]]]
3234
+ [
3235
+ [
3236
+ 0,
3237
+ 1335519660.40055,
3238
+ 0.000302791595458984
3239
+ ],
3240
+ [
3241
+ [
3242
+ [
3243
+ 2
3244
+ ],
3245
+ [
3246
+ [
3247
+ "_key",
3248
+ "ShortText"
3249
+ ],
3250
+ [
3251
+ "name",
3252
+ "ShortText"
3253
+ ]
3254
+ ],
3255
+ [
3256
+ "daijiro",
3257
+ "hsiomaneki"
3258
+ ],
3259
+ [
3260
+ "OffGao",
3261
+ "OffGao"
3262
+ ]
3263
+ ]
3264
+ ]
3265
+ ]
2085
3266
  .ft P
2086
3267
  .fi
2087
3268
  .sp
@@ -2096,7 +3277,92 @@ Commentsテーブルのlast_modifiedカラムは、Time型です。この型で
2096
3277
  .nf
2097
3278
  .ft C
2098
3279
  > select \-\-table Comments \-\-filter \(aqgeo_in_circle(location,"127975798x502919856",20000)\(aq \-\-output_columns posted_by.name,comment \-\-drilldown hash_tags,posted_by
2099
- [[0,1317212782.40617,0.000451828],[[[4],[["posted_by.name","ShortText"],["comment","ShortText"]],["OffGao","@daijiro @tasukuchan 登録してみましたよー!"],["グニャラくん","groongaなう #groonga"],["グニャラくん","groonga開発合宿のため羽田空港に来ました! #groonga #travel"],["OffGao","中野ブロードウェイなうなう"]],[[2],[["_key","ShortText"],["_nsubrecs","Int32"]],["groonga",2],["travel",1]],[[2],[["_key","ShortText"],["_nsubrecs","Int32"]],["OffGao",2],["tasukuchan",2]]]]
3280
+ [
3281
+ [
3282
+ 0,
3283
+ 1335519660.60211,
3284
+ 0.00048828125
3285
+ ],
3286
+ [
3287
+ [
3288
+ [
3289
+ 4
3290
+ ],
3291
+ [
3292
+ [
3293
+ "posted_by.name",
3294
+ "ShortText"
3295
+ ],
3296
+ [
3297
+ "comment",
3298
+ "ShortText"
3299
+ ]
3300
+ ],
3301
+ [
3302
+ "OffGao",
3303
+ "@daijiro @tasukuchan 登録してみましたよー!"
3304
+ ],
3305
+ [
3306
+ "グニャラくん",
3307
+ "groongaなう #groonga"
3308
+ ],
3309
+ [
3310
+ "グニャラくん",
3311
+ "groonga開発合宿のため羽田空港に来ました! #groonga #travel"
3312
+ ],
3313
+ [
3314
+ "OffGao",
3315
+ "中野ブロードウェイなうなう"
3316
+ ]
3317
+ ],
3318
+ [
3319
+ [
3320
+ 2
3321
+ ],
3322
+ [
3323
+ [
3324
+ "_key",
3325
+ "ShortText"
3326
+ ],
3327
+ [
3328
+ "_nsubrecs",
3329
+ "Int32"
3330
+ ]
3331
+ ],
3332
+ [
3333
+ "groonga",
3334
+ 2
3335
+ ],
3336
+ [
3337
+ "travel",
3338
+ 1
3339
+ ]
3340
+ ],
3341
+ [
3342
+ [
3343
+ 2
3344
+ ],
3345
+ [
3346
+ [
3347
+ "_key",
3348
+ "ShortText"
3349
+ ],
3350
+ [
3351
+ "_nsubrecs",
3352
+ "Int32"
3353
+ ]
3354
+ ],
3355
+ [
3356
+ "OffGao",
3357
+ 2
3358
+ ],
3359
+ [
3360
+ "tasukuchan",
3361
+ 2
3362
+ ]
3363
+ ]
3364
+ ]
3365
+ ]
2100
3366
  .ft P
2101
3367
  .fi
2102
3368
  .sp
@@ -2111,7 +3377,38 @@ Commentsテーブルのlast_modifiedカラムは、Time型です。この型で
2111
3377
  .nf
2112
3378
  .ft C
2113
3379
  > select \-\-table Comments \-\-query comment:@なう \-\-output_columns comment,_score
2114
- [[0,1317212782.60919,0.000239996],[[[2],[["comment","ShortText"],["_score","Int32"]],["groongaなう #groonga",1],["中野ブロードウェイなうなう",2]]]]
3380
+ [
3381
+ [
3382
+ 0,
3383
+ 1335519660.80493,
3384
+ 0.000359296798706055
3385
+ ],
3386
+ [
3387
+ [
3388
+ [
3389
+ 2
3390
+ ],
3391
+ [
3392
+ [
3393
+ "comment",
3394
+ "ShortText"
3395
+ ],
3396
+ [
3397
+ "_score",
3398
+ "Int32"
3399
+ ]
3400
+ ],
3401
+ [
3402
+ "groongaなう #groonga",
3403
+ 1
3404
+ ],
3405
+ [
3406
+ "中野ブロードウェイなうなう",
3407
+ 2
3408
+ ]
3409
+ ]
3410
+ ]
3411
+ ]
2115
3412
  .ft P
2116
3413
  .fi
2117
3414
  .sp
@@ -2125,7 +3422,76 @@ Commentsテーブルのlast_modifiedカラムは、Time型です。この型で
2125
3422
  .nf
2126
3423
  .ft C
2127
3424
  > select \-\-table Comments \-\-query comment:@羽田 \-\-filter \(aqgeo_in_circle(location,"127975798x502919856",20000)\(aq \-\-output_columns posted_by.name,comment \-\-drilldown hash_tags,posted_by
2128
- [[0,1317212782.81082,0.000427163],[[[1],[["posted_by.name","ShortText"],["comment","ShortText"]],["グニャラくん","groonga開発合宿のため羽田空港に来ました! #groonga #travel"]],[[2],[["_key","ShortText"],["_nsubrecs","Int32"]],["groonga",1],["travel",1]],[[1],[["_key","ShortText"],["_nsubrecs","Int32"]],["tasukuchan",1]]]]
3425
+ [
3426
+ [
3427
+ 0,
3428
+ 1335519661.00659,
3429
+ 0.000471353530883789
3430
+ ],
3431
+ [
3432
+ [
3433
+ [
3434
+ 1
3435
+ ],
3436
+ [
3437
+ [
3438
+ "posted_by.name",
3439
+ "ShortText"
3440
+ ],
3441
+ [
3442
+ "comment",
3443
+ "ShortText"
3444
+ ]
3445
+ ],
3446
+ [
3447
+ "グニャラくん",
3448
+ "groonga開発合宿のため羽田空港に来ました! #groonga #travel"
3449
+ ]
3450
+ ],
3451
+ [
3452
+ [
3453
+ 2
3454
+ ],
3455
+ [
3456
+ [
3457
+ "_key",
3458
+ "ShortText"
3459
+ ],
3460
+ [
3461
+ "_nsubrecs",
3462
+ "Int32"
3463
+ ]
3464
+ ],
3465
+ [
3466
+ "groonga",
3467
+ 1
3468
+ ],
3469
+ [
3470
+ "travel",
3471
+ 1
3472
+ ]
3473
+ ],
3474
+ [
3475
+ [
3476
+ 1
3477
+ ],
3478
+ [
3479
+ [
3480
+ "_key",
3481
+ "ShortText"
3482
+ ],
3483
+ [
3484
+ "_nsubrecs",
3485
+ "Int32"
3486
+ ]
3487
+ ],
3488
+ [
3489
+ "tasukuchan",
3490
+ 1
3491
+ ]
3492
+ ]
3493
+ ]
3494
+ ]
2129
3495
  .ft P
2130
3496
  .fi
2131
3497
  .sp
@@ -2140,7 +3506,57 @@ Commentsテーブルのlast_modifiedカラムは、Time型です。この型で
2140
3506
  .nf
2141
3507
  .ft C
2142
3508
  > select \-\-table Comments \-\-query hash_tags:@groonga \-\-output_columns posted_by.name,comment \-\-drilldown posted_by
2143
- [[0,1317212783.01379,0.000311974],[[[2],[["posted_by.name","ShortText"],["comment","ShortText"]],["グニャラくん","groongaなう #groonga"],["グニャラくん","groonga開発合宿のため羽田空港に来ました! #groonga #travel"]],[[1],[["_key","ShortText"],["_nsubrecs","Int32"]],["tasukuchan",2]]]]
3509
+ [
3510
+ [
3511
+ 0,
3512
+ 1335519661.2089,
3513
+ 0.000585079193115234
3514
+ ],
3515
+ [
3516
+ [
3517
+ [
3518
+ 2
3519
+ ],
3520
+ [
3521
+ [
3522
+ "posted_by.name",
3523
+ "ShortText"
3524
+ ],
3525
+ [
3526
+ "comment",
3527
+ "ShortText"
3528
+ ]
3529
+ ],
3530
+ [
3531
+ "グニャラくん",
3532
+ "groongaなう #groonga"
3533
+ ],
3534
+ [
3535
+ "グニャラくん",
3536
+ "groonga開発合宿のため羽田空港に来ました! #groonga #travel"
3537
+ ]
3538
+ ],
3539
+ [
3540
+ [
3541
+ 1
3542
+ ],
3543
+ [
3544
+ [
3545
+ "_key",
3546
+ "ShortText"
3547
+ ],
3548
+ [
3549
+ "_nsubrecs",
3550
+ "Int32"
3551
+ ]
3552
+ ],
3553
+ [
3554
+ "tasukuchan",
3555
+ 2
3556
+ ]
3557
+ ]
3558
+ ]
3559
+ ]
2144
3560
  .ft P
2145
3561
  .fi
2146
3562
  .sp
@@ -2154,7 +3570,61 @@ Commentsテーブルのlast_modifiedカラムは、Time型です。この型で
2154
3570
  .nf
2155
3571
  .ft C
2156
3572
  > select \-\-table Comments \-\-query posted_by:tasukuchan \-\-output_columns comment \-\-drilldown hash_tags
2157
- [[0,1317212783.21601,0.000313114],[[[4],[["comment","ShortText"]],["初の書き込み。テストテスト。"],["@daijiro ありがとう!"],["groongaなう #groonga"],["groonga開発合宿のため羽田空港に来ました! #groonga #travel"]],[[2],[["_key","ShortText"],["_nsubrecs","Int32"]],["groonga",2],["travel",1]]]]
3573
+ [
3574
+ [
3575
+ 0,
3576
+ 1335519661.41271,
3577
+ 0.000678777694702148
3578
+ ],
3579
+ [
3580
+ [
3581
+ [
3582
+ 4
3583
+ ],
3584
+ [
3585
+ [
3586
+ "comment",
3587
+ "ShortText"
3588
+ ]
3589
+ ],
3590
+ [
3591
+ "初の書き込み。テストテスト。"
3592
+ ],
3593
+ [
3594
+ "@daijiro ありがとう!"
3595
+ ],
3596
+ [
3597
+ "groongaなう #groonga"
3598
+ ],
3599
+ [
3600
+ "groonga開発合宿のため羽田空港に来ました! #groonga #travel"
3601
+ ]
3602
+ ],
3603
+ [
3604
+ [
3605
+ 2
3606
+ ],
3607
+ [
3608
+ [
3609
+ "_key",
3610
+ "ShortText"
3611
+ ],
3612
+ [
3613
+ "_nsubrecs",
3614
+ "Int32"
3615
+ ]
3616
+ ],
3617
+ [
3618
+ "groonga",
3619
+ 2
3620
+ ],
3621
+ [
3622
+ "travel",
3623
+ 1
3624
+ ]
3625
+ ]
3626
+ ]
3627
+ ]
2158
3628
  .ft P
2159
3629
  .fi
2160
3630
  .sp
@@ -2168,7 +3638,40 @@ Commentsテーブルのlast_modifiedカラムは、Time型です。この型で
2168
3638
  .nf
2169
3639
  .ft C
2170
3640
  > select \-\-table Users \-\-query _key:tasukuchan \-\-output_columns favorites.posted_by,favorites.comment
2171
- [[0,1317212783.41809,0.000257979],[[[1],[["favorites.posted_by","Users"],["favorites.comment","ShortText"]],[["daijiro","OffGao"],["マイクロブログ作ってみました(甘栗むいちゃいました的な感じで)。","@daijiro @tasukuchan 登録してみましたよー!"]]]]]
3641
+ [
3642
+ [
3643
+ 0,
3644
+ 1335519661.61696,
3645
+ 0.000443696975708008
3646
+ ],
3647
+ [
3648
+ [
3649
+ [
3650
+ 1
3651
+ ],
3652
+ [
3653
+ [
3654
+ "favorites.posted_by",
3655
+ "Users"
3656
+ ],
3657
+ [
3658
+ "favorites.comment",
3659
+ "ShortText"
3660
+ ]
3661
+ ],
3662
+ [
3663
+ [
3664
+ "daijiro",
3665
+ "OffGao"
3666
+ ],
3667
+ [
3668
+ "マイクロブログ作ってみました(甘栗むいちゃいました的な感じで)。",
3669
+ "@daijiro @tasukuchan 登録してみましたよー!"
3670
+ ]
3671
+ ]
3672
+ ]
3673
+ ]
3674
+ ]
2172
3675
  .ft P
2173
3676
  .fi
2174
3677
  .sp
@@ -2183,7 +3686,101 @@ Commentsテーブルのlast_modifiedカラムは、Time型です。この型で
2183
3686
  .nf
2184
3687
  .ft C
2185
3688
  > select Comments \-\-filter \(aqlast_modified<=1268802000\(aq \-\-output_columns posted_by.name,comment,last_modified \-\-drilldown hash_tags,posted_by
2186
- [[0,1317212783.61997,0.000426254],[[[5],[["posted_by.name","ShortText"],["comment","ShortText"],["last_modified","Time"]],["hsiomaneki","マイクロブログ作ってみました(甘栗むいちゃいました的な感じで)。",1268795100.0],["グニャラくん","初の書き込み。テストテスト。",1268794800.0],["hsiomaneki","@tasukuchan ようこそ!!!",1268795100.0],["グニャラくん","@daijiro ありがとう!",1268798400.0],["グニャラくん","groongaなう #groonga",1268802000.0]],[[1],[["_key","ShortText"],["_nsubrecs","Int32"]],["groonga",1]],[[2],[["_key","ShortText"],["_nsubrecs","Int32"]],["daijiro",2],["tasukuchan",3]]]]
3689
+ [
3690
+ [
3691
+ 0,
3692
+ 1335519661.82081,
3693
+ 0.000457286834716797
3694
+ ],
3695
+ [
3696
+ [
3697
+ [
3698
+ 5
3699
+ ],
3700
+ [
3701
+ [
3702
+ "posted_by.name",
3703
+ "ShortText"
3704
+ ],
3705
+ [
3706
+ "comment",
3707
+ "ShortText"
3708
+ ],
3709
+ [
3710
+ "last_modified",
3711
+ "Time"
3712
+ ]
3713
+ ],
3714
+ [
3715
+ "hsiomaneki",
3716
+ "マイクロブログ作ってみました(甘栗むいちゃいました的な感じで)。",
3717
+ 1268795100.0
3718
+ ],
3719
+ [
3720
+ "グニャラくん",
3721
+ "初の書き込み。テストテスト。",
3722
+ 1268794800.0
3723
+ ],
3724
+ [
3725
+ "hsiomaneki",
3726
+ "@tasukuchan ようこそ!!!",
3727
+ 1268795100.0
3728
+ ],
3729
+ [
3730
+ "グニャラくん",
3731
+ "@daijiro ありがとう!",
3732
+ 1268798400.0
3733
+ ],
3734
+ [
3735
+ "グニャラくん",
3736
+ "groongaなう #groonga",
3737
+ 1268802000.0
3738
+ ]
3739
+ ],
3740
+ [
3741
+ [
3742
+ 1
3743
+ ],
3744
+ [
3745
+ [
3746
+ "_key",
3747
+ "ShortText"
3748
+ ],
3749
+ [
3750
+ "_nsubrecs",
3751
+ "Int32"
3752
+ ]
3753
+ ],
3754
+ [
3755
+ "groonga",
3756
+ 1
3757
+ ]
3758
+ ],
3759
+ [
3760
+ [
3761
+ 2
3762
+ ],
3763
+ [
3764
+ [
3765
+ "_key",
3766
+ "ShortText"
3767
+ ],
3768
+ [
3769
+ "_nsubrecs",
3770
+ "Int32"
3771
+ ]
3772
+ ],
3773
+ [
3774
+ "daijiro",
3775
+ 2
3776
+ ],
3777
+ [
3778
+ "tasukuchan",
3779
+ 3
3780
+ ]
3781
+ ]
3782
+ ]
3783
+ ]
2187
3784
  .ft P
2188
3785
  .fi
2189
3786
  .sp
@@ -2206,29 +3803,29 @@ TODO: 文字列型のベクターカラムでも可能であり、その場合
2206
3803
  .nf
2207
3804
  .ft C
2208
3805
  > table_create Doc TABLE_PAT_KEY ShortText
2209
- [[0,1317212801.95257,0.054058921],true]
3806
+ [[0,1335519662.68773,0.000400543212890625],true]
2210
3807
  > column_create Doc body COLUMN_SCALAR ShortText
2211
- [[0,1317212802.2071,0.040301713],true]
3808
+ [[0,1335519662.88919,0.000899314880371094],true]
2212
3809
  > table_create Term TABLE_PAT_KEY|KEY_NORMALIZE ShortText \-\-default_tokenizer TokenBigram
2213
- [[0,1317212802.44812,0.027340933],true]
3810
+ [[0,1335519663.09089,0.000370979309082031],true]
2214
3811
  > column_create Term Doc_body COLUMN_INDEX|WITH_POSITION Doc body
2215
- [[0,1317212802.676,0.079743674],true]
3812
+ [[0,1335519663.29217,0.00676441192626953],true]
2216
3813
  > table_create Synonym TABLE_PAT_KEY ShortText
2217
- [[0,1317212802.95629,0.03656858],true]
3814
+ [[0,1335519663.4998,0.000351667404174805],true]
2218
3815
  > column_create Synonym body COLUMN_SCALAR ShortText
2219
- [[0,1317212803.19316,0.040515932],true]
3816
+ [[0,1335519663.70094,0.000846624374389648],true]
2220
3817
  > load \-\-table Doc
2221
3818
  > [
2222
3819
  > {"_key": "001", "body": "すっぱいブドウと甘いシークァーサー"},
2223
3820
  > {"_key": "002", "body": "シークヮーサージュースとゴーヤチャンプル"},
2224
3821
  > ]
2225
- [[0,1317212803.43422,0.80056314],2]
3822
+ [[0,1335519663.90262,0.801640033721924],2]
2226
3823
  > load \-\-table Synonym
2227
3824
  > [
2228
3825
  > {"_key": "シークァーサー", "body": "(シークァーサー OR シークヮーサー)"},
2229
3826
  > {"_key": "シークヮーサー", "body": "(シークァーサー OR シークヮーサー)"},
2230
3827
  > ]
2231
- [[0,1317212804.43524,0.801037492],2]
3828
+ [[0,1335519664.905,0.801484823226929],2]
2232
3829
  .ft P
2233
3830
  .fi
2234
3831
  .sp
@@ -2242,9 +3839,73 @@ TODO: 文字列型のベクターカラムでも可能であり、その場合
2242
3839
  .nf
2243
3840
  .ft C
2244
3841
  > select Doc \-\-match_columns body \-\-query "シークァーサー"
2245
- [[0,1317212805.4371,0.000567851],[[[1],[["_id","UInt32"],["_key","ShortText"],["body","ShortText"]],[1,"001","すっぱいブドウと甘いシークァーサー"]]]]
3842
+ [
3843
+ [
3844
+ 0,
3845
+ 1335519665.90753,
3846
+ 0.000537633895874023
3847
+ ],
3848
+ [
3849
+ [
3850
+ [
3851
+ 1
3852
+ ],
3853
+ [
3854
+ [
3855
+ "_id",
3856
+ "UInt32"
3857
+ ],
3858
+ [
3859
+ "_key",
3860
+ "ShortText"
3861
+ ],
3862
+ [
3863
+ "body",
3864
+ "ShortText"
3865
+ ]
3866
+ ],
3867
+ [
3868
+ 1,
3869
+ "001",
3870
+ "すっぱいブドウと甘いシークァーサー"
3871
+ ]
3872
+ ]
3873
+ ]
3874
+ ]
2246
3875
  > select Doc \-\-match_columns body \-\-query "シークヮーサー"
2247
- [[0,1317212805.63859,0.000387831],[[[1],[["_id","UInt32"],["_key","ShortText"],["body","ShortText"]],[2,"002","シークヮーサージュースとゴーヤチャンプル"]]]]
3876
+ [
3877
+ [
3878
+ 0,
3879
+ 1335519666.10912,
3880
+ 0.000688791275024414
3881
+ ],
3882
+ [
3883
+ [
3884
+ [
3885
+ 1
3886
+ ],
3887
+ [
3888
+ [
3889
+ "_id",
3890
+ "UInt32"
3891
+ ],
3892
+ [
3893
+ "_key",
3894
+ "ShortText"
3895
+ ],
3896
+ [
3897
+ "body",
3898
+ "ShortText"
3899
+ ]
3900
+ ],
3901
+ [
3902
+ 2,
3903
+ "002",
3904
+ "シークヮーサージュースとゴーヤチャンプル"
3905
+ ]
3906
+ ]
3907
+ ]
3908
+ ]
2248
3909
  .ft P
2249
3910
  .fi
2250
3911
  .sp
@@ -2255,9 +3916,83 @@ TODO: 文字列型のベクターカラムでも可能であり、その場合
2255
3916
  .nf
2256
3917
  .ft C
2257
3918
  > select Doc \-\-match_columns body \-\-query "シークァーサー" \-\-query_expansion Synonym.body
2258
- [[0,1317212805.84016,0.000441852],[[[2],[["_id","UInt32"],["_key","ShortText"],["body","ShortText"]],[1,"001","すっぱいブドウと甘いシークァーサー"],[2,"002","シークヮーサージュースとゴーヤチャンプル"]]]]
3919
+ [
3920
+ [
3921
+ 0,
3922
+ 1335519666.31137,
3923
+ 0.000792741775512695
3924
+ ],
3925
+ [
3926
+ [
3927
+ [
3928
+ 2
3929
+ ],
3930
+ [
3931
+ [
3932
+ "_id",
3933
+ "UInt32"
3934
+ ],
3935
+ [
3936
+ "_key",
3937
+ "ShortText"
3938
+ ],
3939
+ [
3940
+ "body",
3941
+ "ShortText"
3942
+ ]
3943
+ ],
3944
+ [
3945
+ 1,
3946
+ "001",
3947
+ "すっぱいブドウと甘いシークァーサー"
3948
+ ],
3949
+ [
3950
+ 2,
3951
+ "002",
3952
+ "シークヮーサージュースとゴーヤチャンプル"
3953
+ ]
3954
+ ]
3955
+ ]
3956
+ ]
2259
3957
  > select Doc \-\-match_columns body \-\-query "シークヮーサー" \-\-query_expansion Synonym.body
2260
- [[0,1317212806.04176,0.000580261],[[[2],[["_id","UInt32"],["_key","ShortText"],["body","ShortText"]],[1,"001","すっぱいブドウと甘いシークァーサー"],[2,"002","シークヮーサージュースとゴーヤチャンプル"]]]]
3958
+ [
3959
+ [
3960
+ 0,
3961
+ 1335519666.51486,
3962
+ 0.000669717788696289
3963
+ ],
3964
+ [
3965
+ [
3966
+ [
3967
+ 2
3968
+ ],
3969
+ [
3970
+ [
3971
+ "_id",
3972
+ "UInt32"
3973
+ ],
3974
+ [
3975
+ "_key",
3976
+ "ShortText"
3977
+ ],
3978
+ [
3979
+ "body",
3980
+ "ShortText"
3981
+ ]
3982
+ ],
3983
+ [
3984
+ 1,
3985
+ "001",
3986
+ "すっぱいブドウと甘いシークァーサー"
3987
+ ],
3988
+ [
3989
+ 2,
3990
+ "002",
3991
+ "シークヮーサージュースとゴーヤチャンプル"
3992
+ ]
3993
+ ]
3994
+ ]
3995
+ ]
2261
3996
  .ft P
2262
3997
  .fi
2263
3998
  .sp
@@ -2611,7 +4346,34 @@ groongaは補完機能を使うために \fB/commands/suggest\fP コマンドを
2611
4346
  .nf
2612
4347
  .ft C
2613
4348
  > suggest \-\-table item_query \-\-column kana \-\-types complete \-\-frequency_threshold 1 \-\-query en
2614
- [[0,1317212704.42103,0.001348612],{"complete":[[1],[["_key","ShortText"],["_score","Int32"]],["engine",1]]}]
4349
+ [
4350
+ [
4351
+ 0,
4352
+ 1335519580.61411,
4353
+ 0.00101041793823242
4354
+ ],
4355
+ {
4356
+ "complete": [
4357
+ [
4358
+ 1
4359
+ ],
4360
+ [
4361
+ [
4362
+ "_key",
4363
+ "ShortText"
4364
+ ],
4365
+ [
4366
+ "_score",
4367
+ "Int32"
4368
+ ]
4369
+ ],
4370
+ [
4371
+ "engine",
4372
+ 1
4373
+ ]
4374
+ ]
4375
+ }
4376
+ ]
2615
4377
  .ft P
2616
4378
  .fi
2617
4379
  .SS 学習方法
@@ -2746,7 +4508,34 @@ groongaは補正機能を使うために \fB/commands/suggest\fP コマンドを
2746
4508
  .nf
2747
4509
  .ft C
2748
4510
  > suggest \-\-table item_query \-\-column kana \-\-types correction \-\-frequency_threshold 1 \-\-query saerch
2749
- [[0,1317212708.7696,0.000882462],{"correct":[[1],[["_key","ShortText"],["_score","Int32"]],["search",1]]}]
4511
+ [
4512
+ [
4513
+ 0,
4514
+ 1335519584.34144,
4515
+ 0.000605106353759766
4516
+ ],
4517
+ {
4518
+ "correct": [
4519
+ [
4520
+ 1
4521
+ ],
4522
+ [
4523
+ [
4524
+ "_key",
4525
+ "ShortText"
4526
+ ],
4527
+ [
4528
+ "_score",
4529
+ "Int32"
4530
+ ]
4531
+ ],
4532
+ [
4533
+ "search",
4534
+ 1
4535
+ ]
4536
+ ]
4537
+ }
4538
+ ]
2750
4539
  .ft P
2751
4540
  .fi
2752
4541
  .SS 学習方法
@@ -2906,7 +4695,38 @@ groongaは提案機能を使うために \fB/commands/suggest\fP コマンドを
2906
4695
  .nf
2907
4696
  .ft C
2908
4697
  > suggest \-\-table item_query \-\-column kana \-\-types suggest \-\-frequency_threshold 1 \-\-query search
2909
- [[0,1317212711.42188,0.000553344],{"suggest":[[2],[["_key","ShortText"],["_score","Int32"]],["search engine",1],["web search realtime",1]]}]
4698
+ [
4699
+ [
4700
+ 0,
4701
+ 1335519581.87931,
4702
+ 0.000770807266235352
4703
+ ],
4704
+ {
4705
+ "suggest": [
4706
+ [
4707
+ 2
4708
+ ],
4709
+ [
4710
+ [
4711
+ "_key",
4712
+ "ShortText"
4713
+ ],
4714
+ [
4715
+ "_score",
4716
+ "Int32"
4717
+ ]
4718
+ ],
4719
+ [
4720
+ "search engine",
4721
+ 1
4722
+ ],
4723
+ [
4724
+ "web search realtime",
4725
+ 1
4726
+ ]
4727
+ ]
4728
+ }
4729
+ ]
2910
4730
  .ft P
2911
4731
  .fi
2912
4732
  .SS 学習方法
@@ -5227,138 +7047,558 @@ quit
5227
7047
  .ft P
5228
7048
  .fi
5229
7049
  .SS select
5230
- .SS 名前
7050
+ .SS 概要
5231
7051
  .sp
5232
- select \- テーブルの中から条件にマッチするレコードを検索して出力する
5233
- .SS 書式
7052
+ \fBselect\fP はテーブルから指定された条件にマッチするレコードを検索し、見つかったレコードを出力します。
7053
+ .sp
7054
+ \fBselect\fP は最も重要なgroongaのコマンドです。groongaの力を最大限に活かすためには \fBselect\fP を理解する必要があります。
7055
+ .SS 構文
7056
+ .sp
7057
+ \fBselect\fP には多くの引数があります。必須の引数は \fBtable\fP だけで、残りは省略できます。:
5234
7058
  .sp
5235
7059
  .nf
5236
7060
  .ft C
5237
- select table [match_columns [query [filter [scorer [sortby [output_columns
5238
- [offset [limit [drilldown [drilldown_sortby [drilldown_output_columns
5239
- [drilldown_offset [drilldown_limit [cache
5240
- [match_escalation_threshold [query_expansion]]]]]]]]]]]]]]]]
7061
+ select table
7062
+ [match_columns=null]
7063
+ [query=null]
7064
+ [filter=null]
7065
+ [scorer=null]
7066
+ [sortby=null]
7067
+ [output_columns="_id, _key, *"]
7068
+ [offset=0]
7069
+ [limit=10]
7070
+ [drilldown=null]
7071
+ [drilldown_sortby=null]
7072
+ [drilldown_output_columns=null]
7073
+ [drilldown_offset=0]
7074
+ [drilldown_limit=10]
7075
+ [cache=yes]
7076
+ [match_escalation_threshold=0]
7077
+ [query_expansion=null]
5241
7078
  .ft P
5242
7079
  .fi
5243
- .SS 説明
7080
+ .SS 使い方
7081
+ .sp
7082
+ 例を使いながら \fBselect\fP の使い方を学びましょう。このセクションではよく使われる使い方を紹介します。
7083
+ .sp
7084
+ 使い方を示すために使うスキーマ定義とサンプルデータは以下の通りです。
7085
+ .sp
7086
+ Execution example:
7087
+ .sp
7088
+ .nf
7089
+ .ft C
7090
+ > table_create Entries TABLE_HASH_KEY ShortText
7091
+ [[0,1335594537.43378,0.000381708145141602],true]
7092
+ > column_create Entries content COLUMN_SCALAR Text
7093
+ [[0,1335594537.63582,0.000931501388549805],true]
7094
+ > table_create Terms TABLE_PAT_KEY|KEY_NORMALIZE ShortText \-\-default_tokenizer TokenBigram
7095
+ [[0,1335594537.83776,0.000288009643554688],true]
7096
+ > column_create Terms entries_key_index COLUMN_INDEX|WITH_POSITION Entries _key
7097
+ [[0,1335594538.03901,0.0059964656829834],true]
7098
+ > column_create Terms entries_content_index COLUMN_INDEX|WITH_POSITION Entries content
7099
+ [[0,1335594538.24584,0.00617790222167969],true]
7100
+ > load \-\-table Entries
7101
+ > [
7102
+ > {"_key": "The first post!", "content": "Welcome! This is my first post!"},
7103
+ > {"_key": "Groonga", "content": "I started to use groonga. It\(aqs very fast!"}
7104
+ > {"_key": "Mroonga", "content": "I also started to use mroonga. It\(aqs also very fast! Really fast!"}
7105
+ > ]
7106
+ .ft P
7107
+ .fi
7108
+ .sp
7109
+ ブログエントリ用の \fBEntries\fP テーブルがあります。各エントリはタイトルと内容を持っています。タイトルは \fBEntries\fP のキーとします。内容は \fBEntries.content\fP カラムの値とします。
7110
+ .sp
7111
+ \fBEntries._key\fP カラムと \fBEntries.content\fP カラムには \fBTokenBigram\fP トークナイザーを使ってのインデックスを作成します。そのため、 \fBEntries._key\fP と \fBEntries.content\fP は両方とも全文検索できます。
7112
+ .sp
7113
+ これで例を示すためのスキーマとデータの準備ができました。
7114
+ .SS 簡単な使い方
7115
+ .sp
7116
+ 上記のスキーマとデータを使った一番簡単な使い方を示します。この例では \fBEntries\fP テーブルのすべてのレコードを出力します。
7117
+ .sp
7118
+ Execution example:
7119
+ .sp
7120
+ .nf
7121
+ .ft C
7122
+ > select Entries
7123
+ [
7124
+ [
7125
+ 0,
7126
+ 1335519592.67133,
7127
+ 0.000493049621582031
7128
+ ],
7129
+ [
7130
+ [
7131
+ [
7132
+ 3
7133
+ ],
7134
+ [
7135
+ [
7136
+ "_id",
7137
+ "UInt32"
7138
+ ],
7139
+ [
7140
+ "_key",
7141
+ "ShortText"
7142
+ ],
7143
+ [
7144
+ "content",
7145
+ "Text"
7146
+ ]
7147
+ ],
7148
+ [
7149
+ 1,
7150
+ "The first post!",
7151
+ "Welcome! This is my first post!"
7152
+ ],
7153
+ [
7154
+ 2,
7155
+ "Groonga",
7156
+ "I started to use groonga. It\(aqs very fast!"
7157
+ ],
7158
+ [
7159
+ 3,
7160
+ "Mroonga",
7161
+ "I also started to use mroonga. It\(aqs also very fast! Really fast!"
7162
+ ]
7163
+ ]
7164
+ ]
7165
+ ]
7166
+ .ft P
7167
+ .fi
7168
+ .sp
7169
+ どうしてこのコマンドがすべてのレコードを出力するのでしょうか?理由は2つです。1つ目の理由はこのコマンドが検索条件を何も指定していないからです。検索条件を指定しないとすべてのレコードがマッチします。2つ目の理由は全レコード数が2だからです。 \fBselect\fP コマンドはデフォルトでは最大10レコードを出力します。この例では3レコードしかありません。これは10よりも少ないのですべてのレコードを出力します。
7170
+ .SS 検索条件
7171
+ .sp
7172
+ 検索条件は \fBquery\fP または \fBfilter\fP で指定します。 \fBquery\fP と \fBfilter\fP を両方指定することもできます。この場合は \fBquery\fP と \fBfilter\fP の両方の条件にマッチしたレコードが出力されます。
7173
+ .SS 検索条件: \fBquery\fP
7174
+ .sp
7175
+ \fBquery\fP はWebページの検索ボックス用に用意されています。例えば、google.co.jpにあるような検索ボックスです。 \fBquery\fP の検索条件はスペース区切りでキーワードを指定します。例えば、 \fB検索 エンジン\fP は \fB検索\fP と \fBエンジン\fP という2つのキーワードを含むレコードを検索します。
7176
+ .sp
7177
+ 通常は \fBquery\fP パラメータは全文検索条件を指定するために使います。全文検索条件以外も指定できますが、その用途には \fBfilter\fP パラメータの方が向いています。
7178
+ .sp
7179
+ \fBquery\fP パラメータで全文検索条件を指定する場合は、 \fBmatch_columns\fP パラメータと一緒に使います。 \fBmatch_columns\fP はどのカラムまたはインデックスを使って \fBquery\fP を検索するかを指定します。
7180
+ .sp
7181
+ 以下は簡単な \fBquery\fP の使用例です。
7182
+ .sp
7183
+ Execution example:
5244
7184
  .sp
5245
- groonga組込コマンドの一つであるselectについて説明します。組込コマンドは、groonga実行ファイルの引数、標準入力、またはソケット経由でgroongaサーバにリクエストを送信することによって実行します。
7185
+ .nf
7186
+ .ft C
7187
+ > select Entries \-\-match_columns content \-\-query fast
7188
+ [
7189
+ [
7190
+ 0,
7191
+ 1335519592.87374,
7192
+ 0.000868797302246094
7193
+ ],
7194
+ [
7195
+ [
7196
+ [
7197
+ 2
7198
+ ],
7199
+ [
7200
+ [
7201
+ "_id",
7202
+ "UInt32"
7203
+ ],
7204
+ [
7205
+ "_key",
7206
+ "ShortText"
7207
+ ],
7208
+ [
7209
+ "content",
7210
+ "Text"
7211
+ ]
7212
+ ],
7213
+ [
7214
+ 2,
7215
+ "Groonga",
7216
+ "I started to use groonga. It\(aqs very fast!"
7217
+ ],
7218
+ [
7219
+ 3,
7220
+ "Mroonga",
7221
+ "I also started to use mroonga. It\(aqs also very fast! Really fast!"
7222
+ ]
7223
+ ]
7224
+ ]
7225
+ ]
7226
+ .ft P
7227
+ .fi
7228
+ .sp
7229
+ この \fBselect\fP コマンドは \fBEntries\fP テーブルの中から \fBcontent\fP カラムの値に \fBfast\fP を含んでいるレコードを検索します。
7230
+ .sp
7231
+ \fBquery\fP はクエリ構文という構文を使いますが、詳細はここでは説明しません。詳細は \fB/spec/query_syntax\fP を参照してください。
7232
+ .SS 検索条件: \fBfilter\fP
5246
7233
  .sp
5247
- selectは、使用しているデータベースのテーブルの中から条件にマッチするレコードを検索して出力します。
7234
+ \fBfilter\fP は複雑な検索条件を指定するために用意されています。ECMAScriptのような構文で \fBfilter\fP に検索条件を指定します。
7235
+ .sp
7236
+ 以下は簡単な \fBfilter\fP の使用例です。
7237
+ .sp
7238
+ Execution example:
7239
+ .sp
7240
+ .nf
7241
+ .ft C
7242
+ > select Entries \-\-filter \(aqcontent @ "fast" && _key == "Groonga"\(aq
7243
+ [
7244
+ [
7245
+ 0,
7246
+ 1335520300.98383,
7247
+ 0.000544071197509766
7248
+ ],
7249
+ [
7250
+ [
7251
+ [
7252
+ 1
7253
+ ],
7254
+ [
7255
+ [
7256
+ "_id",
7257
+ "UInt32"
7258
+ ],
7259
+ [
7260
+ "_key",
7261
+ "ShortText"
7262
+ ],
7263
+ [
7264
+ "content",
7265
+ "Text"
7266
+ ]
7267
+ ],
7268
+ [
7269
+ 2,
7270
+ "Groonga",
7271
+ "I started to use groonga. It\(aqs very fast!"
7272
+ ]
7273
+ ]
7274
+ ]
7275
+ ]
7276
+ .ft P
7277
+ .fi
7278
+ .sp
7279
+ この \fBselect\fP コマンドは \fBEntries\fP テーブルの中の \fBcontent\fP カラムの値に \fBfast\fP という単語を含んでいて、かつ、 \fB_key\fP が \fBGroonga\fP のレコードを検索します。このコマンドの中には \fB@\fP と \fB&&\fP と \fB==\fP という3つの演算子があります。 \fB@\fP は全文検索用の演算子です。 \fB&&\fP と \fB==\fP はECMAScriptと同じ意味です。 \fB&&\fP が論理和用の演算子で \fB==\fP が等価演算子です。
7280
+ .sp
7281
+ \fBfilter\fP にはもっと演算子や構文があります。例えば、 \fB(...)\fP を使った検索条件のグループ化などです。しかし、ここでは詳細は説明しません。詳細は \fB/spec/script_syntax\fP を参照してください。
7282
+ .SS ページング
7283
+ .sp
7284
+ \fBoffset\fP と \fBlimit\fP を指定することで出力されるレコードの範囲を指定できます。以下は2番目のレコードだけを出力する例です。
7285
+ .sp
7286
+ Execution example:
7287
+ .sp
7288
+ .nf
7289
+ .ft C
7290
+ > select Entries \-\-offset 1 \-\-limit 1
7291
+ [
7292
+ [
7293
+ 0,
7294
+ 1335519593.28077,
7295
+ 0.000288248062133789
7296
+ ],
7297
+ [
7298
+ [
7299
+ [
7300
+ 3
7301
+ ],
7302
+ [
7303
+ [
7304
+ "_id",
7305
+ "UInt32"
7306
+ ],
7307
+ [
7308
+ "_key",
7309
+ "ShortText"
7310
+ ],
7311
+ [
7312
+ "content",
7313
+ "Text"
7314
+ ]
7315
+ ],
7316
+ [
7317
+ 2,
7318
+ "Groonga",
7319
+ "I started to use groonga. It\(aqs very fast!"
7320
+ ]
7321
+ ]
7322
+ ]
7323
+ ]
7324
+ .ft P
7325
+ .fi
7326
+ .sp
7327
+ \fBoffset\fP は0基点です。 \fB\-\-offset 1\fP は2番目以降のレコードを出力するという意味になります。
7328
+ .sp
7329
+ \fBlimit\fP は出力レコード数の最大値を指定します。 \fB\-\-limit 1\fP は多くても1レコードを出力するという意味になります。もし、1つもレコードがマッチしていなければ \fBselect\fP コマンドはどのレコードも出力しません。
7330
+ .SS 全レコード数
7331
+ .sp
7332
+ \fB\-\-limit 0\fP を使うとレコードの内容は取得せずに全レコード数だけを取得できます。
7333
+ .sp
7334
+ Execution example:
7335
+ .sp
7336
+ .nf
7337
+ .ft C
7338
+ > select Entries \-\-limit 0
7339
+ [
7340
+ [
7341
+ 0,
7342
+ 1335519593.48351,
7343
+ 0.000329017639160156
7344
+ ],
7345
+ [
7346
+ [
7347
+ [
7348
+ 3
7349
+ ],
7350
+ [
7351
+ [
7352
+ "_id",
7353
+ "UInt32"
7354
+ ],
7355
+ [
7356
+ "_key",
7357
+ "ShortText"
7358
+ ],
7359
+ [
7360
+ "content",
7361
+ "Text"
7362
+ ]
7363
+ ]
7364
+ ]
7365
+ ]
7366
+ ]
7367
+ .ft P
7368
+ .fi
7369
+ .sp
7370
+ \fB\-\-limit 0\fP はマッチしたレコード数だけを取得したいときにも便利です。
5248
7371
  .SS 引数
5249
7372
  .sp
5250
- \fBtable\fP
5251
- .INDENT 0.0
5252
- .INDENT 3.5
5253
- 検索対象のテーブルを指定します。存在しないテーブルを指定した場合はエラーになります。
5254
- .UNINDENT
5255
- .UNINDENT
7373
+ このセクションではすべての引数について説明します。引数はカテゴリわけしています。
7374
+ .SS 必須引数
5256
7375
  .sp
5257
- \fBmatch_columns\fP
5258
- .INDENT 0.0
5259
- .INDENT 3.5
5260
- query引数に指定する検索条件文字列でデフォルトの検索対象となるカラムを指定します。
5261
- .INDENT 0.0
5262
- .INDENT 3.5
5263
- カラム名
5264
- .UNINDENT
5265
- .UNINDENT
7376
+ \fBtable\fP だけが必須の引数です。
7377
+ .SS \fBtable\fP
5266
7378
  .sp
5267
- カラム名の後ろに\(aq* 数値\(aqを指定することによって、そのカラムにヒットした際のスコアに積算される重みを指定することができます。
5268
- .INDENT 0.0
5269
- .INDENT 3.5
5270
- カラム名 * 重み
5271
- .UNINDENT
5272
- .UNINDENT
7379
+ 検索対象のテーブルを指定します。 \fBtable\fP は必ず指定しなければいけません。
5273
7380
  .sp
5274
- 複数のカラムを\(aq||\(aqで結合して指定することもできます。
5275
- .INDENT 0.0
5276
- .INDENT 3.5
5277
- カラム名1 * 重み1 || カラム名2 * 重み2
5278
- .UNINDENT
5279
- .UNINDENT
7381
+ 存在しないテーブルを指定するとエラーが返ります。
5280
7382
  .sp
5281
- また、カラム名ではなく、検索に使用するインデックス名を指定することもできます。
5282
- .UNINDENT
5283
- .UNINDENT
7383
+ Execution example:
5284
7384
  .sp
5285
- \fBquery\fP
7385
+ .nf
7386
+ .ft C
7387
+ > select Nonexistent
7388
+ [
7389
+ [
7390
+ \-22,
7391
+ 1335519593.68574,
7392
+ 0.000583171844482422,
7393
+ "invalid table name: <Nonexistent>",
7394
+ [
7395
+ [
7396
+ "grn_select",
7397
+ "proc.c",
7398
+ 542
7399
+ ]
7400
+ ]
7401
+ ]
7402
+ ]
7403
+ .ft P
7404
+ .fi
7405
+ .SS 検索関係の引数
7406
+ .sp
7407
+ 検索関係の引数がいくつかあります。一般的には、検索ボックスを実装するために \fBmatch_columns\fP と \fBquery\fP 引数を使い、複雑な検索機能を実装するために \fBfilter\fP 引数を使います。
7408
+ .sp
7409
+ \fBquery\fP と \fBfilter\fP を指定した場合は、 \fBquery\fP と \fBfilter\fP にマッチしたレコードが選択されます。 \fBquery\fP と \fBfilter\fP のどちらも指定しなかった場合はすべてのレコードが選択されます。
7410
+ .SS \fBmatch_columns\fP
7411
+ .sp
7412
+ \fBquery\fP 引数の値で全文検索をするときに使うデフォルトの検索対象カラムを指定します。全文検索対象のカラムは \fBquery\fP 引数でも指定できます。検索対象カラムを \fBmatch_columns\fP で指定する場合と \fBquery\fP で指定する場合の違いは重みを指定できるかどうかです。 \fBmatch_columns\fP では重みを指定できますが、 \fBquery\fP では指定できません。
7413
+ .sp
7414
+ 重みは検索対象カラムの相対的な重要度です。重みの大きい検索対象カラムでマッチした場合は小さい検索対象カラムでマッチした場合よりも多くのヒットスコアがつきます。デフォルトの重みは1です。
7415
+ .sp
7416
+ 以下は簡単な \fBmatch_columns\fP の使用例です。
7417
+ .sp
7418
+ Execution example:
7419
+ .sp
7420
+ .nf
7421
+ .ft C
7422
+ > select Entries \-\-match_columns content \-\-query fast \-\-output_columns \(aq_key, _score\(aq
7423
+ [
7424
+ [
7425
+ 0,
7426
+ 1335519593.88754,
7427
+ 0.000384092330932617
7428
+ ],
7429
+ [
7430
+ [
7431
+ [
7432
+ 2
7433
+ ],
7434
+ [
7435
+ [
7436
+ "_key",
7437
+ "ShortText"
7438
+ ],
7439
+ [
7440
+ "_score",
7441
+ "Int32"
7442
+ ]
7443
+ ],
7444
+ [
7445
+ "Groonga",
7446
+ 1
7447
+ ],
7448
+ [
7449
+ "Mroonga",
7450
+ 2
7451
+ ]
7452
+ ]
7453
+ ]
7454
+ ]
7455
+ .ft P
7456
+ .fi
7457
+ .sp
7458
+ \fB\-\-match_columns content\fP はデフォルトの全文検索対象カラムに \fBcontent\fP カラムを使用し、その重みは1、という意味になります。 \fB\-\-output_columns \(aq_key, _score\(aq\fP はこの \fBselect\fP コマンドがマッチしたレコードの \fB_key\fP の値と \fB_score\fP の値を出力する、ということを指定しています。
7459
+ .sp
7460
+ \fB_score\fP の値に注目してください。 \fB_score\fP の値は \fBquery\fP 引数の値に何個マッチしたかになっています。この例では、 \fBquery\fP 引数の値は \fBfast\fP です。 \fB_score\fP の値が1ということは \fBcontent\fP カラムの中に \fBfast\fP が1つだけあるということです。 \fB_score\fP の値が2ということは \fBcontent\fP カラムの中に \fBfast\fP が2つあるということです。
7461
+ .sp
7462
+ 重みを指定するためには \fBcolumn * weight\fP という構文を使います。以下は重みの使用例です。
7463
+ .sp
7464
+ Execution example:
7465
+ .sp
7466
+ .nf
7467
+ .ft C
7468
+ > select Entries \-\-match_columns \(aqcontent * 2\(aq \-\-query fast \-\-output_columns \(aq_key, _score\(aq
7469
+ [
7470
+ [
7471
+ 0,
7472
+ 1335519594.08917,
7473
+ 0.0003814697265625
7474
+ ],
7475
+ [
7476
+ [
7477
+ [
7478
+ 2
7479
+ ],
7480
+ [
7481
+ [
7482
+ "_key",
7483
+ "ShortText"
7484
+ ],
7485
+ [
7486
+ "_score",
7487
+ "Int32"
7488
+ ]
7489
+ ],
7490
+ [
7491
+ "Groonga",
7492
+ 2
7493
+ ],
7494
+ [
7495
+ "Mroonga",
7496
+ 4
7497
+ ]
7498
+ ]
7499
+ ]
7500
+ ]
7501
+ .ft P
7502
+ .fi
7503
+ .sp
7504
+ \fB\-\-match_columns \(aqcontent * 2\(aq\fP はデフォルトの全文検索用カラムとして \fBcontent\fP カラムを使い、その重みは2という意味です。
7505
+ .sp
7506
+ \fB_score\fP の値に注目してください。 \fB_score\fP の値が2倍になっています。これは重みを2にしたからです。
7507
+ .sp
7508
+ デフォルトの全文検索対象カラムとして複数のカラムを指定することができます。複数のカラムを指定した場合はすべてのカラムに対して全文検索が行われ、ヒットスコアが積算されます。つまり、 \fBquery\fP 引数の値がどれか1つでも全文検索対象カラムにマッチしたら、そのレコードはマッチしたものとして扱われます。
7509
+ .sp
7510
+ 複数のカラムを指定するには \fBcolumn1 * weight1 || column2 * weight2 || ...\fP という構文を追加います。 \fB* weight\fP は省略することができます。省略した場合は重みが1になります。以下は複数カラムの使用例です。
7511
+ .sp
7512
+ Execution example:
7513
+ .sp
7514
+ .nf
7515
+ .ft C
7516
+ > select Entries \-\-match_columns \(aq_key * 10 || content\(aq \-\-query groonga \-\-output_columns \(aq_key, _score\(aq
7517
+ [
7518
+ [
7519
+ 0,
7520
+ 1335594540.29792,
7521
+ 0.000547885894775391
7522
+ ],
7523
+ [
7524
+ [
7525
+ [
7526
+ 1
7527
+ ],
7528
+ [
7529
+ [
7530
+ "_key",
7531
+ "ShortText"
7532
+ ],
7533
+ [
7534
+ "_score",
7535
+ "Int32"
7536
+ ]
7537
+ ],
7538
+ [
7539
+ "Groonga",
7540
+ 11
7541
+ ]
7542
+ ]
7543
+ ]
7544
+ ]
7545
+ .ft P
7546
+ .fi
7547
+ .sp
7548
+ \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 カラムの値よりも重要だという意味になります。この例では、ブログエントリのタイトルはブログエントリの内容よりも重要だということです。
7549
+ .SS \fBquery\fP
7550
+ .sp
7551
+ TODO: write short description and add example.
7552
+ .sp
7553
+ \fB/spec/query_syntax\fP を参照してください。
7554
+ .SS \fBfilter\fP
7555
+ .sp
7556
+ TODO: write short description and add example.
7557
+ .sp
7558
+ \fB/spec/script_syntax\fP を参照してください。
7559
+ .SS 高度な検索のための引数
7560
+ .SS \fBmatch_escalation_threshold\fP
7561
+ .sp
7562
+ TODO: add example.
7563
+ .sp
7564
+ 検索方法をエスカレーションするかどうかを決定するための閾値を指定します。この閾値はマッチしたレコード数との比較に使われます。マッチしたレコード数がこの閾値以下の場合は検索方法をエスカレーションします。検索方法のエスカレーションについては \fB/spec/search\fP を参照してください。
7565
+ .sp
7566
+ デフォルトの閾値は0です。これは1つもレコードがマッチしなかったときだけ検索方法をエスカレーションするということです。
7567
+ .sp
7568
+ デフォルトの閾値は以下の方法でカスタマイズできます。
5286
7569
  .INDENT 0.0
5287
7570
  .INDENT 3.5
5288
- 以下の形式の文字列によって検索条件を指定します。
7571
+ .INDENT 0.0
7572
+ .IP \(bu 2
7573
+ configureの \fB\-\-with\-match\-escalation\-threshold\fP オプション
7574
+ .IP \(bu 2
7575
+ groongaコマンドの \fB\-\-match\-escalation\-threshold\fP オプション
7576
+ .IP \(bu 2
7577
+ 設定ファイルの \fBmatch\-escalation\-threshold\fP 設定項目
5289
7578
  .UNINDENT
5290
7579
  .UNINDENT
5291
- .SS 条件式
5292
- .sp
5293
- 以下の条件式が使用できます。
5294
- .INDENT 0.0
5295
- .TP
5296
- .B 文字列
5297
- 全文検索条件(デフォルト検索対象カラムの値が指定された文字列を含んでいる)
5298
- .TP
5299
- .B "文字列"
5300
- フレーズ検索条件(デフォルト検索対象カラムの値が指定されたフレーズを含んでいる)
5301
- .TP
5302
- .B カラム名:値
5303
- 一致条件(カラム値 == 値)
5304
- .TP
5305
- .B カラム名:!値
5306
- 不一致条件(カラム値 != 値)
5307
- .TP
5308
- .B カラム名:<値
5309
- 比較条件(カラム値 < 値)
5310
- .TP
5311
- .B カラム名:>値
5312
- 比較条件(カラム値 > 値)
5313
- .TP
5314
- .B カラム名:<=値
5315
- 比較条件(カラム値 <= 値)
5316
- .TP
5317
- .B カラム名:>=値
5318
- 比較条件(カラム値 >= 値)
5319
- .TP
5320
- .B カラム名:@文字列
5321
- 全文検索条件(カラム値が指定された文字列を含んでいる)
5322
7580
  .UNINDENT
5323
- .SS 結合演算子
7581
+ .SS \fBquery_expansion\fP
5324
7582
  .sp
5325
- 複数の条件式を結合するために以下の演算子が使用できます。
5326
- .INDENT 0.0
5327
- .TP
5328
- .B a OR b
5329
- 論理和(aとbといずれかの条件がマッチする)
5330
- .TP
5331
- .B a + b
5332
- 論理積(aとbの両方がマッチする)
5333
- .TP
5334
- .B a \- b
5335
- aにマッチし、bにはマッチしない
5336
- .TP
5337
- .B ( )
5338
- 複数の条件をまとめる
5339
- .UNINDENT
7583
+ TODO: write in English and add example.
5340
7584
  .sp
5341
- \fBfilter\fP
5342
- .INDENT 0.0
5343
- .INDENT 3.5
5344
- 絞り込み条件をscript形式のgrn_expr文字列によって指定します。
7585
+ \fBquery\fP 引数の値を拡張(置換)するために使うカラムを指定します。
5345
7586
  .sp
5346
- query引数とfilter引数をどちらも指定した場合は、両方の条件を満足するレコードのみがヒットします。どちらも指定しない場合は全件がヒットします。
5347
- .UNINDENT
5348
- .UNINDENT
7587
+ query_expansionパラメータには、queryパラメータに指定された文字列を置換(拡張)する条件となるテーブル・カラムを指定します。フォーマットは「${テーブル名}.${カラム名}」となります。指定するテーブルは文字列を主キーとするハッシュ型あるいはパトリシア木型のテーブルで、一つ以上の文字列型のカラムが定義されている必要があります。(ここでは置換テーブルと呼びます。)
5349
7588
  .sp
5350
- \fBscorer\fP
5351
- .INDENT 0.0
5352
- .INDENT 3.5
5353
- 検索条件にマッチする全てのレコードに対して適用するgrn_exprをscript形式で指定します。
7589
+ queryパラメータに指定された文字列が、指定されたテーブルの主キーと完全一致する場合、その文字列を指定されたカラム値の文字列に置換します。queryパラメータが、空白、括弧、演算子などを含む場合は、その演算子によって区切られた文字列の単位で置換が実行されます。ダブルクォート("")で括られた範囲は、その内部に空白を含んでいても一つの置換される単位と見なされます。検索文字列と置換テーブルの主キー値との比較に際して大文字小文字等を区別したくない場合には、置換テーブルを定義する際にKEY_NORMALIZEを指定します。置換後の文字列となるカラムの値には、括弧や*, ORなど、queryパラメータで利用可能な全ての演算子を指定することができます。
7590
+ .SS 出力関連の引数
7591
+ .SS \fBoutput_columns\fP
5354
7592
  .sp
5355
- scorerは、検索処理が完了し、ソート処理が実行される前に呼び出されます。従って、各レコードのスコアを操作する式を指定しておけば、検索結果のソート順序をカスタマイズできるようになります。
5356
- .UNINDENT
5357
- .UNINDENT
7593
+ TODO: write in English and add example.
7594
+ .sp
7595
+ 出力するカラム名のリストをカンマ(\(aq,\(aq)区切りで指定します。
7596
+ .sp
7597
+ アスタリスク(\(aq*\(aq)を指定すると、全てのカラムが指定されたものとみなされます。または、script形式のgrn_expr文字列を指定します。 (デフォルトは、\(aq_id, _key, *\(aq)
7598
+ .SS \fBsortby\fP
7599
+ .sp
7600
+ TODO: write in English and add example.
5358
7601
  .sp
5359
- \fBsortby\fP
5360
- .INDENT 0.0
5361
- .INDENT 3.5
5362
7602
  ソートキーとなるカラム名のリストをカンマ(\(aq,\(aq)区切りで指定します。:
5363
7603
  .sp
5364
7604
  .nf
@@ -5370,115 +7610,66 @@ scorerは、検索処理が完了し、ソート処理が実行される前に
5370
7610
  カラム名1の値でソートし、値が同一である場合はカラム名2でソート、と順次比較を行いソートします。カラム名の前に \- を付加した場合は降順にソートします。付加しない場合には昇順にソートします。
5371
7611
  .sp
5372
7612
  query引数またはfilter引数を指定した場合はカラム名に\(aq_score\(aqを使えます。\(aq_score\(aqを指定することでスコアでソートすることができます。query引数もfilter引数も指定していない状態で\(aq_score\(aqを指定するとエラーになります。
5373
- .UNINDENT
5374
- .UNINDENT
7613
+ .SS \fBoffset\fP
5375
7614
  .sp
5376
- \fBoutput_columns\fP
5377
- .INDENT 0.0
5378
- .INDENT 3.5
5379
- 出力するカラム名のリストをカンマ(\(aq,\(aq)区切りで指定します。
5380
- .sp
5381
- アスタリスク(\(aq*\(aq)を指定すると、全てのカラムが指定されたものとみなされます。または、script形式のgrn_expr文字列を指定します。 (デフォルトは、\(aq_id, _key, *\(aq)
5382
- .UNINDENT
5383
- .UNINDENT
7615
+ TODO: write in English and add example.
5384
7616
  .sp
5385
- \fBoffset\fP
5386
- .INDENT 0.0
5387
- .INDENT 3.5
5388
7617
  検索条件にマッチしたレコードのうち、出力対象となる最初のレコードの番号を0ベースで指定します。デフォルト値は0です。offsetに負の値を指定した場合は、ヒットした件数 + offset によって算出される値が指定されたものとみなされます。
5389
- .UNINDENT
5390
- .UNINDENT
7618
+ .SS \fBlimit\fP
7619
+ .sp
7620
+ TODO: write in English and add example.
5391
7621
  .sp
5392
- \fBlimit\fP
5393
- .INDENT 0.0
5394
- .INDENT 3.5
5395
7622
  検索条件にマッチしたレコードのうち、出力を行うレコードの件数を指定します。デフォルト値は10です。実際には、offset + limit がヒットした件数を超えない範囲でレコードが出力されます。limitに負の値を指定した場合は、ヒットした件数 + limit + 1 によって算出される値が指定されたものとみなされます。
5396
- .UNINDENT
5397
- .UNINDENT
7623
+ .SS \fBscorer\fP
7624
+ .sp
7625
+ TODO: write in English and add example.
7626
+ .sp
7627
+ 検索条件にマッチする全てのレコードに対して適用するgrn_exprをscript形式で指定します。
7628
+ .sp
7629
+ scorerは、検索処理が完了し、ソート処理が実行される前に呼び出されます。従って、各レコードのスコアを操作する式を指定しておけば、検索結果のソート順序をカスタマイズできるようになります。
7630
+ .SS ファセット関連の引数
7631
+ .SS \fBdrilldown\fP
7632
+ .sp
7633
+ TODO: write in English and add example.
5398
7634
  .sp
5399
- \fBdrilldown\fP
5400
- .INDENT 0.0
5401
- .INDENT 3.5
5402
7635
  グループ化のキーとなるカラム名のリストをカンマ(\(aq,\(aq)区切りで指定します。検索条件にマッチした各レコードを出力したのちに、drilldownに指定されたカラムの値が同一であるレコードをとりまとめて、それぞれについて結果レコードを出力します。
5403
- .UNINDENT
5404
- .UNINDENT
7636
+ .SS \fBdrilldown_sortby\fP
7637
+ .sp
7638
+ TODO: write in English and add example.
5405
7639
  .sp
5406
- \fBdrilldown_sortby\fP
5407
- .INDENT 0.0
5408
- .INDENT 3.5
5409
7640
  drilldown条件に指定されたカラムの値毎にとりまとめられたレコードについて、ソートキーとなるカラム名のリストをカンマ(\(aq,\(aq)区切りで指定します。sortbyパラメータと同様に昇降順を指定できます。
5410
- .UNINDENT
5411
- .UNINDENT
7641
+ .SS \fBdrilldown_output_columns\fP
7642
+ .sp
7643
+ TODO: write in English and add example.
5412
7644
  .sp
5413
- \fBdrilldown_output_columns\fP
5414
- .INDENT 0.0
5415
- .INDENT 3.5
5416
7645
  drilldown条件に指定されたカラムの値毎にとりまとめられたレコードについて、出力するカラム名のリストをカンマ(\(aq,\(aq)区切りで指定します。
5417
- .UNINDENT
5418
- .UNINDENT
7646
+ .SS \fBdrilldown_offset\fP
7647
+ .sp
7648
+ TODO: write in English and add example.
5419
7649
  .sp
5420
- \fBdrilldown_offset\fP
5421
- .INDENT 0.0
5422
- .INDENT 3.5
5423
7650
  drilldown条件に指定されたカラムの値毎にとりまとめられたレコードについて、出力対象となる最初のレコードの番号を0ベースで指定します。デフォルト値は0です。drilldown_offsetに負の値を指定した場合は、ヒットした件数 + drilldown_offsetによって算出される値が指定されたものとみなされます。
5424
- .UNINDENT
5425
- .UNINDENT
7651
+ .SS \fBdrilldown_limit\fP
7652
+ .sp
7653
+ TODO: write in English and add example.
5426
7654
  .sp
5427
- \fBdrilldown_limit\fP
5428
- .INDENT 0.0
5429
- .INDENT 3.5
5430
7655
  drilldown条件に指定されたカラムの値毎にとりまとめられたレコードについて、出力を行うレコードの件数を指定します。デフォルト値は10です。実際には、drilldown_offset + drilldown_limit がヒットした件数を超えない範囲でレコードが出力されます。drilldown_limitに負の値を指定した場合は、ヒットした件数 + drilldown_limit + 1 によって算出される値が指定されたものとみなされます。
5431
- .UNINDENT
5432
- .UNINDENT
7656
+ .SS キャッシュ関連の引数
7657
+ .SS \fBcache\fP
7658
+ .sp
7659
+ TODO: write in English and add example.
5433
7660
  .sp
5434
- \fBcache\fP
5435
- .INDENT 0.0
5436
- .INDENT 3.5
5437
7661
  クエリキャッシュに関する動作を設定します。
5438
- .INDENT 0.0
5439
- .INDENT 3.5
7662
+ .sp
5440
7663
  \fBno\fP
5441
7664
  .INDENT 0.0
5442
7665
  .INDENT 3.5
5443
7666
  検索結果をクエリキャッシュに残しません。キャッシュして再利用される可能性が低いクエリに対して用います。キャッシュ容量は有限です。有効なキャッシュが多くヒットするために、このパラメータは有効です。
5444
7667
  .UNINDENT
5445
7668
  .UNINDENT
5446
- .UNINDENT
5447
- .UNINDENT
5448
- .UNINDENT
5449
- .UNINDENT
5450
- .sp
5451
- \fBmatch_escalation_threshold\fP
5452
- .INDENT 0.0
5453
- .INDENT 3.5
5454
- 検索の挙動をエスカレーションするかどうかの閾値を設定します。デフォルト値は0です。デフォルト値は以下のいずれかの方法で設定できます。
5455
- .INDENT 0.0
5456
- .INDENT 3.5
5457
- .INDENT 0.0
5458
- .IP \(bu 2
5459
- configureの\-\-with\-match\-escalation\-thresholdオプション
5460
- .IP \(bu 2
5461
- groongaコマンド起動時の\-\-match\-escalation\-thresholdオプション
5462
- .IP \(bu 2
5463
- 設定ファイル中のmatch\-escalation\-threshold設定項目
5464
- .UNINDENT
5465
- .UNINDENT
5466
- .UNINDENT
5467
- .sp
5468
- クエリのヒット件数が閾値を越えない場合は \fB/spec/search\fP で説明している方法で検索方法をエスカレーションしてきます。
5469
- .UNINDENT
5470
- .UNINDENT
5471
- .sp
5472
- \fBquery_expansion\fP
5473
- .INDENT 0.0
5474
- .INDENT 3.5
5475
- query_expansionパラメータには、queryパラメータに指定された文字列を置換(拡張)する条件となるテーブル・カラムを指定します。フォーマットは「${テーブル名}.${カラム名}」となります。指定するテーブルは文字列を主キーとするハッシュ型あるいはパトリシア木型のテーブルで、一つ以上の文字列型のカラムが定義されている必要があります。(ここでは置換テーブルと呼びます。)
5476
- .sp
5477
- queryパラメータに指定された文字列が、指定されたテーブルの主キーと完全一致する場合、その文字列を指定されたカラム値の文字列に置換します。queryパラメータが、空白、括弧、演算子などを含む場合は、その演算子によって区切られた文字列の単位で置換が実行されます。ダブルクォート("")で括られた範囲は、その内部に空白を含んでいても一つの置換される単位と見なされます。検索文字列と置換テーブルの主キー値との比較に際して大文字小文字等を区別したくない場合には、置換テーブルを定義する際にKEY_NORMALIZEを指定します。置換後の文字列となるカラムの値には、括弧や*, ORなど、queryパラメータで利用可能な全ての演算子を指定することができます。
5478
- .UNINDENT
5479
- .UNINDENT
5480
7669
  .SS 返値
5481
7670
  .sp
7671
+ TODO: write in English and add example.
7672
+ .sp
5482
7673
  以下のようなjson形式で値が返却されます。
5483
7674
  .sp
5484
7675
  .nf
@@ -5590,20 +7781,17 @@ drilldown_output_columns, drilldown_offset, drilldown_limitによって指定さ
5590
7781
  .UNINDENT
5591
7782
  .UNINDENT
5592
7783
  .UNINDENT
5593
- .SS
5594
- .sp
5595
- テーブルEntryの全レコード・全カラムの値を出力します。:
5596
- .sp
5597
- .nf
5598
- .ft C
5599
- select Entry
5600
-
5601
- [[[2],[["_id", "UInt32"],["_key","ShortText"],["body","ShortText"]],[1,"abandon","放棄する"],[2,"abbreviate","短縮する"]]]
5602
- .ft P
5603
- .fi
5604
- .SS 関連項目
5605
- .sp
5606
- \fB../expr\fP
7784
+ .SS 参考
7785
+ .INDENT 0.0
7786
+ .INDENT 3.5
7787
+ .INDENT 0.0
7788
+ .IP \(bu 2
7789
+ \fB/spec/query_syntax\fP
7790
+ .IP \(bu 2
7791
+ \fB/spec/script_syntax\fP
7792
+ .UNINDENT
7793
+ .UNINDENT
7794
+ .UNINDENT
5607
7795
  .SS shutdown
5608
7796
  .SS 名前
5609
7797
  .sp
@@ -5926,7 +8114,7 @@ Execution example:
5926
8114
  > {"sequence": "1", "time": 1312950804.76057, "item": "engin"},
5927
8115
  > {"sequence": "1", "time": 1312950805.86057, "item": "engine", "type": "submit"}
5928
8116
  > ]
5929
- [[0,1317212843.70335,1.584911917],6]
8117
+ [[0,1335519584.62528,1.57926440238953],6]
5930
8118
  .ft P
5931
8119
  .fi
5932
8120
  .sp
@@ -5947,7 +8135,7 @@ Execution example:
5947
8135
  > {"sequence": "2", "time": 1312950809.76057, "item": "serch"},
5948
8136
  > {"sequence": "2", "time": 1312950810.86057, "item": "search", "type": "submit"}
5949
8137
  > ]
5950
- [[0,1317212845.48948,2.003051709],8]
8138
+ [[0,1335519586.4057,2.00371694564819],8]
5951
8139
  .ft P
5952
8140
  .fi
5953
8141
  .sp
@@ -5962,7 +8150,7 @@ Execution example:
5962
8150
  > {"sequence": "3", "time": 1312950803.86057, "item": "search engine", "type": "submit"},
5963
8151
  > {"sequence": "3", "time": 1312950808.86057, "item": "web search realtime", "type": "submit"}
5964
8152
  > ]
5965
- [[0,1317212847.69365,0.801326259],2]
8153
+ [[0,1335519588.61046,0.801591634750366],2]
5966
8154
  .ft P
5967
8155
  .fi
5968
8156
  .sp
@@ -5973,7 +8161,34 @@ Execution example:
5973
8161
  .nf
5974
8162
  .ft C
5975
8163
  > suggest \-\-table item_query \-\-column kana \-\-types complete \-\-frequency_threshold 1 \-\-query en
5976
- [[0,1317212848.69611,0.00164469],{"complete":[[1],[["_key","ShortText"],["_score","Int32"]],["engine",1]]}]
8164
+ [
8165
+ [
8166
+ 0,
8167
+ 1335519589.6131,
8168
+ 0.000982522964477539
8169
+ ],
8170
+ {
8171
+ "complete": [
8172
+ [
8173
+ 1
8174
+ ],
8175
+ [
8176
+ [
8177
+ "_key",
8178
+ "ShortText"
8179
+ ],
8180
+ [
8181
+ "_score",
8182
+ "Int32"
8183
+ ]
8184
+ ],
8185
+ [
8186
+ "engine",
8187
+ 1
8188
+ ]
8189
+ ]
8190
+ }
8191
+ ]
5977
8192
  .ft P
5978
8193
  .fi
5979
8194
  .sp
@@ -5984,7 +8199,34 @@ Execution example:
5984
8199
  .nf
5985
8200
  .ft C
5986
8201
  > suggest \-\-table item_query \-\-column kana \-\-types correct \-\-frequency_threshold 1 \-\-query saerch
5987
- [[0,1317212848.8995,0.00037794],{"correct":[[1],[["_key","ShortText"],["_score","Int32"]],["search",1]]}]
8202
+ [
8203
+ [
8204
+ 0,
8205
+ 1335519589.81612,
8206
+ 0.000555992126464844
8207
+ ],
8208
+ {
8209
+ "correct": [
8210
+ [
8211
+ 1
8212
+ ],
8213
+ [
8214
+ [
8215
+ "_key",
8216
+ "ShortText"
8217
+ ],
8218
+ [
8219
+ "_score",
8220
+ "Int32"
8221
+ ]
8222
+ ],
8223
+ [
8224
+ "search",
8225
+ 1
8226
+ ]
8227
+ ]
8228
+ }
8229
+ ]
5988
8230
  .ft P
5989
8231
  .fi
5990
8232
  .sp
@@ -5995,7 +8237,38 @@ Execution example:
5995
8237
  .nf
5996
8238
  .ft C
5997
8239
  > suggest \-\-table item_query \-\-column kana \-\-types suggest \-\-frequency_threshold 1 \-\-query search
5998
- [[0,1317212849.10158,0.000376811],{"suggest":[[2],[["_key","ShortText"],["_score","Int32"]],["search engine",1],["web search realtime",1]]}]
8240
+ [
8241
+ [
8242
+ 0,
8243
+ 1335519590.01861,
8244
+ 0.000383615493774414
8245
+ ],
8246
+ {
8247
+ "suggest": [
8248
+ [
8249
+ 2
8250
+ ],
8251
+ [
8252
+ [
8253
+ "_key",
8254
+ "ShortText"
8255
+ ],
8256
+ [
8257
+ "_score",
8258
+ "Int32"
8259
+ ]
8260
+ ],
8261
+ [
8262
+ "search engine",
8263
+ 1
8264
+ ],
8265
+ [
8266
+ "web search realtime",
8267
+ 1
8268
+ ]
8269
+ ]
8270
+ }
8271
+ ]
5999
8272
  .ft P
6000
8273
  .fi
6001
8274
  .sp
@@ -6006,7 +8279,80 @@ Execution example:
6006
8279
  .nf
6007
8280
  .ft C
6008
8281
  > suggest \-\-table item_query \-\-column kana \-\-types complete|correct|suggest \-\-frequency_threshold 1 \-\-query search
6009
- [[0,1317212849.30453,0.001329747],{"complete":[[2],[["_key","ShortText"],["_score","Int32"]],["search",2],["search engine",2]],"correct":[[1],[["_key","ShortText"],["_score","Int32"]],["search",2]],"suggest":[[2],[["_key","ShortText"],["_score","Int32"]],["search engine",1],["web search realtime",1]]}]
8282
+ [
8283
+ [
8284
+ 0,
8285
+ 1335519590.22114,
8286
+ 0.00113773345947266
8287
+ ],
8288
+ {
8289
+ "suggest": [
8290
+ [
8291
+ 2
8292
+ ],
8293
+ [
8294
+ [
8295
+ "_key",
8296
+ "ShortText"
8297
+ ],
8298
+ [
8299
+ "_score",
8300
+ "Int32"
8301
+ ]
8302
+ ],
8303
+ [
8304
+ "search engine",
8305
+ 1
8306
+ ],
8307
+ [
8308
+ "web search realtime",
8309
+ 1
8310
+ ]
8311
+ ],
8312
+ "complete": [
8313
+ [
8314
+ 2
8315
+ ],
8316
+ [
8317
+ [
8318
+ "_key",
8319
+ "ShortText"
8320
+ ],
8321
+ [
8322
+ "_score",
8323
+ "Int32"
8324
+ ]
8325
+ ],
8326
+ [
8327
+ "search",
8328
+ 2
8329
+ ],
8330
+ [
8331
+ "search engine",
8332
+ 2
8333
+ ]
8334
+ ],
8335
+ "correct": [
8336
+ [
8337
+ 1
8338
+ ],
8339
+ [
8340
+ [
8341
+ "_key",
8342
+ "ShortText"
8343
+ ],
8344
+ [
8345
+ "_score",
8346
+ "Int32"
8347
+ ]
8348
+ ],
8349
+ [
8350
+ "search",
8351
+ 2
8352
+ ]
8353
+ ]
8354
+ }
8355
+ ]
6010
8356
  .ft P
6011
8357
  .fi
6012
8358
  .SS 参考
@@ -6980,11 +9326,11 @@ groongaはデフォルトで動的なインデックス構築方法を使いま
6980
9326
  .nf
6981
9327
  .ft C
6982
9328
  > table_create Tweets TABLE_NO_KEY
6983
- [[0,1330339027.61804,0.000236272811889648],true]
9329
+ [[0,1335519575.12183,0.000383138656616211],true]
6984
9330
  > column_create Tweets content COLUMN_SCALAR ShortText
6985
- [[0,1330339027.81905,0.000560760498046875],true]
9331
+ [[0,1335519575.32371,0.000842571258544922],true]
6986
9332
  > table_create Lexicon TABLE_HASH_KEY|KEY_NORMALIZE ShortText \-\-default_tokenizer TokenBigram
6987
- [[0,1330339028.02028,0.000248432159423828],true]
9333
+ [[0,1335519575.52538,0.000417470932006836],true]
6988
9334
  .ft P
6989
9335
  .fi
6990
9336
  .sp
@@ -7000,7 +9346,7 @@ groongaはデフォルトで動的なインデックス構築方法を使いま
7000
9346
  > {"content":"I just start it!"},
7001
9347
  > {"content":"I\(aqm sleepy... Have a nice day... Good night..."}
7002
9348
  > ]
7003
- [[0,1330339028.22155,1.00183534622192],3]
9349
+ [[0,1335519575.72702,1.00192642211914],3]
7004
9350
  .ft P
7005
9351
  .fi
7006
9352
  .sp
@@ -7011,7 +9357,30 @@ groongaはデフォルトで動的なインデックス構築方法を使いま
7011
9357
  .nf
7012
9358
  .ft C
7013
9359
  > select Tweets \-\-match_columns content \-\-query \(aqgood nice\(aq
7014
- [[0,1330339029.42452,0.000802278518676758],[[[0],[["_id","UInt32"],["content","ShortText"]]]]]
9360
+ [
9361
+ [
9362
+ 0,
9363
+ 1335519576.93011,
9364
+ 0.000945568084716797
9365
+ ],
9366
+ [
9367
+ [
9368
+ [
9369
+ 0
9370
+ ],
9371
+ [
9372
+ [
9373
+ "_id",
9374
+ "UInt32"
9375
+ ],
9376
+ [
9377
+ "content",
9378
+ "ShortText"
9379
+ ]
9380
+ ]
9381
+ ]
9382
+ ]
9383
+ ]
7015
9384
  .ft P
7016
9385
  .fi
7017
9386
  .sp
@@ -7022,7 +9391,7 @@ groongaはデフォルトで動的なインデックス構築方法を使いま
7022
9391
  .nf
7023
9392
  .ft C
7024
9393
  > column_create Lexicon tweet COLUMN_INDEX|WITH_POSITION Tweets content
7025
- [[0,1330339029.62682,0.00742125511169434],true]
9394
+ [[0,1335519577.13347,0.00795507431030273],true]
7026
9395
  .ft P
7027
9396
  .fi
7028
9397
  .sp
@@ -7033,7 +9402,34 @@ groongaはデフォルトで動的なインデックス構築方法を使いま
7033
9402
  .nf
7034
9403
  .ft C
7035
9404
  > select Tweets \-\-match_columns content \-\-query \(aqgood nice\(aq
7036
- [[0,1330339029.83545,0.000765085220336914],[[[1],[["_id","UInt32"],["content","ShortText"]],[3,"I\(aqm sleepy... Have a nice day... Good night..."]]]]
9405
+ [
9406
+ [
9407
+ 0,
9408
+ 1335519577.34259,
9409
+ 0.000716209411621094
9410
+ ],
9411
+ [
9412
+ [
9413
+ [
9414
+ 1
9415
+ ],
9416
+ [
9417
+ [
9418
+ "_id",
9419
+ "UInt32"
9420
+ ],
9421
+ [
9422
+ "content",
9423
+ "ShortText"
9424
+ ]
9425
+ ],
9426
+ [
9427
+ 3,
9428
+ "I\(aqm sleepy... Have a nice day... Good night..."
9429
+ ]
9430
+ ]
9431
+ ]
9432
+ ]
7037
9433
  .ft P
7038
9434
  .fi
7039
9435
  .sp
@@ -7048,7 +9444,7 @@ groongaはデフォルトで動的なインデックス構築方法を使いま
7048
9444
  > {"content":"Good morning! Nice day."},
7049
9445
  > {"content":"Let\(aqs go shopping."}
7050
9446
  > ]
7051
- [[0,1330339030.03821,0.801372528076172],2]
9447
+ [[0,1335519577.54547,0.801515579223633],2]
7052
9448
  .ft P
7053
9449
  .fi
7054
9450
  .sp
@@ -7059,7 +9455,38 @@ groongaはデフォルトで動的なインデックス構築方法を使いま
7059
9455
  .nf
7060
9456
  .ft C
7061
9457
  > select Tweets \-\-match_columns content \-\-query \(aqgood nice\(aq
7062
- [[0,1330339031.04064,0.000650644302368164],[[[2],[["_id","UInt32"],["content","ShortText"]],[3,"I\(aqm sleepy... Have a nice day... Good night..."],[4,"Good morning! Nice day."]]]]
9458
+ [
9459
+ [
9460
+ 0,
9461
+ 1335519578.54813,
9462
+ 0.000664234161376953
9463
+ ],
9464
+ [
9465
+ [
9466
+ [
9467
+ 2
9468
+ ],
9469
+ [
9470
+ [
9471
+ "_id",
9472
+ "UInt32"
9473
+ ],
9474
+ [
9475
+ "content",
9476
+ "ShortText"
9477
+ ]
9478
+ ],
9479
+ [
9480
+ 3,
9481
+ "I\(aqm sleepy... Have a nice day... Good night..."
9482
+ ],
9483
+ [
9484
+ 4,
9485
+ "Good morning! Nice day."
9486
+ ]
9487
+ ]
9488
+ ]
9489
+ ]
7063
9490
  .ft P
7064
9491
  .fi
7065
9492
  .SS Log
@@ -7344,6 +9771,61 @@ Example:
7344
9771
  .ft P
7345
9772
  .fi
7346
9773
  .SH 仕様
9774
+ .SS クエリ構文
9775
+ .sp
9776
+ TODO: revised.
9777
+ .sp
9778
+ 一般的なWebページの検索フォームで使われるような書式を使って検索条件を指定することができます。これをクエリ構文と呼びます。
9779
+ .sp
9780
+ クエリ構文は「条件式」と条件式を組み合わせる「結合式」からなります。
9781
+ .SS 条件式
9782
+ .sp
9783
+ 以下の条件式が使用できます。
9784
+ .SS \fB文字列\fP
9785
+ .sp
9786
+ 全文検索条件(デフォルト検索対象カラムの値が指定された文字列を含んでいる)
9787
+ .SS \fB"文字列"\fP
9788
+ .sp
9789
+ フレーズ検索条件(デフォルト検索対象カラムの値が指定されたフレーズを含んでいる)
9790
+ .SS \fBカラム名:値\fP
9791
+ .sp
9792
+ 一致条件( \fBカラム値 == 値\fP )
9793
+ .SS \fBカラム名:!値\fP
9794
+ .sp
9795
+ 不一致条件( \fBカラム値 != 値\fP )
9796
+ .SS \fBカラム名:<値\fP
9797
+ .sp
9798
+ 比較条件( \fBカラム値 < 値\fP )
9799
+ .SS \fBカラム名:>値\fP
9800
+ .sp
9801
+ 比較条件( \fBカラム値 > 値\fP )
9802
+ .SS \fBカラム名:<=値\fP
9803
+ .sp
9804
+ 比較条件( \fBカラム値 <= 値\fP )
9805
+ .SS \fBカラム名:>=値\fP
9806
+ .sp
9807
+ 比較条件( \fBカラム値 >= 値\fP )
9808
+ .SS \fBカラム名:@文字列\fP
9809
+ .sp
9810
+ 全文検索条件(カラム値が指定された文字列を含んでいる)
9811
+ .SS 結合演算子
9812
+ .sp
9813
+ 複数の条件式を結合するために以下の演算子が使用できます。
9814
+ .SS \fBa OR b\fP
9815
+ .sp
9816
+ 論理和( \fBa\fP と \fBb\fP といずれかの条件がマッチする)
9817
+ .SS \fBa + b\fP
9818
+ .sp
9819
+ 論理積( \fBa\fP と \fBb\fP の両方がマッチする)
9820
+ .SS \fBa \- b\fP
9821
+ .sp
9822
+ \fBa\fP にマッチし、 \fBb\fP にはマッチしない
9823
+ .SS \fB(...)\fP
9824
+ .sp
9825
+ 複数の条件をまとめる
9826
+ .SS スクリプト構文
9827
+ .sp
9828
+ TODO...
7347
9829
  .SS 検索
7348
9830
  .sp
7349
9831
  \fB/commands/select\fP コマンドがqueryパラメータを使ってどのように検索するのかを説明します。