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

Sign up to get free protection for your applications and to get access to all the features.
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" "March 29, 2012" "2.0.0" "groonga"
1
+ .TH "GROONGA" "1" "April 28, 2012" "2.0.2" "groonga"
2
2
  .SH NAME
3
3
  groonga \- groonga documentation
4
4
  .
@@ -100,8 +100,8 @@ Install:
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 @@ Install:
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 @@ Install:
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
@@ -224,8 +224,8 @@ Install:
224
224
  .sp
225
225
  .nf
226
226
  .ft C
227
- % sudo apt\-key adv \-\-recv\-keys \-\-keyserver keyserver.ubuntu.com 1C837F31
228
227
  % sudo apt\-get update
228
+ % sudo apt\-get \-y \-\-allow\-unauthenticated install groonga\-keyring
229
229
  % sudo apt\-get \-y install groonga
230
230
  .ft P
231
231
  .fi
@@ -268,8 +268,8 @@ Install:
268
268
  .sp
269
269
  .nf
270
270
  .ft C
271
- % sudo apt\-key adv \-\-recv\-keys \-\-keyserver keyserver.ubuntu.com 1C837F31
272
271
  % sudo apt\-get update
272
+ % sudo apt\-get \-y \-\-allow\-unauthenticated install groonga\-keyring
273
273
  % sudo apt\-get \-y install groonga
274
274
  .ft P
275
275
  .fi
@@ -312,8 +312,52 @@ Install:
312
312
  .sp
313
313
  .nf
314
314
  .ft C
315
- % sudo apt\-key adv \-\-recv\-keys \-\-keyserver keyserver.ubuntu.com 1C837F31
316
315
  % sudo apt\-get update
316
+ % sudo apt\-get \-y \-\-allow\-unauthenticated install groonga\-keyring
317
+ % sudo apt\-get \-y install groonga
318
+ .ft P
319
+ .fi
320
+ .sp
321
+ If you want to use \fI\%MeCab\fP as a tokenizer. please install groonga\-tokenizer\-mecab package.
322
+ .sp
323
+ Install groonga\-tokenizer\-mecab package:
324
+ .sp
325
+ .nf
326
+ .ft C
327
+ % sudo apt\-get \-y install groonga\-tokenizer\-mecab
328
+ .ft P
329
+ .fi
330
+ .sp
331
+ There is a package that provides \fI\%Munin\fP plugins. If you want to monitor groonga status by Munin, please install groonga\-munin\-plugins package.
332
+ .sp
333
+ Install groonga\-munin\-plugins package:
334
+ .sp
335
+ .nf
336
+ .ft C
337
+ % sudo apt\-get \-y install groonga\-munin\-plugins
338
+ .ft P
339
+ .fi
340
+ .SS Ubuntu 12.04 Precise Pangolin
341
+ .IP Note
342
+ You\(aqll need to enable the universe repository of Ubuntu to install groonga.
343
+ The following describes how to do it.
344
+ .RE
345
+ .sp
346
+ /etc/apt/sources.list.d/groonga.list:
347
+ .sp
348
+ .nf
349
+ .ft C
350
+ deb http://packages.groonga.org/ubuntu/ precise universe
351
+ deb\-src http://packages.groonga.org/ubuntu/ precise universe
352
+ .ft P
353
+ .fi
354
+ .sp
355
+ Install:
356
+ .sp
357
+ .nf
358
+ .ft C
359
+ % sudo apt\-get update
360
+ % sudo apt\-get \-y \-\-allow\-unauthenticated install groonga\-keyring
317
361
  % sudo apt\-get \-y install groonga
318
362
  .ft P
319
363
  .fi
@@ -343,7 +387,7 @@ Install:
343
387
  .sp
344
388
  .nf
345
389
  .ft C
346
- % sudo rpm \-ivh http://packages.groonga.org/centos/groonga\-repository\-1.0.0\-0.noarch.rpm
390
+ % sudo rpm \-ivh http://packages.groonga.org/centos/groonga\-repository\-1.0.1\-0.noarch.rpm
347
391
  % sudo yum update
348
392
  % sudo yum install \-y groonga
349
393
  .ft P
@@ -402,7 +446,7 @@ Install:
402
446
  .sp
403
447
  .nf
404
448
  .ft C
405
- % sudo rpm \-ivh http://packages.groonga.org/centos/groonga\-repository\-1.0.0\-0.noarch.rpm
449
+ % sudo rpm \-ivh http://packages.groonga.org/centos/groonga\-repository\-1.0.1\-0.noarch.rpm
406
450
  % sudo yum update
407
451
  % sudo yum install \-y groonga
408
452
  .ft P
@@ -461,7 +505,7 @@ Install:
461
505
  .sp
462
506
  .nf
463
507
  .ft C
464
- % sudo rpm \-ivh http://packages.groonga.org/fedora/groonga\-repository\-1.0.0\-0.noarch.rpm
508
+ % sudo rpm \-ivh http://packages.groonga.org/fedora/groonga\-repository\-1.0.1\-0.noarch.rpm
465
509
  % sudo yum update
466
510
  % sudo yum install \-y groonga
467
511
  .ft P
@@ -528,7 +572,7 @@ Install:
528
572
  .ft P
529
573
  .fi
530
574
  .sp
531
- The \fI\-\-prefix\fP option specifies the path to install groonga. If you don\(aqt specify the install path, "/usr/local" is used. Please specify "/usr" if you are not familiar with environment variables such as LD_LIBRARY_PATH.
575
+ The \fB\-\-prefix\fP option specifies the path to install groonga. If you don\(aqt specify the install path, "/usr/local" is used. Please specify "/usr" if you are not familiar with environment variables such as LD_LIBRARY_PATH.
532
576
  .sp
533
577
  There are some \fI\%Munin\fP plugins in groonga package. You need to specify \fI\-\-with\-munin\-plugins\fP option if you want to install them.
534
578
  .SH COMMUNITY
@@ -981,7 +1025,24 @@ Execution example:
981
1025
  .ft C
982
1026
  % groonga \-c
983
1027
  > status
984
- [[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}]
1028
+ [
1029
+ [
1030
+ 0,
1031
+ 1335519662.04579,
1032
+ 5.79357147216797e\-05
1033
+ ],
1034
+ {
1035
+ "uptime": 0,
1036
+ "max_command_version": 2,
1037
+ "n_queries": 0,
1038
+ "cache_hit_rate": 0.0,
1039
+ "version": "2.0.1\-283\-g3f815e2",
1040
+ "alloc_count": 130,
1041
+ "command_version": 1,
1042
+ "starttime": 1335519662,
1043
+ "default_command_version": 1
1044
+ }
1045
+ ]
985
1046
  > ctrl\-d
986
1047
  %
987
1048
  .ft P
@@ -1052,12 +1113,90 @@ Execution example:
1052
1113
  http://HOST_NAME_OR_IP_ADDRESS[:PORT_NUMBER]/d/status
1053
1114
  Executed command:
1054
1115
  > status
1055
- [[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}]
1116
+ [
1117
+ [
1118
+ 0,
1119
+ 1335519662.24808,
1120
+ 9.918212890625e\-05
1121
+ ],
1122
+ {
1123
+ "uptime": 0,
1124
+ "max_command_version": 2,
1125
+ "n_queries": 0,
1126
+ "cache_hit_rate": 0.0,
1127
+ "version": "2.0.1\-283\-g3f815e2",
1128
+ "alloc_count": 131,
1129
+ "command_version": 1,
1130
+ "starttime": 1335519662,
1131
+ "default_command_version": 1
1132
+ }
1133
+ ]
1056
1134
 
1057
1135
  http://HOST_NAME_OR_IP_ADDRESS[:PORT_NUMBER]/d/select?table=Site&query=title:@this
1058
1136
  Executed command:
1059
1137
  > select \-\-table Site \-\-query title:@this
1060
- [[0,1332486613.90319,0.00245404243469238],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"]],[1,"http://example.org/","This is test record 1!"]]]]
1138
+ [
1139
+ [
1140
+ 0,
1141
+ 1335519662.45038,
1142
+ 0.00197672843933105
1143
+ ],
1144
+ [
1145
+ [
1146
+ [
1147
+ 1
1148
+ ],
1149
+ [
1150
+ [
1151
+ "_id",
1152
+ "UInt32"
1153
+ ],
1154
+ [
1155
+ "_key",
1156
+ "ShortText"
1157
+ ],
1158
+ [
1159
+ "country",
1160
+ "SiteCountry"
1161
+ ],
1162
+ [
1163
+ "domain",
1164
+ "SiteDomain"
1165
+ ],
1166
+ [
1167
+ "link",
1168
+ "Site"
1169
+ ],
1170
+ [
1171
+ "links",
1172
+ "Site"
1173
+ ],
1174
+ [
1175
+ "location",
1176
+ "WGS84GeoPoint"
1177
+ ],
1178
+ [
1179
+ "title",
1180
+ "ShortText"
1181
+ ]
1182
+ ],
1183
+ [
1184
+ 1,
1185
+ "http://example.org/",
1186
+ "japan",
1187
+ ".org",
1188
+ "http://example.net/",
1189
+ [
1190
+ "http://example.net/",
1191
+ "http://example.org/",
1192
+ "http://example.com/"
1193
+ ],
1194
+ "128452975x503157902",
1195
+ "This is test record 1!"
1196
+ ]
1197
+ ]
1198
+ ]
1199
+ ]
1061
1200
  .ft P
1062
1201
  .fi
1063
1202
  .SS Administration tool (HTTP)
@@ -1082,7 +1221,7 @@ Execution example:
1082
1221
  .nf
1083
1222
  .ft C
1084
1223
  > table_create \-\-name ToyBox \-\-flags TABLE_HASH_KEY \-\-key_type ShortText
1085
- [[0,1332498286.03578,0.00542259216308594],true]
1224
+ [[0,1335519604.4465,0.000195741653442383],true]
1086
1225
  .ft P
1087
1226
  .fi
1088
1227
  .SS Boolean type
@@ -1096,16 +1235,51 @@ Execution example:
1096
1235
  .nf
1097
1236
  .ft C
1098
1237
  > column_create \-\-table ToyBox \-\-name is_animal \-\-type Bool
1099
- [[0,1332498286.2427,0.00578594207763672],true]
1238
+ [[0,1335519604.64795,0.000276803970336914],true]
1100
1239
  > load \-\-table ToyBox
1101
1240
  > [
1102
1241
  > {"_key":"Monkey","is_animal":true}
1103
1242
  > {"_key":"Flower","is_animal":false}
1104
1243
  > {"_key":"Block"}
1105
1244
  > ]
1106
- [[0,1332498286.44978,1.00197458267212],3]
1245
+ [[0,1335519604.84886,1.00171399116516],3]
1107
1246
  > select \-\-table ToyBox \-\-output_columns _key,is_animal
1108
- [[0,1332498287.65257,0.000472545623779297],[[[3],[["_key","ShortText"],["is_animal","Bool"]],["Monkey",true],["Flower",false],["Block",false]]]]
1247
+ [
1248
+ [
1249
+ 0,
1250
+ 1335519606.05127,
1251
+ 0.000250577926635742
1252
+ ],
1253
+ [
1254
+ [
1255
+ [
1256
+ 3
1257
+ ],
1258
+ [
1259
+ [
1260
+ "_key",
1261
+ "ShortText"
1262
+ ],
1263
+ [
1264
+ "is_animal",
1265
+ "Bool"
1266
+ ]
1267
+ ],
1268
+ [
1269
+ "Monkey",
1270
+ true
1271
+ ],
1272
+ [
1273
+ "Flower",
1274
+ false
1275
+ ],
1276
+ [
1277
+ "Block",
1278
+ false
1279
+ ]
1280
+ ]
1281
+ ]
1282
+ ]
1109
1283
  .ft P
1110
1284
  .fi
1111
1285
  .SS Numeric types
@@ -1119,18 +1293,60 @@ Execution example:
1119
1293
  .nf
1120
1294
  .ft C
1121
1295
  > column_create \-\-table ToyBox \-\-name price \-\-type Int8
1122
- [[0,1332498287.85609,0.00574946403503418],true]
1296
+ [[0,1335519606.2531,0.000290155410766602],true]
1123
1297
  > column_create \-\-table ToyBox \-\-name weight \-\-type Float
1124
- [[0,1332498288.06304,0.00493621826171875],true]
1298
+ [[0,1335519606.45421,0.000332832336425781],true]
1125
1299
  > load \-\-table ToyBox
1126
1300
  > [
1127
1301
  > {"_key":"Monkey","price":15.9}
1128
1302
  > {"_key":"Flower","price":200,"weight":0.13}
1129
1303
  > {"_key":"Block","weight":25.7}
1130
1304
  > ]
1131
- [[0,1332498288.26924,1.00213837623596],3]
1305
+ [[0,1335519606.65545,1.00174689292908],3]
1132
1306
  > select \-\-table ToyBox \-\-output_columns _key,price,weight
1133
- [[0,1332498289.47254,0.000308036804199219],[[[3],[["_key","ShortText"],["price","Int8"],["weight","Float"]],["Monkey",15,0.0],["Flower",\-56,0.13],["Block",0,25.7]]]]
1307
+ [
1308
+ [
1309
+ 0,
1310
+ 1335519607.85801,
1311
+ 0.000263452529907227
1312
+ ],
1313
+ [
1314
+ [
1315
+ [
1316
+ 3
1317
+ ],
1318
+ [
1319
+ [
1320
+ "_key",
1321
+ "ShortText"
1322
+ ],
1323
+ [
1324
+ "price",
1325
+ "Int8"
1326
+ ],
1327
+ [
1328
+ "weight",
1329
+ "Float"
1330
+ ]
1331
+ ],
1332
+ [
1333
+ "Monkey",
1334
+ 15,
1335
+ 0.0
1336
+ ],
1337
+ [
1338
+ "Flower",
1339
+ \-56,
1340
+ 0.13
1341
+ ],
1342
+ [
1343
+ "Block",
1344
+ 0,
1345
+ 25.7
1346
+ ]
1347
+ ]
1348
+ ]
1349
+ ]
1134
1350
  .ft P
1135
1351
  .fi
1136
1352
  .SS String types
@@ -1144,24 +1360,55 @@ Execution example:
1144
1360
  .nf
1145
1361
  .ft C
1146
1362
  > column_create \-\-table ToyBox \-\-name name \-\-type ShortText
1147
- [[0,1332498289.67627,0.00676369667053223],true]
1363
+ [[0,1335519608.06052,0.000979185104370117],true]
1148
1364
  > load \-\-table ToyBox
1149
1365
  > [
1150
1366
  > {"_key":"Monkey","name":"Grease"}
1151
1367
  > {"_key":"Flower","name":"Rose"}
1152
1368
  > ]
1153
- [[0,1332498289.88434,0.801783800125122],2]
1369
+ [[0,1335519608.26235,0.8014075756073],2]
1154
1370
  > select \-\-table ToyBox \-\-output_columns _key,name
1155
- [[0,1332498290.88724,0.000265598297119141],[[[3],[["_key","ShortText"],["name","ShortText"]],["Monkey","Grease"],["Flower","Rose"],["Block",""]]]]
1371
+ [
1372
+ [
1373
+ 0,
1374
+ 1335519609.26462,
1375
+ 0.000252008438110352
1376
+ ],
1377
+ [
1378
+ [
1379
+ [
1380
+ 3
1381
+ ],
1382
+ [
1383
+ [
1384
+ "_key",
1385
+ "ShortText"
1386
+ ],
1387
+ [
1388
+ "name",
1389
+ "ShortText"
1390
+ ]
1391
+ ],
1392
+ [
1393
+ "Monkey",
1394
+ "Grease"
1395
+ ],
1396
+ [
1397
+ "Flower",
1398
+ "Rose"
1399
+ ],
1400
+ [
1401
+ "Block",
1402
+ ""
1403
+ ]
1404
+ ]
1405
+ ]
1406
+ ]
1156
1407
  .ft P
1157
1408
  .fi
1158
1409
  .SS Date and time type
1159
1410
  .sp
1160
- The date and time type of groonga is Time. Actually, a Time column stores a date and time as the number of microseconds since the Epoch, 1970\-01\-01 00:00:00. A Time value can represent a date and time before the Epoch because the actual data type is a signed integer. Note that \fB/commands/load\fP and :doc:
1161
- .nf
1162
- \(ga
1163
- .fi
1164
- /commands/select commands use a decimal number to represent a data and time in seconds. The default value is 0.0, which means the Epoch.
1411
+ The date and time type of groonga is Time. Actually, a Time column stores a date and time as the number of microseconds since the Epoch, 1970\-01\-01 00:00:00. A Time value can represent a date and time before the Epoch because the actual data type is a signed integer. Note that \fB/commands/load\fP and \fB/commands/select\fP commands use a decimal number to represent a data and time in seconds. The default value is 0.0, which means the Epoch.
1165
1412
  .sp
1166
1413
  The following example creates a Time column and updates existing records. The first record has the default value because not updated.
1167
1414
  .sp
@@ -1170,15 +1417,50 @@ Execution example:
1170
1417
  .nf
1171
1418
  .ft C
1172
1419
  > column_create \-\-table ToyBox \-\-name time \-\-type Time
1173
- [[0,1332498291.0906,0.00631809234619141],true]
1420
+ [[0,1335519609.46723,0.000249862670898438],true]
1174
1421
  > load \-\-table ToyBox
1175
1422
  > [
1176
1423
  > {"_key":"Flower","time":1234567890.1234569999}
1177
1424
  > {"_key":"Block","time":\-1234567890}
1178
1425
  > ]
1179
- [[0,1332498291.29814,0.801807641983032],2]
1426
+ [[0,1335519609.66827,0.801551818847656],2]
1180
1427
  > select \-\-table ToyBox \-\-output_columns _key,time
1181
- [[0,1332498292.30117,0.000299692153930664],[[[3],[["_key","ShortText"],["time","Time"]],["Monkey",0.0],["Flower",1234567890.12346],["Block",\-1234567890.0]]]]
1428
+ [
1429
+ [
1430
+ 0,
1431
+ 1335519610.67062,
1432
+ 0.000240564346313477
1433
+ ],
1434
+ [
1435
+ [
1436
+ [
1437
+ 3
1438
+ ],
1439
+ [
1440
+ [
1441
+ "_key",
1442
+ "ShortText"
1443
+ ],
1444
+ [
1445
+ "time",
1446
+ "Time"
1447
+ ]
1448
+ ],
1449
+ [
1450
+ "Monkey",
1451
+ 0.0
1452
+ ],
1453
+ [
1454
+ "Flower",
1455
+ 1234567890.12346
1456
+ ],
1457
+ [
1458
+ "Block",
1459
+ \-1234567890.0
1460
+ ]
1461
+ ]
1462
+ ]
1463
+ ]
1182
1464
  .ft P
1183
1465
  .fi
1184
1466
  .SS Longitude and latitude types
@@ -1200,15 +1482,50 @@ Execution example:
1200
1482
  .nf
1201
1483
  .ft C
1202
1484
  > column_create \-\-table ToyBox \-\-name location \-\-type WGS84GeoPoint
1203
- [[0,1332498292.50467,0.0079643726348877],true]
1485
+ [[0,1335519610.87363,0.00025629997253418],true]
1204
1486
  > load \-\-table ToyBox
1205
1487
  > [
1206
1488
  > {"_key":"Monkey","location":"128452975x503157902"}
1207
1489
  > {"_key":"Block","location":"35.6813819x139.7660839"}
1208
1490
  > ]
1209
- [[0,1332498292.71385,0.801813840866089],2]
1491
+ [[0,1335519611.07464,0.801477193832397],2]
1210
1492
  > select \-\-table ToyBox \-\-output_columns _key,location
1211
- [[0,1332498293.71678,0.000298976898193359],[[[3],[["_key","ShortText"],["location","WGS84GeoPoint"]],["Monkey","128452975x503157902"],["Flower","0x0"],["Block","128452975x503157902"]]]]
1493
+ [
1494
+ [
1495
+ 0,
1496
+ 1335519612.07663,
1497
+ 0.000145435333251953
1498
+ ],
1499
+ [
1500
+ [
1501
+ [
1502
+ 3
1503
+ ],
1504
+ [
1505
+ [
1506
+ "_key",
1507
+ "ShortText"
1508
+ ],
1509
+ [
1510
+ "location",
1511
+ "WGS84GeoPoint"
1512
+ ]
1513
+ ],
1514
+ [
1515
+ "Monkey",
1516
+ "128452975x503157902"
1517
+ ],
1518
+ [
1519
+ "Flower",
1520
+ "0x0"
1521
+ ],
1522
+ [
1523
+ "Block",
1524
+ "128452975x503157902"
1525
+ ]
1526
+ ]
1527
+ ]
1528
+ ]
1212
1529
  .ft P
1213
1530
  .fi
1214
1531
  .SS Reference types
@@ -1224,12 +1541,49 @@ Execution example:
1224
1541
  .nf
1225
1542
  .ft C
1226
1543
  > column_create \-\-table Site \-\-name link \-\-type Site
1227
- [[0,1332498293.92066,0.00589966773986816],true]
1544
+ [[0,1335519612.27812,0.000259876251220703],true]
1228
1545
  > load \-\-table Site
1229
1546
  > [{"_key":"http://example.org/","link":"http://example.net/"}]
1230
- [[0,1332498294.1274,0.201014280319214],1]
1547
+ [[0,1335519612.47892,0.200559377670288],1]
1231
1548
  > select \-\-table Site \-\-output_columns _key,title,link._key,link.title \-\-query title:@this
1232
- [[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."]]]]
1549
+ [
1550
+ [
1551
+ 0,
1552
+ 1335519612.88015,
1553
+ 0.000769853591918945
1554
+ ],
1555
+ [
1556
+ [
1557
+ [
1558
+ 1
1559
+ ],
1560
+ [
1561
+ [
1562
+ "_key",
1563
+ "ShortText"
1564
+ ],
1565
+ [
1566
+ "title",
1567
+ "ShortText"
1568
+ ],
1569
+ [
1570
+ "link._key",
1571
+ "ShortText"
1572
+ ],
1573
+ [
1574
+ "link.title",
1575
+ "ShortText"
1576
+ ]
1577
+ ],
1578
+ [
1579
+ "http://example.org/",
1580
+ "This is test record 1!",
1581
+ "http://example.net/",
1582
+ "test record 2."
1583
+ ]
1584
+ ]
1585
+ ]
1586
+ ]
1233
1587
  .ft P
1234
1588
  .fi
1235
1589
  .sp
@@ -1245,12 +1599,57 @@ Execution example:
1245
1599
  .nf
1246
1600
  .ft C
1247
1601
  > column_create \-\-table Site \-\-name links \-\-flags COLUMN_VECTOR \-\-type Site
1248
- [[0,1332498294.7353,0.00729537010192871],true]
1602
+ [[0,1335519613.08263,0.00126886367797852],true]
1249
1603
  > load \-\-table Site
1250
1604
  > [{"_key":"http://example.org/","links":["http://example.net/","http://example.org/","http://example.com/"]}]
1251
- [[0,1332498294.94353,0.200709581375122],1]
1605
+ [[0,1335519613.28473,0.200579166412354],1]
1252
1606
  > select \-\-table Site \-\-output_columns _key,title,links._key,links.title \-\-query title:@this
1253
- [[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."]]]]]
1607
+ [
1608
+ [
1609
+ 0,
1610
+ 1335519613.68602,
1611
+ 0.000647306442260742
1612
+ ],
1613
+ [
1614
+ [
1615
+ [
1616
+ 1
1617
+ ],
1618
+ [
1619
+ [
1620
+ "_key",
1621
+ "ShortText"
1622
+ ],
1623
+ [
1624
+ "title",
1625
+ "ShortText"
1626
+ ],
1627
+ [
1628
+ "links._key",
1629
+ "ShortText"
1630
+ ],
1631
+ [
1632
+ "links.title",
1633
+ "ShortText"
1634
+ ]
1635
+ ],
1636
+ [
1637
+ "http://example.org/",
1638
+ "This is test record 1!",
1639
+ [
1640
+ "http://example.net/",
1641
+ "http://example.org/",
1642
+ "http://example.com/"
1643
+ ],
1644
+ [
1645
+ "test record 2.",
1646
+ "This is test record 1!",
1647
+ "test test record three."
1648
+ ]
1649
+ ]
1650
+ ]
1651
+ ]
1652
+ ]
1254
1653
  .ft P
1255
1654
  .fi
1256
1655
  .sp
@@ -1522,15 +1921,15 @@ Execution example:
1522
1921
  .nf
1523
1922
  .ft C
1524
1923
  > table_create \-\-name Video \-\-flags TABLE_HASH_KEY \-\-key_type UInt32
1525
- [[0,1317212832.70606,0.061331715],true]
1924
+ [[0,1335519627.03224,0.000266790390014648],true]
1526
1925
  > table_create \-\-name Tag \-\-flags TABLE_HASH_KEY \-\-key_type ShortText
1527
- [[0,1317212832.968,0.039868236],true]
1926
+ [[0,1335519627.23315,0.000222206115722656],true]
1528
1927
  > column_create \-\-table Video \-\-name title \-\-flags COLUMN_SCALAR \-\-type ShortText
1529
- [[0,1317212833.20833,0.040494862],true]
1928
+ [[0,1335519627.43389,0.000550031661987305],true]
1530
1929
  > column_create \-\-table Video \-\-name tags \-\-flags COLUMN_VECTOR \-\-type Tag
1531
- [[0,1317212833.44939,0.051861409],true]
1930
+ [[0,1335519627.63497,0.000490188598632812],true]
1532
1931
  > column_create \-\-table Tag \-\-name index_tags \-\-flags COLUMN_INDEX \-\-type Video \-\-source tags
1533
- [[0,1317212833.70185,0.092878953],true]
1932
+ [[0,1335519627.83602,0.0032198429107666],true]
1534
1933
  > load \-\-table Video
1535
1934
  > [
1536
1935
  > {"_key":1,"title":"Soccer 2010","tags":["Sports","Soccer"]},
@@ -1542,7 +1941,7 @@ Execution example:
1542
1941
  > {"_key":7,"title":"Draw 8 Month","tags":["Animation","Raccoon"]},
1543
1942
  > {"_key":8,"title":"K.O.","tags":["Animation","Music"]}
1544
1943
  > ]
1545
- [[0,1317212833.99531,2.002850011],8]
1944
+ [[0,1335519628.03974,2.00352549552917],8]
1546
1945
  .ft P
1547
1946
  .fi
1548
1947
  .sp
@@ -1555,11 +1954,108 @@ Execution example:
1555
1954
  .nf
1556
1955
  .ft C
1557
1956
  > select \-\-table Video \-\-query tags:@Variety \-\-output_columns _key,title
1558
- [[0,1317212836.19894,0.000330108],[[[2],[["_key","UInt32"],["title","ShortText"]],[2,"Zenigata Kinjirou"],[5,"Hex Gone!"]]]]
1957
+ [
1958
+ [
1959
+ 0,
1960
+ 1335519630.24437,
1961
+ 0.000667810440063477
1962
+ ],
1963
+ [
1964
+ [
1965
+ [
1966
+ 2
1967
+ ],
1968
+ [
1969
+ [
1970
+ "_key",
1971
+ "UInt32"
1972
+ ],
1973
+ [
1974
+ "title",
1975
+ "ShortText"
1976
+ ]
1977
+ ],
1978
+ [
1979
+ 2,
1980
+ "Zenigata Kinjirou"
1981
+ ],
1982
+ [
1983
+ 5,
1984
+ "Hex Gone!"
1985
+ ]
1986
+ ]
1987
+ ]
1988
+ ]
1559
1989
  > select \-\-table Video \-\-query tags:@Sports \-\-output_columns _key,title
1560
- [[0,1317212836.39998,0.000316897],[[[2],[["_key","UInt32"],["title","ShortText"]],[1,"Soccer 2010"],[4,"Moero!! Ultra Baseball"]]]]
1990
+ [
1991
+ [
1992
+ 0,
1993
+ 1335519630.44675,
1994
+ 0.000470399856567383
1995
+ ],
1996
+ [
1997
+ [
1998
+ [
1999
+ 2
2000
+ ],
2001
+ [
2002
+ [
2003
+ "_key",
2004
+ "UInt32"
2005
+ ],
2006
+ [
2007
+ "title",
2008
+ "ShortText"
2009
+ ]
2010
+ ],
2011
+ [
2012
+ 1,
2013
+ "Soccer 2010"
2014
+ ],
2015
+ [
2016
+ 4,
2017
+ "Moero!! Ultra Baseball"
2018
+ ]
2019
+ ]
2020
+ ]
2021
+ ]
1561
2022
  > select \-\-table Video \-\-query tags:@Animation \-\-output_columns _key,title
1562
- [[0,1317212836.60111,0.000349157],[[[3],[["_key","UInt32"],["title","ShortText"]],[6,"Pikonyan 1"],[7,"Draw 8 Month"],[8,"K.O."]]]]
2023
+ [
2024
+ [
2025
+ 0,
2026
+ 1335519630.64889,
2027
+ 0.000455856323242188
2028
+ ],
2029
+ [
2030
+ [
2031
+ [
2032
+ 3
2033
+ ],
2034
+ [
2035
+ [
2036
+ "_key",
2037
+ "UInt32"
2038
+ ],
2039
+ [
2040
+ "title",
2041
+ "ShortText"
2042
+ ]
2043
+ ],
2044
+ [
2045
+ 6,
2046
+ "Pikonyan 1"
2047
+ ],
2048
+ [
2049
+ 7,
2050
+ "Draw 8 Month"
2051
+ ],
2052
+ [
2053
+ 8,
2054
+ "K.O."
2055
+ ]
2056
+ ]
2057
+ ]
2058
+ ]
1563
2059
  .ft P
1564
2060
  .fi
1565
2061
  .sp
@@ -1577,13 +2073,13 @@ Execution example:
1577
2073
  .nf
1578
2074
  .ft C
1579
2075
  > table_create \-\-name User \-\-flags TABLE_HASH_KEY \-\-key_type ShortText
1580
- [[0,1317212836.80268,0.048923839],true]
2076
+ [[0,1335519630.85121,0.00020289421081543],true]
1581
2077
  > column_create \-\-table User \-\-name username \-\-flags COLUMN_SCALAR \-\-type ShortText
1582
- [[0,1317212837.05226,0.040322616],true]
2078
+ [[0,1335519631.05176,0.00130391120910645],true]
1583
2079
  > column_create \-\-table User \-\-name friends \-\-flags COLUMN_VECTOR \-\-type User
1584
- [[0,1317212837.29306,0.039978793],true]
2080
+ [[0,1335519631.25402,0.000970840454101562],true]
1585
2081
  > column_create \-\-table User \-\-name index_friends \-\-flags COLUMN_INDEX \-\-type User \-\-source friends
1586
- [[0,1317212837.53369,0.067271637],true]
2082
+ [[0,1335519631.45581,0.00640487670898438],true]
1587
2083
  > load \-\-table User
1588
2084
  > [
1589
2085
  > {"_key":"ken","username":"健作","friends":["taro","jiro","tomo","moritapo"]}
@@ -1593,7 +2089,7 @@ Execution example:
1593
2089
  > {"_key":"tomo","username":"トモちゃん","friends":["ken","hana"]}
1594
2090
  > {"_key":"hana","username":"花子","friends":["ken","taro","jiro","moritapo","tomo"]}
1595
2091
  > ]
1596
- [[0,1317212837.80152,1.602221355],6]
2092
+ [[0,1335519631.6631,1.60283184051514],6]
1597
2093
  .ft P
1598
2094
  .fi
1599
2095
  .sp
@@ -1604,9 +2100,87 @@ Execution example:
1604
2100
  .nf
1605
2101
  .ft C
1606
2102
  > select \-\-table User \-\-query friends:@tomo \-\-output_columns _key,username
1607
- [[0,1317212839.60442,0.000260617],[[[5],[["_key","ShortText"],["username","ShortText"]],["ken","健作"],["taro","ぐるんが太郎"],["jiro","ぐるんが次郎"],["moritapo","森田"],["hana","花子"]]]]
2103
+ [
2104
+ [
2105
+ 0,
2106
+ 1335519633.46704,
2107
+ 0.000623941421508789
2108
+ ],
2109
+ [
2110
+ [
2111
+ [
2112
+ 5
2113
+ ],
2114
+ [
2115
+ [
2116
+ "_key",
2117
+ "ShortText"
2118
+ ],
2119
+ [
2120
+ "username",
2121
+ "ShortText"
2122
+ ]
2123
+ ],
2124
+ [
2125
+ "ken",
2126
+ "健作"
2127
+ ],
2128
+ [
2129
+ "taro",
2130
+ "ぐるんが太郎"
2131
+ ],
2132
+ [
2133
+ "jiro",
2134
+ "ぐるんが次郎"
2135
+ ],
2136
+ [
2137
+ "moritapo",
2138
+ "森田"
2139
+ ],
2140
+ [
2141
+ "hana",
2142
+ "花子"
2143
+ ]
2144
+ ]
2145
+ ]
2146
+ ]
1608
2147
  > select \-\-table User \-\-query friends:@jiro \-\-output_columns _key,username
1609
- [[0,1317212839.80577,0.000253172],[[[3],[["_key","ShortText"],["username","ShortText"]],["ken","健作"],["taro","ぐるんが太郎"],["hana","花子"]]]]
2148
+ [
2149
+ [
2150
+ 0,
2151
+ 1335519633.67028,
2152
+ 0.000344514846801758
2153
+ ],
2154
+ [
2155
+ [
2156
+ [
2157
+ 3
2158
+ ],
2159
+ [
2160
+ [
2161
+ "_key",
2162
+ "ShortText"
2163
+ ],
2164
+ [
2165
+ "username",
2166
+ "ShortText"
2167
+ ]
2168
+ ],
2169
+ [
2170
+ "ken",
2171
+ "健作"
2172
+ ],
2173
+ [
2174
+ "taro",
2175
+ "ぐるんが太郎"
2176
+ ],
2177
+ [
2178
+ "hana",
2179
+ "花子"
2180
+ ]
2181
+ ]
2182
+ ]
2183
+ ]
1610
2184
  .ft P
1611
2185
  .fi
1612
2186
  .sp
@@ -1617,7 +2191,81 @@ Execution example:
1617
2191
  .nf
1618
2192
  .ft C
1619
2193
  > select \-\-table User \-\-limit 0 \-\-drilldown friends
1620
- [[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]]]]
2194
+ [
2195
+ [
2196
+ 0,
2197
+ 1335519633.87264,
2198
+ 0.000327825546264648
2199
+ ],
2200
+ [
2201
+ [
2202
+ [
2203
+ 6
2204
+ ],
2205
+ [
2206
+ [
2207
+ "_id",
2208
+ "UInt32"
2209
+ ],
2210
+ [
2211
+ "_key",
2212
+ "ShortText"
2213
+ ],
2214
+ [
2215
+ "friends",
2216
+ "User"
2217
+ ],
2218
+ [
2219
+ "index_friends",
2220
+ "User"
2221
+ ],
2222
+ [
2223
+ "username",
2224
+ "ShortText"
2225
+ ]
2226
+ ]
2227
+ ],
2228
+ [
2229
+ [
2230
+ 6
2231
+ ],
2232
+ [
2233
+ [
2234
+ "_key",
2235
+ "ShortText"
2236
+ ],
2237
+ [
2238
+ "_nsubrecs",
2239
+ "Int32"
2240
+ ]
2241
+ ],
2242
+ [
2243
+ "taro",
2244
+ 3
2245
+ ],
2246
+ [
2247
+ "jiro",
2248
+ 3
2249
+ ],
2250
+ [
2251
+ "tomo",
2252
+ 5
2253
+ ],
2254
+ [
2255
+ "moritapo",
2256
+ 2
2257
+ ],
2258
+ [
2259
+ "ken",
2260
+ 3
2261
+ ],
2262
+ [
2263
+ "hana",
2264
+ 1
2265
+ ]
2266
+ ]
2267
+ ]
2268
+ ]
1621
2269
  .ft P
1622
2270
  .fi
1623
2271
  .sp
@@ -1631,17 +2279,44 @@ Execution example:
1631
2279
  .nf
1632
2280
  .ft C
1633
2281
  > table_create \-\-name GeoIndex \-\-flags TABLE_PAT_KEY \-\-key_type WGS84GeoPoint
1634
- [[0,1317212840.20962,0.088534001],true]
2282
+ [[0,1335519634.07459,0.00024867057800293],true]
1635
2283
  > column_create \-\-table GeoIndex \-\-name index_point \-\-type Site \-\-flags COLUMN_INDEX \-\-source location
1636
- [[0,1317212840.49869,0.093704431],true]
2284
+ [[0,1335519634.2754,0.00743818283081055],true]
1637
2285
  > load \-\-table Site
1638
2286
  > [
1639
2287
  > {"_key":"http://example.org/","location":"128452975x503157902"},
1640
2288
  > {"_key":"http://example.net/","location":"128487316x502920929"}
1641
2289
  > ]
1642
- [[0,1317212840.79332,0.801438285],2]
2290
+ [[0,1335519634.48372,0.801371812820435],2]
1643
2291
  > select \-\-table Site \-\-filter \(aqgeo_in_circle(location, "128515259x503187188", 5000)\(aq \-\-output_columns _key,location
1644
- [[0,1317212841.79563,0.000626003],[[[1],[["_key","ShortText"],["location","WGS84GeoPoint"]],["http://example.org/","128452975x503157902"]]]]
2292
+ [
2293
+ [
2294
+ 0,
2295
+ 1335519635.48562,
2296
+ 0.000363826751708984
2297
+ ],
2298
+ [
2299
+ [
2300
+ [
2301
+ 1
2302
+ ],
2303
+ [
2304
+ [
2305
+ "_key",
2306
+ "ShortText"
2307
+ ],
2308
+ [
2309
+ "location",
2310
+ "WGS84GeoPoint"
2311
+ ]
2312
+ ],
2313
+ [
2314
+ "http://example.org/",
2315
+ "128452975x503157902"
2316
+ ]
2317
+ ]
2318
+ ]
2319
+ ]
1645
2320
  .ft P
1646
2321
  .fi
1647
2322
  .sp
@@ -1652,7 +2327,44 @@ Execution example:
1652
2327
  .nf
1653
2328
  .ft C
1654
2329
  > 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
1655
- [[0,1317212841.99878,0.0011657],[[[2],[["_key","ShortText"],["location","WGS84GeoPoint"],["_score","Int32"]],["http://example.org/","128452975x503157902",2054],["http://example.net/","128487316x502920929",6720]]]]
2330
+ [
2331
+ [
2332
+ 0,
2333
+ 1335519635.68736,
2334
+ 0.000502824783325195
2335
+ ],
2336
+ [
2337
+ [
2338
+ [
2339
+ 2
2340
+ ],
2341
+ [
2342
+ [
2343
+ "_key",
2344
+ "ShortText"
2345
+ ],
2346
+ [
2347
+ "location",
2348
+ "WGS84GeoPoint"
2349
+ ],
2350
+ [
2351
+ "_score",
2352
+ "Int32"
2353
+ ]
2354
+ ],
2355
+ [
2356
+ "http://example.org/",
2357
+ "128452975x503157902",
2358
+ 2054
2359
+ ],
2360
+ [
2361
+ "http://example.net/",
2362
+ "128487316x502920929",
2363
+ 6720
2364
+ ]
2365
+ ]
2366
+ ]
2367
+ ]
1656
2368
  .ft P
1657
2369
  .fi
1658
2370
  .SS match_columnsパラメータ
@@ -1671,24 +2383,24 @@ Execution example:
1671
2383
  .nf
1672
2384
  .ft C
1673
2385
  > table_create \-\-name Blog1 \-\-flags TABLE_HASH_KEY \-\-key_type ShortText
1674
- [[0,1317212795.41036,0.047939793],true]
2386
+ [[0,1335519613.90326,0.00016021728515625],true]
1675
2387
  > column_create \-\-table Blog1 \-\-name title \-\-flags COLUMN_SCALAR \-\-type ShortText
1676
- [[0,1317212795.65884,0.040658195],true]
2388
+ [[0,1335519614.10411,0.00106573104858398],true]
1677
2389
  > column_create \-\-table Blog1 \-\-name message \-\-flags COLUMN_SCALAR \-\-type ShortText
1678
- [[0,1317212795.89978,0.029458384],true]
2390
+ [[0,1335519614.30595,0.00101113319396973],true]
1679
2391
  > table_create \-\-name IndexBlog1 \-\-flags TABLE_PAT_KEY|KEY_NORMALIZE \-\-key_type ShortText \-\-default_tokenizer TokenBigram
1680
- [[0,1317212796.12974,0.183567683],true]
2392
+ [[0,1335519614.50779,0.000327587127685547],true]
1681
2393
  > column_create \-\-table IndexBlog1 \-\-name index_title \-\-flags COLUMN_INDEX|WITH_POSITION \-\-type Blog1 \-\-source title
1682
- [[0,1317212796.51381,0.092148792],true]
2394
+ [[0,1335519614.70891,0.00641822814941406],true]
1683
2395
  > column_create \-\-table IndexBlog1 \-\-name index_message \-\-flags COLUMN_INDEX|WITH_POSITION \-\-type Blog1 \-\-source message
1684
- [[0,1317212796.80646,0.088690675],true]
2396
+ [[0,1335519614.91621,0.00670051574707031],true]
1685
2397
  > load \-\-table Blog1
1686
2398
  > [
1687
2399
  > {"_key":"grn1","title":"groonga test","message":"groonga message"},
1688
2400
  > {"_key":"grn2","title":"baseball result","message":"rakutan eggs 4 \- 4 groonga moritars"},
1689
2401
  > {"_key":"grn3","title":"groonga message","message":"none"}
1690
2402
  > ]
1691
- [[0,1317212797.09575,1.001254761],3]
2403
+ [[0,1335519615.1238,1.00167393684387],3]
1692
2404
  .ft P
1693
2405
  .fi
1694
2406
  .sp
@@ -1701,11 +2413,140 @@ Execution example:
1701
2413
  .nf
1702
2414
  .ft C
1703
2415
  > select \-\-table Blog1 \-\-match_columns title||message \-\-query groonga
1704
- [[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"]]]]
2416
+ [
2417
+ [
2418
+ 0,
2419
+ 1335519616.32664,
2420
+ 0.00108003616333008
2421
+ ],
2422
+ [
2423
+ [
2424
+ [
2425
+ 3
2426
+ ],
2427
+ [
2428
+ [
2429
+ "_id",
2430
+ "UInt32"
2431
+ ],
2432
+ [
2433
+ "_key",
2434
+ "ShortText"
2435
+ ],
2436
+ [
2437
+ "message",
2438
+ "ShortText"
2439
+ ],
2440
+ [
2441
+ "title",
2442
+ "ShortText"
2443
+ ]
2444
+ ],
2445
+ [
2446
+ 1,
2447
+ "grn1",
2448
+ "groonga message",
2449
+ "groonga test"
2450
+ ],
2451
+ [
2452
+ 3,
2453
+ "grn3",
2454
+ "none",
2455
+ "groonga message"
2456
+ ],
2457
+ [
2458
+ 2,
2459
+ "grn2",
2460
+ "rakutan eggs 4 \- 4 groonga moritars",
2461
+ "baseball result"
2462
+ ]
2463
+ ]
2464
+ ]
2465
+ ]
1705
2466
  > select \-\-table Blog1 \-\-match_columns title||message \-\-query message
1706
- [[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"]]]]
2467
+ [
2468
+ [
2469
+ 0,
2470
+ 1335519616.5306,
2471
+ 0.000397920608520508
2472
+ ],
2473
+ [
2474
+ [
2475
+ [
2476
+ 2
2477
+ ],
2478
+ [
2479
+ [
2480
+ "_id",
2481
+ "UInt32"
2482
+ ],
2483
+ [
2484
+ "_key",
2485
+ "ShortText"
2486
+ ],
2487
+ [
2488
+ "message",
2489
+ "ShortText"
2490
+ ],
2491
+ [
2492
+ "title",
2493
+ "ShortText"
2494
+ ]
2495
+ ],
2496
+ [
2497
+ 3,
2498
+ "grn3",
2499
+ "none",
2500
+ "groonga message"
2501
+ ],
2502
+ [
2503
+ 1,
2504
+ "grn1",
2505
+ "groonga message",
2506
+ "groonga test"
2507
+ ]
2508
+ ]
2509
+ ]
2510
+ ]
1707
2511
  > select \-\-table Blog1 \-\-match_columns title \-\-query message
1708
- [[0,1317212798.70102,0.000314581],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["message","ShortText"]],[3,"grn3","groonga message","none"]]]]
2512
+ [
2513
+ [
2514
+ 0,
2515
+ 1335519616.73219,
2516
+ 0.000369548797607422
2517
+ ],
2518
+ [
2519
+ [
2520
+ [
2521
+ 1
2522
+ ],
2523
+ [
2524
+ [
2525
+ "_id",
2526
+ "UInt32"
2527
+ ],
2528
+ [
2529
+ "_key",
2530
+ "ShortText"
2531
+ ],
2532
+ [
2533
+ "message",
2534
+ "ShortText"
2535
+ ],
2536
+ [
2537
+ "title",
2538
+ "ShortText"
2539
+ ]
2540
+ ],
2541
+ [
2542
+ 3,
2543
+ "grn3",
2544
+ "none",
2545
+ "groonga message"
2546
+ ]
2547
+ ]
2548
+ ]
2549
+ ]
1709
2550
  .ft P
1710
2551
  .fi
1711
2552
  .SS 複数のカラムにまたがったインデックスを付与する場合
@@ -1719,22 +2560,22 @@ Execution example:
1719
2560
  .nf
1720
2561
  .ft C
1721
2562
  > table_create \-\-name Blog2 \-\-flags TABLE_HASH_KEY \-\-key_type ShortText
1722
- [[0,1317212798.90253,0.052986511],true]
2563
+ [[0,1335519616.93386,0.000204801559448242],true]
1723
2564
  > column_create \-\-table Blog2 \-\-name title \-\-flags COLUMN_SCALAR \-\-type ShortText
1724
- [[0,1317212799.156,0.028355347],true]
2565
+ [[0,1335519617.13462,0.000517606735229492],true]
1725
2566
  > column_create \-\-table Blog2 \-\-name message \-\-flags COLUMN_SCALAR \-\-type ShortText
1726
- [[0,1317212799.38486,0.040142104],true]
2567
+ [[0,1335519617.33589,0.000973939895629883],true]
1727
2568
  > table_create \-\-name IndexBlog2 \-\-flags TABLE_PAT_KEY|KEY_NORMALIZE \-\-key_type ShortText \-\-default_tokenizer TokenBigram
1728
- [[0,1317212799.62539,0.039673533],true]
2569
+ [[0,1335519617.53761,0.000263690948486328],true]
1729
2570
  > column_create \-\-table IndexBlog2 \-\-name index_blog \-\-flags COLUMN_INDEX|WITH_POSITION|WITH_SECTION \-\-type Blog2 \-\-source title,message
1730
- [[0,1317212799.86551,0.079790187],true]
2571
+ [[0,1335519617.73843,0.00370573997497559],true]
1731
2572
  > load \-\-table Blog2
1732
2573
  > [
1733
2574
  > {"_key":"grn1","title":"groonga test","message":"groonga message"},
1734
2575
  > {"_key":"grn2","title":"baseball result","message":"rakutan eggs 4 \- 4 groonga moritars"},
1735
2576
  > {"_key":"grn3","title":"groonga message","message":"none"}
1736
2577
  > ]
1737
- [[0,1317212800.14589,1.001367315],3]
2578
+ [[0,1335519617.94267,1.00162434577942],3]
1738
2579
  .ft P
1739
2580
  .fi
1740
2581
  .sp
@@ -1745,11 +2586,140 @@ Execution example:
1745
2586
  .nf
1746
2587
  .ft C
1747
2588
  > select \-\-table Blog2 \-\-match_columns title||message \-\-query groonga
1748
- [[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"]]]]
2589
+ [
2590
+ [
2591
+ 0,
2592
+ 1335519619.14503,
2593
+ 0.000397443771362305
2594
+ ],
2595
+ [
2596
+ [
2597
+ [
2598
+ 3
2599
+ ],
2600
+ [
2601
+ [
2602
+ "_id",
2603
+ "UInt32"
2604
+ ],
2605
+ [
2606
+ "_key",
2607
+ "ShortText"
2608
+ ],
2609
+ [
2610
+ "message",
2611
+ "ShortText"
2612
+ ],
2613
+ [
2614
+ "title",
2615
+ "ShortText"
2616
+ ]
2617
+ ],
2618
+ [
2619
+ 1,
2620
+ "grn1",
2621
+ "groonga message",
2622
+ "groonga test"
2623
+ ],
2624
+ [
2625
+ 2,
2626
+ "grn2",
2627
+ "rakutan eggs 4 \- 4 groonga moritars",
2628
+ "baseball result"
2629
+ ],
2630
+ [
2631
+ 3,
2632
+ "grn3",
2633
+ "none",
2634
+ "groonga message"
2635
+ ]
2636
+ ]
2637
+ ]
2638
+ ]
1749
2639
  > select \-\-table Blog2 \-\-match_columns title||message \-\-query message
1750
- [[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"]]]]
2640
+ [
2641
+ [
2642
+ 0,
2643
+ 1335519619.34666,
2644
+ 0.000356435775756836
2645
+ ],
2646
+ [
2647
+ [
2648
+ [
2649
+ 2
2650
+ ],
2651
+ [
2652
+ [
2653
+ "_id",
2654
+ "UInt32"
2655
+ ],
2656
+ [
2657
+ "_key",
2658
+ "ShortText"
2659
+ ],
2660
+ [
2661
+ "message",
2662
+ "ShortText"
2663
+ ],
2664
+ [
2665
+ "title",
2666
+ "ShortText"
2667
+ ]
2668
+ ],
2669
+ [
2670
+ 1,
2671
+ "grn1",
2672
+ "groonga message",
2673
+ "groonga test"
2674
+ ],
2675
+ [
2676
+ 3,
2677
+ "grn3",
2678
+ "none",
2679
+ "groonga message"
2680
+ ]
2681
+ ]
2682
+ ]
2683
+ ]
1751
2684
  > select \-\-table Blog2 \-\-match_columns title \-\-query message
1752
- [[0,1317212801.75107,0.000323124],[[[1],[["_id","UInt32"],["_key","ShortText"],["title","ShortText"],["message","ShortText"]],[3,"grn3","groonga message","none"]]]]
2685
+ [
2686
+ [
2687
+ 0,
2688
+ 1335519619.54817,
2689
+ 0.000360250473022461
2690
+ ],
2691
+ [
2692
+ [
2693
+ [
2694
+ 1
2695
+ ],
2696
+ [
2697
+ [
2698
+ "_id",
2699
+ "UInt32"
2700
+ ],
2701
+ [
2702
+ "_key",
2703
+ "ShortText"
2704
+ ],
2705
+ [
2706
+ "message",
2707
+ "ShortText"
2708
+ ],
2709
+ [
2710
+ "title",
2711
+ "ShortText"
2712
+ ]
2713
+ ],
2714
+ [
2715
+ 3,
2716
+ "grn3",
2717
+ "none",
2718
+ "groonga message"
2719
+ ]
2720
+ ]
2721
+ ]
2722
+ ]
1753
2723
  .ft P
1754
2724
  .fi
1755
2725
  .SS インデックス名を指定した全文検索
@@ -1770,16 +2740,47 @@ Execution example:
1770
2740
  .nf
1771
2741
  .ft C
1772
2742
  > table_create \-\-name PatPrefix \-\-flags TABLE_PAT_KEY \-\-key_type ShortText
1773
- [[0,1317212719.34619,0.047490604],true]
2743
+ [[0,1335519594.52747,0.000475168228149414],true]
1774
2744
  > load \-\-table PatPrefix
1775
2745
  > [
1776
2746
  > {"_key":"ひろゆき"},
1777
2747
  > {"_key":"まろゆき"},
1778
2748
  > {"_key":"ひろあき"}
1779
2749
  > ]
1780
- [[0,1317212719.59456,1.001406593],3]
2750
+ [[0,1335519594.72892,1.00176382064819],3]
1781
2751
  > select \-\-table PatPrefix \-\-query _key:@ひろ
1782
- [[0,1317212720.79648,0.00031203],[[[2],[["_id","UInt32"],["_key","ShortText"]],[3,"ひろあき"],[1,"ひろゆき"]]]]
2752
+ [
2753
+ [
2754
+ 0,
2755
+ 1335519595.93126,
2756
+ 0.00059962272644043
2757
+ ],
2758
+ [
2759
+ [
2760
+ [
2761
+ 2
2762
+ ],
2763
+ [
2764
+ [
2765
+ "_id",
2766
+ "UInt32"
2767
+ ],
2768
+ [
2769
+ "_key",
2770
+ "ShortText"
2771
+ ]
2772
+ ],
2773
+ [
2774
+ 3,
2775
+ "ひろあき"
2776
+ ],
2777
+ [
2778
+ 1,
2779
+ "ひろゆき"
2780
+ ]
2781
+ ]
2782
+ ]
2783
+ ]
1783
2784
  .ft P
1784
2785
  .fi
1785
2786
  .SS 主キーによる後方一致検索
@@ -1795,20 +2796,104 @@ Execution example:
1795
2796
  .nf
1796
2797
  .ft C
1797
2798
  > table_create \-\-name PatSuffix \-\-flags TABLE_PAT_KEY|KEY_WITH_SIS \-\-key_type ShortText
1798
- [[0,1317212720.99778,0.0531648179999999],true]
2799
+ [[0,1335519596.13342,0.000287294387817383],true]
1799
2800
  > column_create \-\-table PatSuffix \-\-name original \-\-type Bool
1800
- [[0,1317212721.25163,0.099479727],true]
2801
+ [[0,1335519596.33446,0.000329494476318359],true]
1801
2802
  > load \-\-table PatSuffix
1802
2803
  > [
1803
2804
  > {"_key":"ひろゆき","original":true},
1804
2805
  > {"_key":"まろゆき","original":true},
1805
2806
  > {"_key":"ひろあき","original":true}
1806
2807
  > ]
1807
- [[0,1317212721.55167,1.001449341],3]
2808
+ [[0,1335519596.53576,1.00176548957825],3]
1808
2809
  > select \-\-table PatSuffix \-\-query _key:@ゆき
1809
- [[0,1317212722.75369,0.000313623],[[[4],[["_id","UInt32"],["_key","ShortText"],["original","Bool"]],[1,"ひろゆき",true],[5,"まろゆき",true],[3,"ゆき",false],[2,"ろゆき",false]]]]
2810
+ [
2811
+ [
2812
+ 0,
2813
+ 1335519597.73837,
2814
+ 0.000630855560302734
2815
+ ],
2816
+ [
2817
+ [
2818
+ [
2819
+ 4
2820
+ ],
2821
+ [
2822
+ [
2823
+ "_id",
2824
+ "UInt32"
2825
+ ],
2826
+ [
2827
+ "_key",
2828
+ "ShortText"
2829
+ ],
2830
+ [
2831
+ "original",
2832
+ "Bool"
2833
+ ]
2834
+ ],
2835
+ [
2836
+ 1,
2837
+ "ひろゆき",
2838
+ true
2839
+ ],
2840
+ [
2841
+ 5,
2842
+ "まろゆき",
2843
+ true
2844
+ ],
2845
+ [
2846
+ 3,
2847
+ "ゆき",
2848
+ false
2849
+ ],
2850
+ [
2851
+ 2,
2852
+ "ろゆき",
2853
+ false
2854
+ ]
2855
+ ]
2856
+ ]
2857
+ ]
1810
2858
  > select \-\-table PatSuffix \-\-query "_key:@ゆき original:true"
1811
- [[0,1317212722.95502,0.00032577],[[[2],[["_id","UInt32"],["_key","ShortText"],["original","Bool"]],[1,"ひろゆき",true],[5,"まろゆき",true]]]]
2859
+ [
2860
+ [
2861
+ 0,
2862
+ 1335519597.94114,
2863
+ 0.000690460205078125
2864
+ ],
2865
+ [
2866
+ [
2867
+ [
2868
+ 2
2869
+ ],
2870
+ [
2871
+ [
2872
+ "_id",
2873
+ "UInt32"
2874
+ ],
2875
+ [
2876
+ "_key",
2877
+ "ShortText"
2878
+ ],
2879
+ [
2880
+ "original",
2881
+ "Bool"
2882
+ ]
2883
+ ],
2884
+ [
2885
+ 1,
2886
+ "ひろゆき",
2887
+ true
2888
+ ],
2889
+ [
2890
+ 5,
2891
+ "まろゆき",
2892
+ true
2893
+ ]
2894
+ ]
2895
+ ]
2896
+ ]
1812
2897
  .ft P
1813
2898
  .fi
1814
2899
  .SS 全文検索の語彙表に対する追加情報
@@ -2063,7 +3148,38 @@ Execution example:
2063
3148
  .nf
2064
3149
  .ft C
2065
3150
  > select \-\-table Users \-\-match_columns name,location_str,description \-\-query 東京 \-\-output_columns _key,name
2066
- [[0,1317212781.80175,0.000302755],[[[2],[["_key","ShortText"],["name","ShortText"]],["tasukuchan","グニャラくん"],["OffGao","OffGao"]]]]
3151
+ [
3152
+ [
3153
+ 0,
3154
+ 1335519659.99711,
3155
+ 0.000482797622680664
3156
+ ],
3157
+ [
3158
+ [
3159
+ [
3160
+ 2
3161
+ ],
3162
+ [
3163
+ [
3164
+ "_key",
3165
+ "ShortText"
3166
+ ],
3167
+ [
3168
+ "name",
3169
+ "ShortText"
3170
+ ]
3171
+ ],
3172
+ [
3173
+ "tasukuchan",
3174
+ "グニャラくん"
3175
+ ],
3176
+ [
3177
+ "OffGao",
3178
+ "OffGao"
3179
+ ]
3180
+ ]
3181
+ ]
3182
+ ]
2067
3183
  .ft P
2068
3184
  .fi
2069
3185
  .sp
@@ -2078,7 +3194,38 @@ Execution example:
2078
3194
  .nf
2079
3195
  .ft C
2080
3196
  > select \-\-table Users \-\-filter \(aqgeo_in_circle(location,"128484216x502919856",5000)\(aq \-\-output_columns _key,name
2081
- [[0,1317212782.00321,0.000241271],[[[2],[["_key","ShortText"],["name","ShortText"]],["tasukuchan","グニャラくん"],["OffGao","OffGao"]]]]
3197
+ [
3198
+ [
3199
+ 0,
3200
+ 1335519660.19891,
3201
+ 0.000342607498168945
3202
+ ],
3203
+ [
3204
+ [
3205
+ [
3206
+ 2
3207
+ ],
3208
+ [
3209
+ [
3210
+ "_key",
3211
+ "ShortText"
3212
+ ],
3213
+ [
3214
+ "name",
3215
+ "ShortText"
3216
+ ]
3217
+ ],
3218
+ [
3219
+ "tasukuchan",
3220
+ "グニャラくん"
3221
+ ],
3222
+ [
3223
+ "OffGao",
3224
+ "OffGao"
3225
+ ]
3226
+ ]
3227
+ ]
3228
+ ]
2082
3229
  .ft P
2083
3230
  .fi
2084
3231
  .sp
@@ -2093,7 +3240,38 @@ Execution example:
2093
3240
  .nf
2094
3241
  .ft C
2095
3242
  > select \-\-table Users \-\-query follower:@tasukuchan \-\-output_columns _key,name
2096
- [[0,1317212782.20472,0.000231885],[[[2],[["_key","ShortText"],["name","ShortText"]],["daijiro","hsiomaneki"],["OffGao","OffGao"]]]]
3243
+ [
3244
+ [
3245
+ 0,
3246
+ 1335519660.40055,
3247
+ 0.000302791595458984
3248
+ ],
3249
+ [
3250
+ [
3251
+ [
3252
+ 2
3253
+ ],
3254
+ [
3255
+ [
3256
+ "_key",
3257
+ "ShortText"
3258
+ ],
3259
+ [
3260
+ "name",
3261
+ "ShortText"
3262
+ ]
3263
+ ],
3264
+ [
3265
+ "daijiro",
3266
+ "hsiomaneki"
3267
+ ],
3268
+ [
3269
+ "OffGao",
3270
+ "OffGao"
3271
+ ]
3272
+ ]
3273
+ ]
3274
+ ]
2097
3275
  .ft P
2098
3276
  .fi
2099
3277
  .sp
@@ -2108,7 +3286,92 @@ Execution example:
2108
3286
  .nf
2109
3287
  .ft C
2110
3288
  > select \-\-table Comments \-\-filter \(aqgeo_in_circle(location,"127975798x502919856",20000)\(aq \-\-output_columns posted_by.name,comment \-\-drilldown hash_tags,posted_by
2111
- [[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]]]]
3289
+ [
3290
+ [
3291
+ 0,
3292
+ 1335519660.60211,
3293
+ 0.00048828125
3294
+ ],
3295
+ [
3296
+ [
3297
+ [
3298
+ 4
3299
+ ],
3300
+ [
3301
+ [
3302
+ "posted_by.name",
3303
+ "ShortText"
3304
+ ],
3305
+ [
3306
+ "comment",
3307
+ "ShortText"
3308
+ ]
3309
+ ],
3310
+ [
3311
+ "OffGao",
3312
+ "@daijiro @tasukuchan 登録してみましたよー!"
3313
+ ],
3314
+ [
3315
+ "グニャラくん",
3316
+ "groongaなう #groonga"
3317
+ ],
3318
+ [
3319
+ "グニャラくん",
3320
+ "groonga開発合宿のため羽田空港に来ました! #groonga #travel"
3321
+ ],
3322
+ [
3323
+ "OffGao",
3324
+ "中野ブロードウェイなうなう"
3325
+ ]
3326
+ ],
3327
+ [
3328
+ [
3329
+ 2
3330
+ ],
3331
+ [
3332
+ [
3333
+ "_key",
3334
+ "ShortText"
3335
+ ],
3336
+ [
3337
+ "_nsubrecs",
3338
+ "Int32"
3339
+ ]
3340
+ ],
3341
+ [
3342
+ "groonga",
3343
+ 2
3344
+ ],
3345
+ [
3346
+ "travel",
3347
+ 1
3348
+ ]
3349
+ ],
3350
+ [
3351
+ [
3352
+ 2
3353
+ ],
3354
+ [
3355
+ [
3356
+ "_key",
3357
+ "ShortText"
3358
+ ],
3359
+ [
3360
+ "_nsubrecs",
3361
+ "Int32"
3362
+ ]
3363
+ ],
3364
+ [
3365
+ "OffGao",
3366
+ 2
3367
+ ],
3368
+ [
3369
+ "tasukuchan",
3370
+ 2
3371
+ ]
3372
+ ]
3373
+ ]
3374
+ ]
2112
3375
  .ft P
2113
3376
  .fi
2114
3377
  .sp
@@ -2123,7 +3386,38 @@ Execution example:
2123
3386
  .nf
2124
3387
  .ft C
2125
3388
  > select \-\-table Comments \-\-query comment:@なう \-\-output_columns comment,_score
2126
- [[0,1317212782.60919,0.000239996],[[[2],[["comment","ShortText"],["_score","Int32"]],["groongaなう #groonga",1],["中野ブロードウェイなうなう",2]]]]
3389
+ [
3390
+ [
3391
+ 0,
3392
+ 1335519660.80493,
3393
+ 0.000359296798706055
3394
+ ],
3395
+ [
3396
+ [
3397
+ [
3398
+ 2
3399
+ ],
3400
+ [
3401
+ [
3402
+ "comment",
3403
+ "ShortText"
3404
+ ],
3405
+ [
3406
+ "_score",
3407
+ "Int32"
3408
+ ]
3409
+ ],
3410
+ [
3411
+ "groongaなう #groonga",
3412
+ 1
3413
+ ],
3414
+ [
3415
+ "中野ブロードウェイなうなう",
3416
+ 2
3417
+ ]
3418
+ ]
3419
+ ]
3420
+ ]
2127
3421
  .ft P
2128
3422
  .fi
2129
3423
  .sp
@@ -2137,7 +3431,76 @@ Execution example:
2137
3431
  .nf
2138
3432
  .ft C
2139
3433
  > select \-\-table Comments \-\-query comment:@羽田 \-\-filter \(aqgeo_in_circle(location,"127975798x502919856",20000)\(aq \-\-output_columns posted_by.name,comment \-\-drilldown hash_tags,posted_by
2140
- [[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]]]]
3434
+ [
3435
+ [
3436
+ 0,
3437
+ 1335519661.00659,
3438
+ 0.000471353530883789
3439
+ ],
3440
+ [
3441
+ [
3442
+ [
3443
+ 1
3444
+ ],
3445
+ [
3446
+ [
3447
+ "posted_by.name",
3448
+ "ShortText"
3449
+ ],
3450
+ [
3451
+ "comment",
3452
+ "ShortText"
3453
+ ]
3454
+ ],
3455
+ [
3456
+ "グニャラくん",
3457
+ "groonga開発合宿のため羽田空港に来ました! #groonga #travel"
3458
+ ]
3459
+ ],
3460
+ [
3461
+ [
3462
+ 2
3463
+ ],
3464
+ [
3465
+ [
3466
+ "_key",
3467
+ "ShortText"
3468
+ ],
3469
+ [
3470
+ "_nsubrecs",
3471
+ "Int32"
3472
+ ]
3473
+ ],
3474
+ [
3475
+ "groonga",
3476
+ 1
3477
+ ],
3478
+ [
3479
+ "travel",
3480
+ 1
3481
+ ]
3482
+ ],
3483
+ [
3484
+ [
3485
+ 1
3486
+ ],
3487
+ [
3488
+ [
3489
+ "_key",
3490
+ "ShortText"
3491
+ ],
3492
+ [
3493
+ "_nsubrecs",
3494
+ "Int32"
3495
+ ]
3496
+ ],
3497
+ [
3498
+ "tasukuchan",
3499
+ 1
3500
+ ]
3501
+ ]
3502
+ ]
3503
+ ]
2141
3504
  .ft P
2142
3505
  .fi
2143
3506
  .sp
@@ -2152,7 +3515,57 @@ Execution example:
2152
3515
  .nf
2153
3516
  .ft C
2154
3517
  > select \-\-table Comments \-\-query hash_tags:@groonga \-\-output_columns posted_by.name,comment \-\-drilldown posted_by
2155
- [[0,1317212783.01379,0.000311974],[[[2],[["posted_by.name","ShortText"],["comment","ShortText"]],["グニャラくん","groongaなう #groonga"],["グニャラくん","groonga開発合宿のため羽田空港に来ました! #groonga #travel"]],[[1],[["_key","ShortText"],["_nsubrecs","Int32"]],["tasukuchan",2]]]]
3518
+ [
3519
+ [
3520
+ 0,
3521
+ 1335519661.2089,
3522
+ 0.000585079193115234
3523
+ ],
3524
+ [
3525
+ [
3526
+ [
3527
+ 2
3528
+ ],
3529
+ [
3530
+ [
3531
+ "posted_by.name",
3532
+ "ShortText"
3533
+ ],
3534
+ [
3535
+ "comment",
3536
+ "ShortText"
3537
+ ]
3538
+ ],
3539
+ [
3540
+ "グニャラくん",
3541
+ "groongaなう #groonga"
3542
+ ],
3543
+ [
3544
+ "グニャラくん",
3545
+ "groonga開発合宿のため羽田空港に来ました! #groonga #travel"
3546
+ ]
3547
+ ],
3548
+ [
3549
+ [
3550
+ 1
3551
+ ],
3552
+ [
3553
+ [
3554
+ "_key",
3555
+ "ShortText"
3556
+ ],
3557
+ [
3558
+ "_nsubrecs",
3559
+ "Int32"
3560
+ ]
3561
+ ],
3562
+ [
3563
+ "tasukuchan",
3564
+ 2
3565
+ ]
3566
+ ]
3567
+ ]
3568
+ ]
2156
3569
  .ft P
2157
3570
  .fi
2158
3571
  .sp
@@ -2166,7 +3579,61 @@ Execution example:
2166
3579
  .nf
2167
3580
  .ft C
2168
3581
  > select \-\-table Comments \-\-query posted_by:tasukuchan \-\-output_columns comment \-\-drilldown hash_tags
2169
- [[0,1317212783.21601,0.000313114],[[[4],[["comment","ShortText"]],["初の書き込み。テストテスト。"],["@daijiro ありがとう!"],["groongaなう #groonga"],["groonga開発合宿のため羽田空港に来ました! #groonga #travel"]],[[2],[["_key","ShortText"],["_nsubrecs","Int32"]],["groonga",2],["travel",1]]]]
3582
+ [
3583
+ [
3584
+ 0,
3585
+ 1335519661.41271,
3586
+ 0.000678777694702148
3587
+ ],
3588
+ [
3589
+ [
3590
+ [
3591
+ 4
3592
+ ],
3593
+ [
3594
+ [
3595
+ "comment",
3596
+ "ShortText"
3597
+ ]
3598
+ ],
3599
+ [
3600
+ "初の書き込み。テストテスト。"
3601
+ ],
3602
+ [
3603
+ "@daijiro ありがとう!"
3604
+ ],
3605
+ [
3606
+ "groongaなう #groonga"
3607
+ ],
3608
+ [
3609
+ "groonga開発合宿のため羽田空港に来ました! #groonga #travel"
3610
+ ]
3611
+ ],
3612
+ [
3613
+ [
3614
+ 2
3615
+ ],
3616
+ [
3617
+ [
3618
+ "_key",
3619
+ "ShortText"
3620
+ ],
3621
+ [
3622
+ "_nsubrecs",
3623
+ "Int32"
3624
+ ]
3625
+ ],
3626
+ [
3627
+ "groonga",
3628
+ 2
3629
+ ],
3630
+ [
3631
+ "travel",
3632
+ 1
3633
+ ]
3634
+ ]
3635
+ ]
3636
+ ]
2170
3637
  .ft P
2171
3638
  .fi
2172
3639
  .sp
@@ -2180,7 +3647,40 @@ Execution example:
2180
3647
  .nf
2181
3648
  .ft C
2182
3649
  > select \-\-table Users \-\-query _key:tasukuchan \-\-output_columns favorites.posted_by,favorites.comment
2183
- [[0,1317212783.41809,0.000257979],[[[1],[["favorites.posted_by","Users"],["favorites.comment","ShortText"]],[["daijiro","OffGao"],["マイクロブログ作ってみました(甘栗むいちゃいました的な感じで)。","@daijiro @tasukuchan 登録してみましたよー!"]]]]]
3650
+ [
3651
+ [
3652
+ 0,
3653
+ 1335519661.61696,
3654
+ 0.000443696975708008
3655
+ ],
3656
+ [
3657
+ [
3658
+ [
3659
+ 1
3660
+ ],
3661
+ [
3662
+ [
3663
+ "favorites.posted_by",
3664
+ "Users"
3665
+ ],
3666
+ [
3667
+ "favorites.comment",
3668
+ "ShortText"
3669
+ ]
3670
+ ],
3671
+ [
3672
+ [
3673
+ "daijiro",
3674
+ "OffGao"
3675
+ ],
3676
+ [
3677
+ "マイクロブログ作ってみました(甘栗むいちゃいました的な感じで)。",
3678
+ "@daijiro @tasukuchan 登録してみましたよー!"
3679
+ ]
3680
+ ]
3681
+ ]
3682
+ ]
3683
+ ]
2184
3684
  .ft P
2185
3685
  .fi
2186
3686
  .sp
@@ -2195,7 +3695,101 @@ Execution example:
2195
3695
  .nf
2196
3696
  .ft C
2197
3697
  > select Comments \-\-filter \(aqlast_modified<=1268802000\(aq \-\-output_columns posted_by.name,comment,last_modified \-\-drilldown hash_tags,posted_by
2198
- [[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]]]]
3698
+ [
3699
+ [
3700
+ 0,
3701
+ 1335519661.82081,
3702
+ 0.000457286834716797
3703
+ ],
3704
+ [
3705
+ [
3706
+ [
3707
+ 5
3708
+ ],
3709
+ [
3710
+ [
3711
+ "posted_by.name",
3712
+ "ShortText"
3713
+ ],
3714
+ [
3715
+ "comment",
3716
+ "ShortText"
3717
+ ],
3718
+ [
3719
+ "last_modified",
3720
+ "Time"
3721
+ ]
3722
+ ],
3723
+ [
3724
+ "hsiomaneki",
3725
+ "マイクロブログ作ってみました(甘栗むいちゃいました的な感じで)。",
3726
+ 1268795100.0
3727
+ ],
3728
+ [
3729
+ "グニャラくん",
3730
+ "初の書き込み。テストテスト。",
3731
+ 1268794800.0
3732
+ ],
3733
+ [
3734
+ "hsiomaneki",
3735
+ "@tasukuchan ようこそ!!!",
3736
+ 1268795100.0
3737
+ ],
3738
+ [
3739
+ "グニャラくん",
3740
+ "@daijiro ありがとう!",
3741
+ 1268798400.0
3742
+ ],
3743
+ [
3744
+ "グニャラくん",
3745
+ "groongaなう #groonga",
3746
+ 1268802000.0
3747
+ ]
3748
+ ],
3749
+ [
3750
+ [
3751
+ 1
3752
+ ],
3753
+ [
3754
+ [
3755
+ "_key",
3756
+ "ShortText"
3757
+ ],
3758
+ [
3759
+ "_nsubrecs",
3760
+ "Int32"
3761
+ ]
3762
+ ],
3763
+ [
3764
+ "groonga",
3765
+ 1
3766
+ ]
3767
+ ],
3768
+ [
3769
+ [
3770
+ 2
3771
+ ],
3772
+ [
3773
+ [
3774
+ "_key",
3775
+ "ShortText"
3776
+ ],
3777
+ [
3778
+ "_nsubrecs",
3779
+ "Int32"
3780
+ ]
3781
+ ],
3782
+ [
3783
+ "daijiro",
3784
+ 2
3785
+ ],
3786
+ [
3787
+ "tasukuchan",
3788
+ 3
3789
+ ]
3790
+ ]
3791
+ ]
3792
+ ]
2199
3793
  .ft P
2200
3794
  .fi
2201
3795
  .sp
@@ -2218,29 +3812,29 @@ Execution example:
2218
3812
  .nf
2219
3813
  .ft C
2220
3814
  > table_create Doc TABLE_PAT_KEY ShortText
2221
- [[0,1317212801.95257,0.054058921],true]
3815
+ [[0,1335519662.68773,0.000400543212890625],true]
2222
3816
  > column_create Doc body COLUMN_SCALAR ShortText
2223
- [[0,1317212802.2071,0.040301713],true]
3817
+ [[0,1335519662.88919,0.000899314880371094],true]
2224
3818
  > table_create Term TABLE_PAT_KEY|KEY_NORMALIZE ShortText \-\-default_tokenizer TokenBigram
2225
- [[0,1317212802.44812,0.027340933],true]
3819
+ [[0,1335519663.09089,0.000370979309082031],true]
2226
3820
  > column_create Term Doc_body COLUMN_INDEX|WITH_POSITION Doc body
2227
- [[0,1317212802.676,0.079743674],true]
3821
+ [[0,1335519663.29217,0.00676441192626953],true]
2228
3822
  > table_create Synonym TABLE_PAT_KEY ShortText
2229
- [[0,1317212802.95629,0.03656858],true]
3823
+ [[0,1335519663.4998,0.000351667404174805],true]
2230
3824
  > column_create Synonym body COLUMN_SCALAR ShortText
2231
- [[0,1317212803.19316,0.040515932],true]
3825
+ [[0,1335519663.70094,0.000846624374389648],true]
2232
3826
  > load \-\-table Doc
2233
3827
  > [
2234
3828
  > {"_key": "001", "body": "すっぱいブドウと甘いシークァーサー"},
2235
3829
  > {"_key": "002", "body": "シークヮーサージュースとゴーヤチャンプル"},
2236
3830
  > ]
2237
- [[0,1317212803.43422,0.80056314],2]
3831
+ [[0,1335519663.90262,0.801640033721924],2]
2238
3832
  > load \-\-table Synonym
2239
3833
  > [
2240
3834
  > {"_key": "シークァーサー", "body": "(シークァーサー OR シークヮーサー)"},
2241
3835
  > {"_key": "シークヮーサー", "body": "(シークァーサー OR シークヮーサー)"},
2242
3836
  > ]
2243
- [[0,1317212804.43524,0.801037492],2]
3837
+ [[0,1335519664.905,0.801484823226929],2]
2244
3838
  .ft P
2245
3839
  .fi
2246
3840
  .sp
@@ -2254,9 +3848,73 @@ Execution example:
2254
3848
  .nf
2255
3849
  .ft C
2256
3850
  > select Doc \-\-match_columns body \-\-query "シークァーサー"
2257
- [[0,1317212805.4371,0.000567851],[[[1],[["_id","UInt32"],["_key","ShortText"],["body","ShortText"]],[1,"001","すっぱいブドウと甘いシークァーサー"]]]]
3851
+ [
3852
+ [
3853
+ 0,
3854
+ 1335519665.90753,
3855
+ 0.000537633895874023
3856
+ ],
3857
+ [
3858
+ [
3859
+ [
3860
+ 1
3861
+ ],
3862
+ [
3863
+ [
3864
+ "_id",
3865
+ "UInt32"
3866
+ ],
3867
+ [
3868
+ "_key",
3869
+ "ShortText"
3870
+ ],
3871
+ [
3872
+ "body",
3873
+ "ShortText"
3874
+ ]
3875
+ ],
3876
+ [
3877
+ 1,
3878
+ "001",
3879
+ "すっぱいブドウと甘いシークァーサー"
3880
+ ]
3881
+ ]
3882
+ ]
3883
+ ]
2258
3884
  > select Doc \-\-match_columns body \-\-query "シークヮーサー"
2259
- [[0,1317212805.63859,0.000387831],[[[1],[["_id","UInt32"],["_key","ShortText"],["body","ShortText"]],[2,"002","シークヮーサージュースとゴーヤチャンプル"]]]]
3885
+ [
3886
+ [
3887
+ 0,
3888
+ 1335519666.10912,
3889
+ 0.000688791275024414
3890
+ ],
3891
+ [
3892
+ [
3893
+ [
3894
+ 1
3895
+ ],
3896
+ [
3897
+ [
3898
+ "_id",
3899
+ "UInt32"
3900
+ ],
3901
+ [
3902
+ "_key",
3903
+ "ShortText"
3904
+ ],
3905
+ [
3906
+ "body",
3907
+ "ShortText"
3908
+ ]
3909
+ ],
3910
+ [
3911
+ 2,
3912
+ "002",
3913
+ "シークヮーサージュースとゴーヤチャンプル"
3914
+ ]
3915
+ ]
3916
+ ]
3917
+ ]
2260
3918
  .ft P
2261
3919
  .fi
2262
3920
  .sp
@@ -2267,9 +3925,83 @@ Execution example:
2267
3925
  .nf
2268
3926
  .ft C
2269
3927
  > select Doc \-\-match_columns body \-\-query "シークァーサー" \-\-query_expansion Synonym.body
2270
- [[0,1317212805.84016,0.000441852],[[[2],[["_id","UInt32"],["_key","ShortText"],["body","ShortText"]],[1,"001","すっぱいブドウと甘いシークァーサー"],[2,"002","シークヮーサージュースとゴーヤチャンプル"]]]]
3928
+ [
3929
+ [
3930
+ 0,
3931
+ 1335519666.31137,
3932
+ 0.000792741775512695
3933
+ ],
3934
+ [
3935
+ [
3936
+ [
3937
+ 2
3938
+ ],
3939
+ [
3940
+ [
3941
+ "_id",
3942
+ "UInt32"
3943
+ ],
3944
+ [
3945
+ "_key",
3946
+ "ShortText"
3947
+ ],
3948
+ [
3949
+ "body",
3950
+ "ShortText"
3951
+ ]
3952
+ ],
3953
+ [
3954
+ 1,
3955
+ "001",
3956
+ "すっぱいブドウと甘いシークァーサー"
3957
+ ],
3958
+ [
3959
+ 2,
3960
+ "002",
3961
+ "シークヮーサージュースとゴーヤチャンプル"
3962
+ ]
3963
+ ]
3964
+ ]
3965
+ ]
2271
3966
  > select Doc \-\-match_columns body \-\-query "シークヮーサー" \-\-query_expansion Synonym.body
2272
- [[0,1317212806.04176,0.000580261],[[[2],[["_id","UInt32"],["_key","ShortText"],["body","ShortText"]],[1,"001","すっぱいブドウと甘いシークァーサー"],[2,"002","シークヮーサージュースとゴーヤチャンプル"]]]]
3967
+ [
3968
+ [
3969
+ 0,
3970
+ 1335519666.51486,
3971
+ 0.000669717788696289
3972
+ ],
3973
+ [
3974
+ [
3975
+ [
3976
+ 2
3977
+ ],
3978
+ [
3979
+ [
3980
+ "_id",
3981
+ "UInt32"
3982
+ ],
3983
+ [
3984
+ "_key",
3985
+ "ShortText"
3986
+ ],
3987
+ [
3988
+ "body",
3989
+ "ShortText"
3990
+ ]
3991
+ ],
3992
+ [
3993
+ 1,
3994
+ "001",
3995
+ "すっぱいブドウと甘いシークァーサー"
3996
+ ],
3997
+ [
3998
+ 2,
3999
+ "002",
4000
+ "シークヮーサージュースとゴーヤチャンプル"
4001
+ ]
4002
+ ]
4003
+ ]
4004
+ ]
2273
4005
  .ft P
2274
4006
  .fi
2275
4007
  .sp
@@ -2668,7 +4400,34 @@ Execution example:
2668
4400
  .nf
2669
4401
  .ft C
2670
4402
  > suggest \-\-table item_query \-\-column kana \-\-types complete \-\-frequency_threshold 1 \-\-query en
2671
- [[0,1317212704.42103,0.001348612],{"complete":[[1],[["_key","ShortText"],["_score","Int32"]],["engine",1]]}]
4403
+ [
4404
+ [
4405
+ 0,
4406
+ 1335519580.61411,
4407
+ 0.00101041793823242
4408
+ ],
4409
+ {
4410
+ "complete": [
4411
+ [
4412
+ 1
4413
+ ],
4414
+ [
4415
+ [
4416
+ "_key",
4417
+ "ShortText"
4418
+ ],
4419
+ [
4420
+ "_score",
4421
+ "Int32"
4422
+ ]
4423
+ ],
4424
+ [
4425
+ "engine",
4426
+ 1
4427
+ ]
4428
+ ]
4429
+ }
4430
+ ]
2672
4431
  .ft P
2673
4432
  .fi
2674
4433
  .SS How it learns
@@ -2836,7 +4595,34 @@ Execution example:
2836
4595
  .nf
2837
4596
  .ft C
2838
4597
  > suggest \-\-table item_query \-\-column kana \-\-types correction \-\-frequency_threshold 1 \-\-query saerch
2839
- [[0,1317212708.7696,0.000882462],{"correct":[[1],[["_key","ShortText"],["_score","Int32"]],["search",1]]}]
4598
+ [
4599
+ [
4600
+ 0,
4601
+ 1335519584.34144,
4602
+ 0.000605106353759766
4603
+ ],
4604
+ {
4605
+ "correct": [
4606
+ [
4607
+ 1
4608
+ ],
4609
+ [
4610
+ [
4611
+ "_key",
4612
+ "ShortText"
4613
+ ],
4614
+ [
4615
+ "_score",
4616
+ "Int32"
4617
+ ]
4618
+ ],
4619
+ [
4620
+ "search",
4621
+ 1
4622
+ ]
4623
+ ]
4624
+ }
4625
+ ]
2840
4626
  .ft P
2841
4627
  .fi
2842
4628
  .SS How it learns
@@ -3014,7 +4800,38 @@ Execution example:
3014
4800
  .nf
3015
4801
  .ft C
3016
4802
  > suggest \-\-table item_query \-\-column kana \-\-types suggest \-\-frequency_threshold 1 \-\-query search
3017
- [[0,1317212711.42188,0.000553344],{"suggest":[[2],[["_key","ShortText"],["_score","Int32"]],["search engine",1],["web search realtime",1]]}]
4803
+ [
4804
+ [
4805
+ 0,
4806
+ 1335519581.87931,
4807
+ 0.000770807266235352
4808
+ ],
4809
+ {
4810
+ "suggest": [
4811
+ [
4812
+ 2
4813
+ ],
4814
+ [
4815
+ [
4816
+ "_key",
4817
+ "ShortText"
4818
+ ],
4819
+ [
4820
+ "_score",
4821
+ "Int32"
4822
+ ]
4823
+ ],
4824
+ [
4825
+ "search engine",
4826
+ 1
4827
+ ],
4828
+ [
4829
+ "web search realtime",
4830
+ 1
4831
+ ]
4832
+ ]
4833
+ }
4834
+ ]
3018
4835
  .ft P
3019
4836
  .fi
3020
4837
  .SS How it learns
@@ -5368,138 +7185,640 @@ quit
5368
7185
  .ft P
5369
7186
  .fi
5370
7187
  .SS select
5371
- .SS 名前
7188
+ .SS Summary
5372
7189
  .sp
5373
- select \- テーブルの中から条件にマッチするレコードを検索して出力する
5374
- .SS 書式
7190
+ \fBselect\fP searches records that are matched to specified conditions
7191
+ from a table and then outputs them.
7192
+ .sp
7193
+ \fBselect\fP is the most important command in groonga. You need to
7194
+ understand \fBselect\fP to use the full power of groonga.
7195
+ .SS Syntax
7196
+ .sp
7197
+ \fBselect\fP has many parameters. The required parameter is only
7198
+ \fBtable\fP and others are optional:
5375
7199
  .sp
5376
7200
  .nf
5377
7201
  .ft C
5378
- select table [match_columns [query [filter [scorer [sortby [output_columns
5379
- [offset [limit [drilldown [drilldown_sortby [drilldown_output_columns
5380
- [drilldown_offset [drilldown_limit [cache
5381
- [match_escalation_threshold [query_expansion]]]]]]]]]]]]]]]]
7202
+ select table
7203
+ [match_columns=null]
7204
+ [query=null]
7205
+ [filter=null]
7206
+ [scorer=null]
7207
+ [sortby=null]
7208
+ [output_columns="_id, _key, *"]
7209
+ [offset=0]
7210
+ [limit=10]
7211
+ [drilldown=null]
7212
+ [drilldown_sortby=null]
7213
+ [drilldown_output_columns=null]
7214
+ [drilldown_offset=0]
7215
+ [drilldown_limit=10]
7216
+ [cache=yes]
7217
+ [match_escalation_threshold=0]
7218
+ [query_expansion=null]
5382
7219
  .ft P
5383
7220
  .fi
5384
- .SS 説明
7221
+ .SS Usage
5385
7222
  .sp
5386
- groonga組込コマンドの一つであるselectについて説明します。組込コマンドは、groonga実行ファイルの引数、標準入力、またはソケット経由でgroongaサーバにリクエストを送信することによって実行します。
7223
+ Let\(aqs learn about \fBselect\fP usage with examples. This section shows
7224
+ many popular usages.
5387
7225
  .sp
5388
- selectは、使用しているデータベースのテーブルの中から条件にマッチするレコードを検索して出力します。
5389
- .SS 引数
7226
+ Here are a schema definition and sample data to show usage.
5390
7227
  .sp
5391
- \fBtable\fP
5392
- .INDENT 0.0
5393
- .INDENT 3.5
5394
- 検索対象のテーブルを指定します。存在しないテーブルを指定した場合はエラーになります。
5395
- .UNINDENT
5396
- .UNINDENT
7228
+ Execution example:
5397
7229
  .sp
5398
- \fBmatch_columns\fP
5399
- .INDENT 0.0
5400
- .INDENT 3.5
5401
- query引数に指定する検索条件文字列でデフォルトの検索対象となるカラムを指定します。
5402
- .INDENT 0.0
5403
- .INDENT 3.5
5404
- カラム名
5405
- .UNINDENT
5406
- .UNINDENT
7230
+ .nf
7231
+ .ft C
7232
+ > table_create Entries TABLE_HASH_KEY ShortText
7233
+ [[0,1335594537.43378,0.000381708145141602],true]
7234
+ > column_create Entries content COLUMN_SCALAR Text
7235
+ [[0,1335594537.63582,0.000931501388549805],true]
7236
+ > table_create Terms TABLE_PAT_KEY|KEY_NORMALIZE ShortText \-\-default_tokenizer TokenBigram
7237
+ [[0,1335594537.83776,0.000288009643554688],true]
7238
+ > column_create Terms entries_key_index COLUMN_INDEX|WITH_POSITION Entries _key
7239
+ [[0,1335594538.03901,0.0059964656829834],true]
7240
+ > column_create Terms entries_content_index COLUMN_INDEX|WITH_POSITION Entries content
7241
+ [[0,1335594538.24584,0.00617790222167969],true]
7242
+ > load \-\-table Entries
7243
+ > [
7244
+ > {"_key": "The first post!", "content": "Welcome! This is my first post!"},
7245
+ > {"_key": "Groonga", "content": "I started to use groonga. It\(aqs very fast!"}
7246
+ > {"_key": "Mroonga", "content": "I also started to use mroonga. It\(aqs also very fast! Really fast!"}
7247
+ > ]
7248
+ .ft P
7249
+ .fi
5407
7250
  .sp
5408
- カラム名の後ろに\(aq* 数値\(aqを指定することによって、そのカラムにヒットした際のスコアに積算される重みを指定することができます。
5409
- .INDENT 0.0
5410
- .INDENT 3.5
5411
- カラム名 * 重み
5412
- .UNINDENT
5413
- .UNINDENT
7251
+ There is a table, \fBEntries\fP, for blog entries. An entry has title
7252
+ and content. Title is key of \fBEntries\fP. Content is value of
7253
+ \fBEntries.content\fP column.
5414
7254
  .sp
5415
- 複数のカラムを\(aq||\(aqで結合して指定することもできます。
5416
- .INDENT 0.0
5417
- .INDENT 3.5
5418
- カラム名1 * 重み1 || カラム名2 * 重み2
5419
- .UNINDENT
5420
- .UNINDENT
7255
+ \fBEntries._key\fP column and \fBEntries.content\fP column are indexed
7256
+ using \fBTokenBigram\fP tokenizer. So both \fBEntries._key\fP and
7257
+ \fBEntries.content\fP are fulltext search ready.
5421
7258
  .sp
5422
- また、カラム名ではなく、検索に使用するインデックス名を指定することもできます。
5423
- .UNINDENT
5424
- .UNINDENT
7259
+ OK. The schema and data for examples are ready.
7260
+ .SS Simple usage
5425
7261
  .sp
5426
- \fBquery\fP
7262
+ Here is the most simple usage with the above shema and data. It outputs
7263
+ all records in \fBEntries\fP table.
7264
+ .sp
7265
+ Execution example:
7266
+ .sp
7267
+ .nf
7268
+ .ft C
7269
+ > select Entries
7270
+ [
7271
+ [
7272
+ 0,
7273
+ 1335519592.67133,
7274
+ 0.000493049621582031
7275
+ ],
7276
+ [
7277
+ [
7278
+ [
7279
+ 3
7280
+ ],
7281
+ [
7282
+ [
7283
+ "_id",
7284
+ "UInt32"
7285
+ ],
7286
+ [
7287
+ "_key",
7288
+ "ShortText"
7289
+ ],
7290
+ [
7291
+ "content",
7292
+ "Text"
7293
+ ]
7294
+ ],
7295
+ [
7296
+ 1,
7297
+ "The first post!",
7298
+ "Welcome! This is my first post!"
7299
+ ],
7300
+ [
7301
+ 2,
7302
+ "Groonga",
7303
+ "I started to use groonga. It\(aqs very fast!"
7304
+ ],
7305
+ [
7306
+ 3,
7307
+ "Mroonga",
7308
+ "I also started to use mroonga. It\(aqs also very fast! Really fast!"
7309
+ ]
7310
+ ]
7311
+ ]
7312
+ ]
7313
+ .ft P
7314
+ .fi
7315
+ .sp
7316
+ Why does the command output all records? There are two reasons. The
7317
+ first reason is that the command doesn\(aqt specify any search
7318
+ conditions. No search condition means all records are matched. The
7319
+ second reason is that the number of all records is 3. \fBselect\fP
7320
+ command outputs 10 records at a maximum by default. There are only 3
7321
+ records. It is less than 10. So the command outputs all records.
7322
+ .SS Search conditions
7323
+ .sp
7324
+ Search conditions are specified by \fBquery\fP or \fBfilter\fP. You can
7325
+ also specify both \fBquery\fP and \fBfilter\fP. It means that selected
7326
+ records must be matched against both \fBquery\fP and \fBfilter\fP.
7327
+ .SS Search condition: \fBquery\fP
7328
+ .sp
7329
+ \fBquery\fP is designed for search box in Web page. Imagine a search box
7330
+ in google.com. You specify search conditions for \fBquery\fP as space
7331
+ separated keywords. For example, \fBsearch engine\fP means a matched
7332
+ record should contain two words, \fBsearch\fP and \fBengine\fP.
7333
+ .sp
7334
+ Normally, \fBquery\fP parameter is used for specifying fulltext search
7335
+ conditions. It can be used for non fulltext search conditions but
7336
+ \fBfilter\fP is used for the propose.
7337
+ .sp
7338
+ \fBquery\fP parameter is used with \fBmatch_columns\fP parameter when
7339
+ \fBquery\fP parameter is used for specifying fulltext search
7340
+ conditions. \fBmatch_columns\fP specifies which columnes and indexes are
7341
+ matched against \fBquery\fP.
7342
+ .sp
7343
+ Here is a simple \fBquery\fP usage example.
7344
+ .sp
7345
+ Execution example:
7346
+ .sp
7347
+ .nf
7348
+ .ft C
7349
+ > select Entries \-\-match_columns content \-\-query fast
7350
+ [
7351
+ [
7352
+ 0,
7353
+ 1335519592.87374,
7354
+ 0.000868797302246094
7355
+ ],
7356
+ [
7357
+ [
7358
+ [
7359
+ 2
7360
+ ],
7361
+ [
7362
+ [
7363
+ "_id",
7364
+ "UInt32"
7365
+ ],
7366
+ [
7367
+ "_key",
7368
+ "ShortText"
7369
+ ],
7370
+ [
7371
+ "content",
7372
+ "Text"
7373
+ ]
7374
+ ],
7375
+ [
7376
+ 2,
7377
+ "Groonga",
7378
+ "I started to use groonga. It\(aqs very fast!"
7379
+ ],
7380
+ [
7381
+ 3,
7382
+ "Mroonga",
7383
+ "I also started to use mroonga. It\(aqs also very fast! Really fast!"
7384
+ ]
7385
+ ]
7386
+ ]
7387
+ ]
7388
+ .ft P
7389
+ .fi
7390
+ .sp
7391
+ The \fBselect\fP command searches records that contain a word \fBfast\fP
7392
+ in \fBcontent\fP column value from \fBEntries\fP table.
7393
+ .sp
7394
+ \fBquery\fP has query syntax but its deatils aren\(aqt described here. See
7395
+ \fB/spec/query_syntax\fP for datails.
7396
+ .SS Search condition: \fBfilter\fP
7397
+ .sp
7398
+ \fBfilter\fP is designed for complex search conditions. You specify
7399
+ search conditions for \fBfilter\fP as ECMAScript like syntax.
7400
+ .sp
7401
+ Here is a simple \fBfilter\fP usage example.
7402
+ .sp
7403
+ Execution example:
7404
+ .sp
7405
+ .nf
7406
+ .ft C
7407
+ > select Entries \-\-filter \(aqcontent @ "fast" && _key == "Groonga"\(aq
7408
+ [
7409
+ [
7410
+ 0,
7411
+ 1335520300.98383,
7412
+ 0.000544071197509766
7413
+ ],
7414
+ [
7415
+ [
7416
+ [
7417
+ 1
7418
+ ],
7419
+ [
7420
+ [
7421
+ "_id",
7422
+ "UInt32"
7423
+ ],
7424
+ [
7425
+ "_key",
7426
+ "ShortText"
7427
+ ],
7428
+ [
7429
+ "content",
7430
+ "Text"
7431
+ ]
7432
+ ],
7433
+ [
7434
+ 2,
7435
+ "Groonga",
7436
+ "I started to use groonga. It\(aqs very fast!"
7437
+ ]
7438
+ ]
7439
+ ]
7440
+ ]
7441
+ .ft P
7442
+ .fi
7443
+ .sp
7444
+ The \fBselect\fP command searches records that contain a word \fBfast\fP
7445
+ in \fBcontent\fP column value and has \fBGroonga\fP as \fB_key\fP from
7446
+ \fBEntries\fP table. There are three operators in the command, \fB@\fP,
7447
+ \fB&&\fP and \fB==\fP. \fB@\fP is fulltext search operator. \fB&&\fP and
7448
+ \fB==\fP are the same as ECMAScript. \fB&&\fP is logical AND operator and
7449
+ \fB==\fP is equality operator.
7450
+ .sp
7451
+ \fBfilter\fP has more operators and syntax like grouping by \fB(...)\fP
7452
+ its deatils aren\(aqt described here. See \fB/spec/script_syntax\fP for
7453
+ datails.
7454
+ .SS Paging
7455
+ .sp
7456
+ You can specify range of outputted records by \fBoffset\fP and \fBlimit\fP.
7457
+ Here is an example to output only the 2nd record.
7458
+ .sp
7459
+ Execution example:
7460
+ .sp
7461
+ .nf
7462
+ .ft C
7463
+ > select Entries \-\-offset 1 \-\-limit 1
7464
+ [
7465
+ [
7466
+ 0,
7467
+ 1335519593.28077,
7468
+ 0.000288248062133789
7469
+ ],
7470
+ [
7471
+ [
7472
+ [
7473
+ 3
7474
+ ],
7475
+ [
7476
+ [
7477
+ "_id",
7478
+ "UInt32"
7479
+ ],
7480
+ [
7481
+ "_key",
7482
+ "ShortText"
7483
+ ],
7484
+ [
7485
+ "content",
7486
+ "Text"
7487
+ ]
7488
+ ],
7489
+ [
7490
+ 2,
7491
+ "Groonga",
7492
+ "I started to use groonga. It\(aqs very fast!"
7493
+ ]
7494
+ ]
7495
+ ]
7496
+ ]
7497
+ .ft P
7498
+ .fi
7499
+ .sp
7500
+ \fBoffset\fP is zero\-origin. \fB\-\-offset 1\fP means output range is
7501
+ started from the 2nd record.
7502
+ .sp
7503
+ \fBlimit\fP specifies the max number of output records. \fB\-\-limit 1\fP
7504
+ means the number of output records is 1 at a maximium. If no records
7505
+ are matched, \fBselect\fP command outputs no records.
7506
+ .SS The total number of records
7507
+ .sp
7508
+ You can use \fB\-\-limit 0\fP to retrieve the total number of recrods
7509
+ without any contents of records.
7510
+ .sp
7511
+ Execution example:
7512
+ .sp
7513
+ .nf
7514
+ .ft C
7515
+ > select Entries \-\-limit 0
7516
+ [
7517
+ [
7518
+ 0,
7519
+ 1335519593.48351,
7520
+ 0.000329017639160156
7521
+ ],
7522
+ [
7523
+ [
7524
+ [
7525
+ 3
7526
+ ],
7527
+ [
7528
+ [
7529
+ "_id",
7530
+ "UInt32"
7531
+ ],
7532
+ [
7533
+ "_key",
7534
+ "ShortText"
7535
+ ],
7536
+ [
7537
+ "content",
7538
+ "Text"
7539
+ ]
7540
+ ]
7541
+ ]
7542
+ ]
7543
+ ]
7544
+ .ft P
7545
+ .fi
7546
+ .sp
7547
+ \fB\-\-limit 0\fP is also useful for retrieving only the number of matched
7548
+ records.
7549
+ .SS Parameters
7550
+ .sp
7551
+ This section describes all parameters. Parameters are categorized.
7552
+ .SS Required parameter
7553
+ .sp
7554
+ There is a required parameter, \fBtable\fP.
7555
+ .SS \fBtable\fP
7556
+ .sp
7557
+ It specifies a table to be searched. \fBtable\fP must be specified.
7558
+ .sp
7559
+ If nonexistent table is specified, an error is returned.
7560
+ .sp
7561
+ Execution example:
7562
+ .sp
7563
+ .nf
7564
+ .ft C
7565
+ > select Nonexistent
7566
+ [
7567
+ [
7568
+ \-22,
7569
+ 1335519593.68574,
7570
+ 0.000583171844482422,
7571
+ "invalid table name: <Nonexistent>",
7572
+ [
7573
+ [
7574
+ "grn_select",
7575
+ "proc.c",
7576
+ 542
7577
+ ]
7578
+ ]
7579
+ ]
7580
+ ]
7581
+ .ft P
7582
+ .fi
7583
+ .SS Search related parameters
7584
+ .sp
7585
+ There are search related parameters. Typically, \fBmatch_columns\fP and
7586
+ \fBquery\fP parameters are used for implementing a search
7587
+ box. \fBfilter\fP parameters is used for implementing complex search
7588
+ feature.
7589
+ .sp
7590
+ If both \fBquery\fP and \fBfilter\fP are specified, selected records must
7591
+ be matched against both \fBquery\fP and \fBfilter\fP. If both \fBquery\fP
7592
+ and \fBfilter\fP aren\(aqt specified, all records are selected.
7593
+ .SS \fBmatch_columns\fP
7594
+ .sp
7595
+ It specifies the default target column for fulltext search by
7596
+ \fBquery\fP parameter value. A target column for fulltext search can be
7597
+ specified in \fBquery\fP parameter. The difference between
7598
+ \fBmatch_columns\fP and \fBquery\fP is whether weight is supported or
7599
+ not. \fBmatch_columns\fP supports weight but \fBquery\fP doesn\(aqt.
7600
+ .sp
7601
+ Weight is relative importance of target column. A higher weight target
7602
+ column gets more hit score rather than a lower weight target column
7603
+ when a record is matched by fulltext search. The default weight is 1.
7604
+ .sp
7605
+ Here is a simple \fBmatch_columns\fP usage example.
7606
+ .sp
7607
+ Execution example:
7608
+ .sp
7609
+ .nf
7610
+ .ft C
7611
+ > select Entries \-\-match_columns content \-\-query fast \-\-output_columns \(aq_key, _score\(aq
7612
+ [
7613
+ [
7614
+ 0,
7615
+ 1335519593.88754,
7616
+ 0.000384092330932617
7617
+ ],
7618
+ [
7619
+ [
7620
+ [
7621
+ 2
7622
+ ],
7623
+ [
7624
+ [
7625
+ "_key",
7626
+ "ShortText"
7627
+ ],
7628
+ [
7629
+ "_score",
7630
+ "Int32"
7631
+ ]
7632
+ ],
7633
+ [
7634
+ "Groonga",
7635
+ 1
7636
+ ],
7637
+ [
7638
+ "Mroonga",
7639
+ 2
7640
+ ]
7641
+ ]
7642
+ ]
7643
+ ]
7644
+ .ft P
7645
+ .fi
7646
+ .sp
7647
+ \fB\-\-match_columns content\fP means the default target column for
7648
+ fulltext search is \fBcontent\fP column and its weight
7649
+ is 1. \fB\-\-output_columns \(aq_key, _score\(aq\fP means that the \fBselect\fP
7650
+ command outputs \fB_key\fP value and \fB_score\fP value for matched
7651
+ records.
7652
+ .sp
7653
+ Pay attention to \fB_score\fP value. \fB_score\fP value is the number of
7654
+ matched counts against \fBquery\fP parameter value. In the example,
7655
+ \fBquery\fP parameter value is \fBfast\fP. The fact that \fB_score\fP value
7656
+ is 1 means that \fBfast\fP appers in \fBcontent\fP column only once. The
7657
+ fact that \fB_score\fP value is 2 means that \fBfast\fP appears in
7658
+ \fBcontent\fP column twice.
7659
+ .sp
7660
+ To specify weight, \fBcolumn * weight\fP syntax is used. Here is a
7661
+ weight usage example.
7662
+ .sp
7663
+ Execution example:
7664
+ .sp
7665
+ .nf
7666
+ .ft C
7667
+ > select Entries \-\-match_columns \(aqcontent * 2\(aq \-\-query fast \-\-output_columns \(aq_key, _score\(aq
7668
+ [
7669
+ [
7670
+ 0,
7671
+ 1335519594.08917,
7672
+ 0.0003814697265625
7673
+ ],
7674
+ [
7675
+ [
7676
+ [
7677
+ 2
7678
+ ],
7679
+ [
7680
+ [
7681
+ "_key",
7682
+ "ShortText"
7683
+ ],
7684
+ [
7685
+ "_score",
7686
+ "Int32"
7687
+ ]
7688
+ ],
7689
+ [
7690
+ "Groonga",
7691
+ 2
7692
+ ],
7693
+ [
7694
+ "Mroonga",
7695
+ 4
7696
+ ]
7697
+ ]
7698
+ ]
7699
+ ]
7700
+ .ft P
7701
+ .fi
7702
+ .sp
7703
+ \fB\-\-match_columns \(aqcontent * 2\(aq\fP means the default target column for
7704
+ fulltext search is \fBcontent\fP column and its weight is 2.
7705
+ .sp
7706
+ Pay attention to \fB_score\fP value. \fB_score\fP value is doubled because
7707
+ weight is 2.
7708
+ .sp
7709
+ You can specify one or more columns as the default target columns for
7710
+ fulltext search. If one or more columns are specified, fulltext search
7711
+ is done for all columns and scores are accumulated. If one of the
7712
+ columns is matched against \fBquery\fP parameter value, the record is
7713
+ treated as matched.
7714
+ .sp
7715
+ To specify one or more columns, \fBcolumn1 * weight1 || column2 *
7716
+ weight2 || ...\fP syntax is used. \fB* weight\fP can be omitted. If it is
7717
+ omitted, 1 is used for weight. Here is a one or more columns usage
7718
+ example.
7719
+ .sp
7720
+ Execution example:
7721
+ .sp
7722
+ .nf
7723
+ .ft C
7724
+ > select Entries \-\-match_columns \(aq_key * 10 || content\(aq \-\-query groonga \-\-output_columns \(aq_key, _score\(aq
7725
+ [
7726
+ [
7727
+ 0,
7728
+ 1335594540.29792,
7729
+ 0.000547885894775391
7730
+ ],
7731
+ [
7732
+ [
7733
+ [
7734
+ 1
7735
+ ],
7736
+ [
7737
+ [
7738
+ "_key",
7739
+ "ShortText"
7740
+ ],
7741
+ [
7742
+ "_score",
7743
+ "Int32"
7744
+ ]
7745
+ ],
7746
+ [
7747
+ "Groonga",
7748
+ 11
7749
+ ]
7750
+ ]
7751
+ ]
7752
+ ]
7753
+ .ft P
7754
+ .fi
7755
+ .sp
7756
+ \fB\-\-match_columns \(aq_key * 10 || content\(aq\fP means the default target
7757
+ columns for fulltext search are \fB_key\fP and \fBcontent\fP columns and
7758
+ \fB_key\fP column\(aqs weight is 10 and \fBcontent\fP column\(aqs weight
7759
+ is 1. This weight allocation means \fB_key\fP column value is more
7760
+ important rather than \fBcontent\fP column value. In this example, title
7761
+ of blog entry is more important rather thatn content of blog entry.
7762
+ .SS \fBquery\fP
7763
+ .sp
7764
+ TODO: write short description and add example.
7765
+ .sp
7766
+ See \fB/spec/query_syntax\fP.
7767
+ .SS \fBfilter\fP
7768
+ .sp
7769
+ TODO: write short description and add example.
7770
+ .sp
7771
+ See \fB/spec/script_syntax\fP.
7772
+ .SS Advanced search parameters
7773
+ .SS \fBmatch_escalation_threshold\fP
7774
+ .sp
7775
+ TODO: add example.
7776
+ .sp
7777
+ It specifies threshold to determine whether search storategy
7778
+ escalation is used or not. The threshold is compared against the
7779
+ number of matched records. If the number of matched records is equal
7780
+ to or less than the threshold, search storategy escalation is
7781
+ used. See \fB/spec/search\fP about search storategy escalation.
7782
+ .sp
7783
+ The default threshold is 0. It means that search storategy escalation
7784
+ is used only when no records are matched.
7785
+ .sp
7786
+ The default threshold can be customized by one of the followings.
5427
7787
  .INDENT 0.0
5428
7788
  .INDENT 3.5
5429
- 以下の形式の文字列によって検索条件を指定します。
7789
+ .INDENT 0.0
7790
+ .IP \(bu 2
7791
+ \fB\-\-with\-match\-escalation\-threshold\fP option of configure
7792
+ .IP \(bu 2
7793
+ \fB\-\-match\-escalation\-threshold\fP option of groogna command
7794
+ .IP \(bu 2
7795
+ \fBmatch\-escalation\-threshold\fP configuration item in configuration
7796
+ file
5430
7797
  .UNINDENT
5431
7798
  .UNINDENT
5432
- .SS 条件式
5433
- .sp
5434
- 以下の条件式が使用できます。
5435
- .INDENT 0.0
5436
- .TP
5437
- .B 文字列
5438
- 全文検索条件(デフォルト検索対象カラムの値が指定された文字列を含んでいる)
5439
- .TP
5440
- .B "文字列"
5441
- フレーズ検索条件(デフォルト検索対象カラムの値が指定されたフレーズを含んでいる)
5442
- .TP
5443
- .B カラム名:値
5444
- 一致条件(カラム値 == 値)
5445
- .TP
5446
- .B カラム名:!値
5447
- 不一致条件(カラム値 != 値)
5448
- .TP
5449
- .B カラム名:<値
5450
- 比較条件(カラム値 < 値)
5451
- .TP
5452
- .B カラム名:>値
5453
- 比較条件(カラム値 > 値)
5454
- .TP
5455
- .B カラム名:<=値
5456
- 比較条件(カラム値 <= 値)
5457
- .TP
5458
- .B カラム名:>=値
5459
- 比較条件(カラム値 >= 値)
5460
- .TP
5461
- .B カラム名:@文字列
5462
- 全文検索条件(カラム値が指定された文字列を含んでいる)
5463
7799
  .UNINDENT
5464
- .SS 結合演算子
7800
+ .SS \fBquery_expansion\fP
5465
7801
  .sp
5466
- 複数の条件式を結合するために以下の演算子が使用できます。
5467
- .INDENT 0.0
5468
- .TP
5469
- .B a OR b
5470
- 論理和(aとbといずれかの条件がマッチする)
5471
- .TP
5472
- .B a + b
5473
- 論理積(aとbの両方がマッチする)
5474
- .TP
5475
- .B a \- b
5476
- aにマッチし、bにはマッチしない
5477
- .TP
5478
- .B ( )
5479
- 複数の条件をまとめる
5480
- .UNINDENT
7802
+ TODO: write in English and add example.
5481
7803
  .sp
5482
- \fBfilter\fP
5483
- .INDENT 0.0
5484
- .INDENT 3.5
5485
- 絞り込み条件をscript形式のgrn_expr文字列によって指定します。
7804
+ It specifies a column that is used to expand (substitute) \fBquery\fP
7805
+ parameter value.
5486
7806
  .sp
5487
- query引数とfilter引数をどちらも指定した場合は、両方の条件を満足するレコードのみがヒットします。どちらも指定しない場合は全件がヒットします。
5488
- .UNINDENT
5489
- .UNINDENT
7807
+ query_expansionパラメータには、queryパラメータに指定された文字列を置換(拡張)する条件となるテーブル・カラムを指定します。フォーマットは「${テーブル名}.${カラム名}」となります。指定するテーブルは文字列を主キーとするハッシュ型あるいはパトリシア木型のテーブルで、一つ以上の文字列型のカラムが定義されている必要があります。(ここでは置換テーブルと呼びます。)
5490
7808
  .sp
5491
- \fBscorer\fP
5492
- .INDENT 0.0
5493
- .INDENT 3.5
5494
- 検索条件にマッチする全てのレコードに対して適用するgrn_exprをscript形式で指定します。
7809
+ queryパラメータに指定された文字列が、指定されたテーブルの主キーと完全一致する場合、その文字列を指定されたカラム値の文字列に置換します。queryパラメータが、空白、括弧、演算子などを含む場合は、その演算子によって区切られた文字列の単位で置換が実行されます。ダブルクォート("")で括られた範囲は、その内部に空白を含んでいても一つの置換される単位と見なされます。検索文字列と置換テーブルの主キー値との比較に際して大文字小文字等を区別したくない場合には、置換テーブルを定義する際にKEY_NORMALIZEを指定します。置換後の文字列となるカラムの値には、括弧や*, ORなど、queryパラメータで利用可能な全ての演算子を指定することができます。
7810
+ .SS Output related parameters
7811
+ .SS \fBoutput_columns\fP
5495
7812
  .sp
5496
- scorerは、検索処理が完了し、ソート処理が実行される前に呼び出されます。従って、各レコードのスコアを操作する式を指定しておけば、検索結果のソート順序をカスタマイズできるようになります。
5497
- .UNINDENT
5498
- .UNINDENT
7813
+ TODO: write in English and add example.
7814
+ .sp
7815
+ 出力するカラム名のリストをカンマ(\(aq,\(aq)区切りで指定します。
7816
+ .sp
7817
+ アスタリスク(\(aq*\(aq)を指定すると、全てのカラムが指定されたものとみなされます。または、script形式のgrn_expr文字列を指定します。 (デフォルトは、\(aq_id, _key, *\(aq)
7818
+ .SS \fBsortby\fP
7819
+ .sp
7820
+ TODO: write in English and add example.
5499
7821
  .sp
5500
- \fBsortby\fP
5501
- .INDENT 0.0
5502
- .INDENT 3.5
5503
7822
  ソートキーとなるカラム名のリストをカンマ(\(aq,\(aq)区切りで指定します。:
5504
7823
  .sp
5505
7824
  .nf
@@ -5511,115 +7830,66 @@ scorerは、検索処理が完了し、ソート処理が実行される前に
5511
7830
  カラム名1の値でソートし、値が同一である場合はカラム名2でソート、と順次比較を行いソートします。カラム名の前に \- を付加した場合は降順にソートします。付加しない場合には昇順にソートします。
5512
7831
  .sp
5513
7832
  query引数またはfilter引数を指定した場合はカラム名に\(aq_score\(aqを使えます。\(aq_score\(aqを指定することでスコアでソートすることができます。query引数もfilter引数も指定していない状態で\(aq_score\(aqを指定するとエラーになります。
5514
- .UNINDENT
5515
- .UNINDENT
5516
- .sp
5517
- \fBoutput_columns\fP
5518
- .INDENT 0.0
5519
- .INDENT 3.5
5520
- 出力するカラム名のリストをカンマ(\(aq,\(aq)区切りで指定します。
7833
+ .SS \fBoffset\fP
5521
7834
  .sp
5522
- アスタリスク(\(aq*\(aq)を指定すると、全てのカラムが指定されたものとみなされます。または、script形式のgrn_expr文字列を指定します。 (デフォルトは、\(aq_id, _key, *\(aq)
5523
- .UNINDENT
5524
- .UNINDENT
7835
+ TODO: write in English and add example.
5525
7836
  .sp
5526
- \fBoffset\fP
5527
- .INDENT 0.0
5528
- .INDENT 3.5
5529
7837
  検索条件にマッチしたレコードのうち、出力対象となる最初のレコードの番号を0ベースで指定します。デフォルト値は0です。offsetに負の値を指定した場合は、ヒットした件数 + offset によって算出される値が指定されたものとみなされます。
5530
- .UNINDENT
5531
- .UNINDENT
7838
+ .SS \fBlimit\fP
7839
+ .sp
7840
+ TODO: write in English and add example.
5532
7841
  .sp
5533
- \fBlimit\fP
5534
- .INDENT 0.0
5535
- .INDENT 3.5
5536
7842
  検索条件にマッチしたレコードのうち、出力を行うレコードの件数を指定します。デフォルト値は10です。実際には、offset + limit がヒットした件数を超えない範囲でレコードが出力されます。limitに負の値を指定した場合は、ヒットした件数 + limit + 1 によって算出される値が指定されたものとみなされます。
5537
- .UNINDENT
5538
- .UNINDENT
7843
+ .SS \fBscorer\fP
7844
+ .sp
7845
+ TODO: write in English and add example.
7846
+ .sp
7847
+ 検索条件にマッチする全てのレコードに対して適用するgrn_exprをscript形式で指定します。
7848
+ .sp
7849
+ scorerは、検索処理が完了し、ソート処理が実行される前に呼び出されます。従って、各レコードのスコアを操作する式を指定しておけば、検索結果のソート順序をカスタマイズできるようになります。
7850
+ .SS Facet related parameters
7851
+ .SS \fBdrilldown\fP
7852
+ .sp
7853
+ TODO: write in English and add example.
5539
7854
  .sp
5540
- \fBdrilldown\fP
5541
- .INDENT 0.0
5542
- .INDENT 3.5
5543
7855
  グループ化のキーとなるカラム名のリストをカンマ(\(aq,\(aq)区切りで指定します。検索条件にマッチした各レコードを出力したのちに、drilldownに指定されたカラムの値が同一であるレコードをとりまとめて、それぞれについて結果レコードを出力します。
5544
- .UNINDENT
5545
- .UNINDENT
7856
+ .SS \fBdrilldown_sortby\fP
7857
+ .sp
7858
+ TODO: write in English and add example.
5546
7859
  .sp
5547
- \fBdrilldown_sortby\fP
5548
- .INDENT 0.0
5549
- .INDENT 3.5
5550
7860
  drilldown条件に指定されたカラムの値毎にとりまとめられたレコードについて、ソートキーとなるカラム名のリストをカンマ(\(aq,\(aq)区切りで指定します。sortbyパラメータと同様に昇降順を指定できます。
5551
- .UNINDENT
5552
- .UNINDENT
7861
+ .SS \fBdrilldown_output_columns\fP
7862
+ .sp
7863
+ TODO: write in English and add example.
5553
7864
  .sp
5554
- \fBdrilldown_output_columns\fP
5555
- .INDENT 0.0
5556
- .INDENT 3.5
5557
7865
  drilldown条件に指定されたカラムの値毎にとりまとめられたレコードについて、出力するカラム名のリストをカンマ(\(aq,\(aq)区切りで指定します。
5558
- .UNINDENT
5559
- .UNINDENT
7866
+ .SS \fBdrilldown_offset\fP
7867
+ .sp
7868
+ TODO: write in English and add example.
5560
7869
  .sp
5561
- \fBdrilldown_offset\fP
5562
- .INDENT 0.0
5563
- .INDENT 3.5
5564
7870
  drilldown条件に指定されたカラムの値毎にとりまとめられたレコードについて、出力対象となる最初のレコードの番号を0ベースで指定します。デフォルト値は0です。drilldown_offsetに負の値を指定した場合は、ヒットした件数 + drilldown_offsetによって算出される値が指定されたものとみなされます。
5565
- .UNINDENT
5566
- .UNINDENT
7871
+ .SS \fBdrilldown_limit\fP
7872
+ .sp
7873
+ TODO: write in English and add example.
5567
7874
  .sp
5568
- \fBdrilldown_limit\fP
5569
- .INDENT 0.0
5570
- .INDENT 3.5
5571
7875
  drilldown条件に指定されたカラムの値毎にとりまとめられたレコードについて、出力を行うレコードの件数を指定します。デフォルト値は10です。実際には、drilldown_offset + drilldown_limit がヒットした件数を超えない範囲でレコードが出力されます。drilldown_limitに負の値を指定した場合は、ヒットした件数 + drilldown_limit + 1 によって算出される値が指定されたものとみなされます。
5572
- .UNINDENT
5573
- .UNINDENT
7876
+ .SS Cache related parameter
7877
+ .SS \fBcache\fP
7878
+ .sp
7879
+ TODO: write in English and add example.
5574
7880
  .sp
5575
- \fBcache\fP
5576
- .INDENT 0.0
5577
- .INDENT 3.5
5578
7881
  クエリキャッシュに関する動作を設定します。
5579
- .INDENT 0.0
5580
- .INDENT 3.5
7882
+ .sp
5581
7883
  \fBno\fP
5582
7884
  .INDENT 0.0
5583
7885
  .INDENT 3.5
5584
7886
  検索結果をクエリキャッシュに残しません。キャッシュして再利用される可能性が低いクエリに対して用います。キャッシュ容量は有限です。有効なキャッシュが多くヒットするために、このパラメータは有効です。
5585
7887
  .UNINDENT
5586
7888
  .UNINDENT
5587
- .UNINDENT
5588
- .UNINDENT
5589
- .UNINDENT
5590
- .UNINDENT
5591
- .sp
5592
- \fBmatch_escalation_threshold\fP
5593
- .INDENT 0.0
5594
- .INDENT 3.5
5595
- 検索の挙動をエスカレーションするかどうかの閾値を設定します。デフォルト値は0です。デフォルト値は以下のいずれかの方法で設定できます。
5596
- .INDENT 0.0
5597
- .INDENT 3.5
5598
- .INDENT 0.0
5599
- .IP \(bu 2
5600
- configureの\-\-with\-match\-escalation\-thresholdオプション
5601
- .IP \(bu 2
5602
- groongaコマンド起動時の\-\-match\-escalation\-thresholdオプション
5603
- .IP \(bu 2
5604
- 設定ファイル中のmatch\-escalation\-threshold設定項目
5605
- .UNINDENT
5606
- .UNINDENT
5607
- .UNINDENT
5608
- .sp
5609
- クエリのヒット件数が閾値を越えない場合は \fB/spec/search\fP で説明している方法で検索方法をエスカレーションしてきます。
5610
- .UNINDENT
5611
- .UNINDENT
5612
- .sp
5613
- \fBquery_expansion\fP
5614
- .INDENT 0.0
5615
- .INDENT 3.5
5616
- query_expansionパラメータには、queryパラメータに指定された文字列を置換(拡張)する条件となるテーブル・カラムを指定します。フォーマットは「${テーブル名}.${カラム名}」となります。指定するテーブルは文字列を主キーとするハッシュ型あるいはパトリシア木型のテーブルで、一つ以上の文字列型のカラムが定義されている必要があります。(ここでは置換テーブルと呼びます。)
5617
- .sp
5618
- queryパラメータに指定された文字列が、指定されたテーブルの主キーと完全一致する場合、その文字列を指定されたカラム値の文字列に置換します。queryパラメータが、空白、括弧、演算子などを含む場合は、その演算子によって区切られた文字列の単位で置換が実行されます。ダブルクォート("")で括られた範囲は、その内部に空白を含んでいても一つの置換される単位と見なされます。検索文字列と置換テーブルの主キー値との比較に際して大文字小文字等を区別したくない場合には、置換テーブルを定義する際にKEY_NORMALIZEを指定します。置換後の文字列となるカラムの値には、括弧や*, ORなど、queryパラメータで利用可能な全ての演算子を指定することができます。
5619
- .UNINDENT
5620
- .UNINDENT
5621
7889
  .SS 返値
5622
7890
  .sp
7891
+ TODO: write in English and add example.
7892
+ .sp
5623
7893
  以下のようなjson形式で値が返却されます。
5624
7894
  .sp
5625
7895
  .nf
@@ -5731,20 +8001,17 @@ drilldown_output_columns, drilldown_offset, drilldown_limitによって指定さ
5731
8001
  .UNINDENT
5732
8002
  .UNINDENT
5733
8003
  .UNINDENT
5734
- .SS
5735
- .sp
5736
- テーブルEntryの全レコード・全カラムの値を出力します。:
5737
- .sp
5738
- .nf
5739
- .ft C
5740
- select Entry
5741
-
5742
- [[[2],[["_id", "UInt32"],["_key","ShortText"],["body","ShortText"]],[1,"abandon","放棄する"],[2,"abbreviate","短縮する"]]]
5743
- .ft P
5744
- .fi
5745
- .SS 関連項目
5746
- .sp
5747
- \fB../expr\fP
8004
+ .SS See also
8005
+ .INDENT 0.0
8006
+ .INDENT 3.5
8007
+ .INDENT 0.0
8008
+ .IP \(bu 2
8009
+ \fB/spec/query_syntax\fP
8010
+ .IP \(bu 2
8011
+ \fB/spec/script_syntax\fP
8012
+ .UNINDENT
8013
+ .UNINDENT
8014
+ .UNINDENT
5748
8015
  .SS shutdown
5749
8016
  .SS 名前
5750
8017
  .sp
@@ -6090,7 +8357,7 @@ Execution example:
6090
8357
  > {"sequence": "1", "time": 1312950804.76057, "item": "engin"},
6091
8358
  > {"sequence": "1", "time": 1312950805.86057, "item": "engine", "type": "submit"}
6092
8359
  > ]
6093
- [[0,1317212843.70335,1.584911917],6]
8360
+ [[0,1335519584.62528,1.57926440238953],6]
6094
8361
  .ft P
6095
8362
  .fi
6096
8363
  .sp
@@ -6111,7 +8378,7 @@ Execution example:
6111
8378
  > {"sequence": "2", "time": 1312950809.76057, "item": "serch"},
6112
8379
  > {"sequence": "2", "time": 1312950810.86057, "item": "search", "type": "submit"}
6113
8380
  > ]
6114
- [[0,1317212845.48948,2.003051709],8]
8381
+ [[0,1335519586.4057,2.00371694564819],8]
6115
8382
  .ft P
6116
8383
  .fi
6117
8384
  .sp
@@ -6126,7 +8393,7 @@ Execution example:
6126
8393
  > {"sequence": "3", "time": 1312950803.86057, "item": "search engine", "type": "submit"},
6127
8394
  > {"sequence": "3", "time": 1312950808.86057, "item": "web search realtime", "type": "submit"}
6128
8395
  > ]
6129
- [[0,1317212847.69365,0.801326259],2]
8396
+ [[0,1335519588.61046,0.801591634750366],2]
6130
8397
  .ft P
6131
8398
  .fi
6132
8399
  .sp
@@ -6137,7 +8404,34 @@ Execution example:
6137
8404
  .nf
6138
8405
  .ft C
6139
8406
  > suggest \-\-table item_query \-\-column kana \-\-types complete \-\-frequency_threshold 1 \-\-query en
6140
- [[0,1317212848.69611,0.00164469],{"complete":[[1],[["_key","ShortText"],["_score","Int32"]],["engine",1]]}]
8407
+ [
8408
+ [
8409
+ 0,
8410
+ 1335519589.6131,
8411
+ 0.000982522964477539
8412
+ ],
8413
+ {
8414
+ "complete": [
8415
+ [
8416
+ 1
8417
+ ],
8418
+ [
8419
+ [
8420
+ "_key",
8421
+ "ShortText"
8422
+ ],
8423
+ [
8424
+ "_score",
8425
+ "Int32"
8426
+ ]
8427
+ ],
8428
+ [
8429
+ "engine",
8430
+ 1
8431
+ ]
8432
+ ]
8433
+ }
8434
+ ]
6141
8435
  .ft P
6142
8436
  .fi
6143
8437
  .sp
@@ -6148,7 +8442,34 @@ Execution example:
6148
8442
  .nf
6149
8443
  .ft C
6150
8444
  > suggest \-\-table item_query \-\-column kana \-\-types correct \-\-frequency_threshold 1 \-\-query saerch
6151
- [[0,1317212848.8995,0.00037794],{"correct":[[1],[["_key","ShortText"],["_score","Int32"]],["search",1]]}]
8445
+ [
8446
+ [
8447
+ 0,
8448
+ 1335519589.81612,
8449
+ 0.000555992126464844
8450
+ ],
8451
+ {
8452
+ "correct": [
8453
+ [
8454
+ 1
8455
+ ],
8456
+ [
8457
+ [
8458
+ "_key",
8459
+ "ShortText"
8460
+ ],
8461
+ [
8462
+ "_score",
8463
+ "Int32"
8464
+ ]
8465
+ ],
8466
+ [
8467
+ "search",
8468
+ 1
8469
+ ]
8470
+ ]
8471
+ }
8472
+ ]
6152
8473
  .ft P
6153
8474
  .fi
6154
8475
  .sp
@@ -6159,7 +8480,38 @@ Execution example:
6159
8480
  .nf
6160
8481
  .ft C
6161
8482
  > suggest \-\-table item_query \-\-column kana \-\-types suggest \-\-frequency_threshold 1 \-\-query search
6162
- [[0,1317212849.10158,0.000376811],{"suggest":[[2],[["_key","ShortText"],["_score","Int32"]],["search engine",1],["web search realtime",1]]}]
8483
+ [
8484
+ [
8485
+ 0,
8486
+ 1335519590.01861,
8487
+ 0.000383615493774414
8488
+ ],
8489
+ {
8490
+ "suggest": [
8491
+ [
8492
+ 2
8493
+ ],
8494
+ [
8495
+ [
8496
+ "_key",
8497
+ "ShortText"
8498
+ ],
8499
+ [
8500
+ "_score",
8501
+ "Int32"
8502
+ ]
8503
+ ],
8504
+ [
8505
+ "search engine",
8506
+ 1
8507
+ ],
8508
+ [
8509
+ "web search realtime",
8510
+ 1
8511
+ ]
8512
+ ]
8513
+ }
8514
+ ]
6163
8515
  .ft P
6164
8516
  .fi
6165
8517
  .sp
@@ -6170,7 +8522,80 @@ Execution example:
6170
8522
  .nf
6171
8523
  .ft C
6172
8524
  > suggest \-\-table item_query \-\-column kana \-\-types complete|correct|suggest \-\-frequency_threshold 1 \-\-query search
6173
- [[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]]}]
8525
+ [
8526
+ [
8527
+ 0,
8528
+ 1335519590.22114,
8529
+ 0.00113773345947266
8530
+ ],
8531
+ {
8532
+ "suggest": [
8533
+ [
8534
+ 2
8535
+ ],
8536
+ [
8537
+ [
8538
+ "_key",
8539
+ "ShortText"
8540
+ ],
8541
+ [
8542
+ "_score",
8543
+ "Int32"
8544
+ ]
8545
+ ],
8546
+ [
8547
+ "search engine",
8548
+ 1
8549
+ ],
8550
+ [
8551
+ "web search realtime",
8552
+ 1
8553
+ ]
8554
+ ],
8555
+ "complete": [
8556
+ [
8557
+ 2
8558
+ ],
8559
+ [
8560
+ [
8561
+ "_key",
8562
+ "ShortText"
8563
+ ],
8564
+ [
8565
+ "_score",
8566
+ "Int32"
8567
+ ]
8568
+ ],
8569
+ [
8570
+ "search",
8571
+ 2
8572
+ ],
8573
+ [
8574
+ "search engine",
8575
+ 2
8576
+ ]
8577
+ ],
8578
+ "correct": [
8579
+ [
8580
+ 1
8581
+ ],
8582
+ [
8583
+ [
8584
+ "_key",
8585
+ "ShortText"
8586
+ ],
8587
+ [
8588
+ "_score",
8589
+ "Int32"
8590
+ ]
8591
+ ],
8592
+ [
8593
+ "search",
8594
+ 2
8595
+ ]
8596
+ ]
8597
+ }
8598
+ ]
6174
8599
  .ft P
6175
8600
  .fi
6176
8601
  .SS SEE ALSO
@@ -7164,11 +9589,11 @@ Execution example:
7164
9589
  .nf
7165
9590
  .ft C
7166
9591
  > table_create Tweets TABLE_NO_KEY
7167
- [[0,1330339027.61804,0.000236272811889648],true]
9592
+ [[0,1335519575.12183,0.000383138656616211],true]
7168
9593
  > column_create Tweets content COLUMN_SCALAR ShortText
7169
- [[0,1330339027.81905,0.000560760498046875],true]
9594
+ [[0,1335519575.32371,0.000842571258544922],true]
7170
9595
  > table_create Lexicon TABLE_HASH_KEY|KEY_NORMALIZE ShortText \-\-default_tokenizer TokenBigram
7171
- [[0,1330339028.02028,0.000248432159423828],true]
9596
+ [[0,1335519575.52538,0.000417470932006836],true]
7172
9597
  .ft P
7173
9598
  .fi
7174
9599
  .sp
@@ -7184,7 +9609,7 @@ Execution example:
7184
9609
  > {"content":"I just start it!"},
7185
9610
  > {"content":"I\(aqm sleepy... Have a nice day... Good night..."}
7186
9611
  > ]
7187
- [[0,1330339028.22155,1.00183534622192],3]
9612
+ [[0,1335519575.72702,1.00192642211914],3]
7188
9613
  .ft P
7189
9614
  .fi
7190
9615
  .sp
@@ -7195,7 +9620,30 @@ Execution example:
7195
9620
  .nf
7196
9621
  .ft C
7197
9622
  > select Tweets \-\-match_columns content \-\-query \(aqgood nice\(aq
7198
- [[0,1330339029.42452,0.000802278518676758],[[[0],[["_id","UInt32"],["content","ShortText"]]]]]
9623
+ [
9624
+ [
9625
+ 0,
9626
+ 1335519576.93011,
9627
+ 0.000945568084716797
9628
+ ],
9629
+ [
9630
+ [
9631
+ [
9632
+ 0
9633
+ ],
9634
+ [
9635
+ [
9636
+ "_id",
9637
+ "UInt32"
9638
+ ],
9639
+ [
9640
+ "content",
9641
+ "ShortText"
9642
+ ]
9643
+ ]
9644
+ ]
9645
+ ]
9646
+ ]
7199
9647
  .ft P
7200
9648
  .fi
7201
9649
  .sp
@@ -7208,7 +9656,7 @@ Execution example:
7208
9656
  .nf
7209
9657
  .ft C
7210
9658
  > column_create Lexicon tweet COLUMN_INDEX|WITH_POSITION Tweets content
7211
- [[0,1330339029.62682,0.00742125511169434],true]
9659
+ [[0,1335519577.13347,0.00795507431030273],true]
7212
9660
  .ft P
7213
9661
  .fi
7214
9662
  .sp
@@ -7219,7 +9667,34 @@ Execution example:
7219
9667
  .nf
7220
9668
  .ft C
7221
9669
  > select Tweets \-\-match_columns content \-\-query \(aqgood nice\(aq
7222
- [[0,1330339029.83545,0.000765085220336914],[[[1],[["_id","UInt32"],["content","ShortText"]],[3,"I\(aqm sleepy... Have a nice day... Good night..."]]]]
9670
+ [
9671
+ [
9672
+ 0,
9673
+ 1335519577.34259,
9674
+ 0.000716209411621094
9675
+ ],
9676
+ [
9677
+ [
9678
+ [
9679
+ 1
9680
+ ],
9681
+ [
9682
+ [
9683
+ "_id",
9684
+ "UInt32"
9685
+ ],
9686
+ [
9687
+ "content",
9688
+ "ShortText"
9689
+ ]
9690
+ ],
9691
+ [
9692
+ 3,
9693
+ "I\(aqm sleepy... Have a nice day... Good night..."
9694
+ ]
9695
+ ]
9696
+ ]
9697
+ ]
7223
9698
  .ft P
7224
9699
  .fi
7225
9700
  .sp
@@ -7235,7 +9710,7 @@ Execution example:
7235
9710
  > {"content":"Good morning! Nice day."},
7236
9711
  > {"content":"Let\(aqs go shopping."}
7237
9712
  > ]
7238
- [[0,1330339030.03821,0.801372528076172],2]
9713
+ [[0,1335519577.54547,0.801515579223633],2]
7239
9714
  .ft P
7240
9715
  .fi
7241
9716
  .sp
@@ -7246,7 +9721,38 @@ Execution example:
7246
9721
  .nf
7247
9722
  .ft C
7248
9723
  > select Tweets \-\-match_columns content \-\-query \(aqgood nice\(aq
7249
- [[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."]]]]
9724
+ [
9725
+ [
9726
+ 0,
9727
+ 1335519578.54813,
9728
+ 0.000664234161376953
9729
+ ],
9730
+ [
9731
+ [
9732
+ [
9733
+ 2
9734
+ ],
9735
+ [
9736
+ [
9737
+ "_id",
9738
+ "UInt32"
9739
+ ],
9740
+ [
9741
+ "content",
9742
+ "ShortText"
9743
+ ]
9744
+ ],
9745
+ [
9746
+ 3,
9747
+ "I\(aqm sleepy... Have a nice day... Good night..."
9748
+ ],
9749
+ [
9750
+ 4,
9751
+ "Good morning! Nice day."
9752
+ ]
9753
+ ]
9754
+ ]
9755
+ ]
7250
9756
  .ft P
7251
9757
  .fi
7252
9758
  .SS Log
@@ -7531,6 +10037,61 @@ Example:
7531
10037
  .ft P
7532
10038
  .fi
7533
10039
  .SH 仕様
10040
+ .SS Query syntax
10041
+ .sp
10042
+ TODO: revised.
10043
+ .sp
10044
+ 一般的なWebページの検索フォームで使われるような書式を使って検索条件を指定することができます。これをクエリ構文と呼びます。
10045
+ .sp
10046
+ クエリ構文は「条件式」と条件式を組み合わせる「結合式」からなります。
10047
+ .SS 条件式
10048
+ .sp
10049
+ 以下の条件式が使用できます。
10050
+ .SS \fB文字列\fP
10051
+ .sp
10052
+ 全文検索条件(デフォルト検索対象カラムの値が指定された文字列を含んでいる)
10053
+ .SS \fB"文字列"\fP
10054
+ .sp
10055
+ フレーズ検索条件(デフォルト検索対象カラムの値が指定されたフレーズを含んでいる)
10056
+ .SS \fBカラム名:値\fP
10057
+ .sp
10058
+ 一致条件( \fBカラム値 == 値\fP )
10059
+ .SS \fBカラム名:!値\fP
10060
+ .sp
10061
+ 不一致条件( \fBカラム値 != 値\fP )
10062
+ .SS \fBカラム名:<値\fP
10063
+ .sp
10064
+ 比較条件( \fBカラム値 < 値\fP )
10065
+ .SS \fBカラム名:>値\fP
10066
+ .sp
10067
+ 比較条件( \fBカラム値 > 値\fP )
10068
+ .SS \fBカラム名:<=値\fP
10069
+ .sp
10070
+ 比較条件( \fBカラム値 <= 値\fP )
10071
+ .SS \fBカラム名:>=値\fP
10072
+ .sp
10073
+ 比較条件( \fBカラム値 >= 値\fP )
10074
+ .SS \fBカラム名:@文字列\fP
10075
+ .sp
10076
+ 全文検索条件(カラム値が指定された文字列を含んでいる)
10077
+ .SS 結合演算子
10078
+ .sp
10079
+ 複数の条件式を結合するために以下の演算子が使用できます。
10080
+ .SS \fBa OR b\fP
10081
+ .sp
10082
+ 論理和( \fBa\fP と \fBb\fP といずれかの条件がマッチする)
10083
+ .SS \fBa + b\fP
10084
+ .sp
10085
+ 論理積( \fBa\fP と \fBb\fP の両方がマッチする)
10086
+ .SS \fBa \- b\fP
10087
+ .sp
10088
+ \fBa\fP にマッチし、 \fBb\fP にはマッチしない
10089
+ .SS \fB(...)\fP
10090
+ .sp
10091
+ 複数の条件をまとめる
10092
+ .SS Script Syntax
10093
+ .sp
10094
+ TODO...
7534
10095
  .SS 検索
7535
10096
  .sp
7536
10097
  \fB/commands/select\fP コマンドがqueryパラメータを使ってどのように検索するのかを説明します。