rroonga 5.0.0-x64-mingw32 → 5.0.1-x64-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (733) hide show
  1. checksums.yaml +8 -8
  2. data/.yardopts +1 -0
  3. data/Rakefile +1 -16
  4. data/example/bookmark.rb +1 -6
  5. data/example/index-html.rb +0 -1
  6. data/ext/groonga/extconf.rb +4 -7
  7. data/ext/groonga/rb-grn-array.c +1 -1
  8. data/ext/groonga/rb-grn-column.c +33 -67
  9. data/ext/groonga/rb-grn-context.c +5 -5
  10. data/ext/groonga/rb-grn-database.c +2 -2
  11. data/ext/groonga/rb-grn-double-array-trie.c +4 -2
  12. data/ext/groonga/rb-grn-encoding-support.c +7 -1
  13. data/ext/groonga/rb-grn-equal-operator.c +85 -0
  14. data/ext/groonga/rb-grn-exception.c +17 -0
  15. data/ext/groonga/rb-grn-expression.c +85 -43
  16. data/ext/groonga/rb-grn-greater-equal-operator.c +88 -0
  17. data/ext/groonga/rb-grn-greater-operator.c +85 -0
  18. data/ext/groonga/rb-grn-hash.c +1 -1
  19. data/ext/groonga/rb-grn-index-column.c +150 -11
  20. data/ext/groonga/rb-grn-less-equal-operator.c +88 -0
  21. data/ext/groonga/rb-grn-less-operator.c +85 -0
  22. data/ext/groonga/rb-grn-logger.c +5 -5
  23. data/ext/groonga/rb-grn-match-operator.c +86 -0
  24. data/ext/groonga/rb-grn-normalizer.c +8 -1
  25. data/ext/groonga/rb-grn-not-equal-operator.c +85 -0
  26. data/ext/groonga/rb-grn-object.c +170 -36
  27. data/ext/groonga/rb-grn-operator.c +395 -172
  28. data/ext/groonga/rb-grn-patricia-trie.c +10 -8
  29. data/ext/groonga/rb-grn-plugin.c +51 -3
  30. data/ext/groonga/rb-grn-prefix-operator.c +86 -0
  31. data/ext/groonga/rb-grn-procedure-type.c +4 -0
  32. data/ext/groonga/rb-grn-query-logger.c +4 -4
  33. data/ext/groonga/rb-grn-regexp-operator.c +85 -0
  34. data/ext/groonga/rb-grn-snippet.c +1 -1
  35. data/ext/groonga/rb-grn-table-key-support.c +9 -5
  36. data/ext/groonga/rb-grn-table.c +52 -66
  37. data/ext/groonga/rb-grn-type.c +1 -1
  38. data/ext/groonga/rb-grn-utils.c +22 -3
  39. data/ext/groonga/rb-grn.h +31 -4
  40. data/ext/groonga/rb-groonga.c +9 -9
  41. data/lib/1.9/groonga.so +0 -0
  42. data/lib/2.0/groonga.so +0 -0
  43. data/lib/2.1/groonga.so +0 -0
  44. data/lib/2.2/groonga.so +0 -0
  45. data/lib/groonga/context.rb +31 -0
  46. data/lib/groonga/expression-builder.rb +14 -1
  47. data/lib/groonga/record.rb +10 -8
  48. data/lib/groonga/schema.rb +3 -1
  49. data/rroonga-build.rb +2 -2
  50. data/rroonga.gemspec +3 -3
  51. data/test/groonga-test-utils.rb +4 -0
  52. data/test/test-column.rb +28 -26
  53. data/test/test-exception.rb +1 -0
  54. data/test/test-expression-builder.rb +83 -1
  55. data/test/test-expression.rb +80 -48
  56. data/test/test-index-column.rb +102 -29
  57. data/test/test-normalizer.rb +35 -29
  58. data/test/test-operator.rb +214 -0
  59. data/test/test-plugin.rb +24 -6
  60. data/test/test-procedure.rb +29 -0
  61. data/test/test-schema-type.rb +14 -0
  62. data/test/test-table-select-mecab.rb +1 -4
  63. data/test/test-table.rb +7 -0
  64. data/test/test-token-regexp.rb +30 -0
  65. data/test/test-type.rb +24 -0
  66. data/vendor/local/bin/grndb.exe +0 -0
  67. data/vendor/local/bin/groonga-benchmark.exe +0 -0
  68. data/vendor/local/bin/groonga.exe +0 -0
  69. data/vendor/local/bin/libgcc_s_seh-1.dll +0 -0
  70. data/vendor/local/bin/libgroonga-0.dll +0 -0
  71. data/vendor/local/bin/libmecab-1.dll +0 -0
  72. data/vendor/local/bin/libmsgpack-3.dll +0 -0
  73. data/vendor/local/bin/libmsgpackc-2.dll +0 -0
  74. data/vendor/local/bin/libonig-5.dll +0 -0
  75. data/vendor/local/bin/libstdc++-6.dll +0 -0
  76. data/vendor/local/bin/lz4.exe +0 -0
  77. data/vendor/local/bin/lz4c.exe +0 -0
  78. data/vendor/local/bin/lz4cat +0 -0
  79. data/vendor/local/bin/mecab-config +2 -2
  80. data/vendor/local/bin/mecab.exe +0 -0
  81. data/vendor/local/bin/onig-config +1 -1
  82. data/vendor/local/bin/zlib1.dll +0 -0
  83. data/vendor/local/etc/groonga/groonga.conf +1 -1
  84. data/vendor/local/etc/groonga/httpd/groonga-httpd.conf +2 -2
  85. data/vendor/local/include/groonga/groonga/expr.h +2 -0
  86. data/vendor/local/include/groonga/groonga/groonga.h +32 -5
  87. data/vendor/local/include/groonga/groonga/ii.h +7 -0
  88. data/vendor/local/include/groonga/groonga/obj.h +37 -0
  89. data/vendor/local/include/groonga/groonga/scorer.h +95 -0
  90. data/vendor/local/include/groonga/groonga.h +1 -0
  91. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.a +0 -0
  92. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.dll +0 -0
  93. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.dll.a +0 -0
  94. data/vendor/local/lib/groonga/plugins/query_expanders/tsv.la +2 -2
  95. data/vendor/local/lib/groonga/plugins/ruby/eval.a +0 -0
  96. data/vendor/local/lib/groonga/plugins/ruby/eval.dll +0 -0
  97. data/vendor/local/lib/groonga/plugins/ruby/eval.dll.a +0 -0
  98. data/vendor/local/lib/groonga/plugins/ruby/eval.la +2 -2
  99. data/vendor/local/lib/groonga/plugins/ruby/load.a +0 -0
  100. data/vendor/local/lib/groonga/plugins/ruby/load.dll +0 -0
  101. data/vendor/local/lib/groonga/plugins/ruby/load.dll.a +0 -0
  102. data/vendor/local/lib/groonga/plugins/ruby/load.la +2 -2
  103. data/vendor/local/lib/groonga/plugins/sharding/logical_count.rb +6 -3
  104. data/vendor/local/lib/groonga/plugins/sharding/logical_enumerator.rb +6 -5
  105. data/vendor/local/lib/groonga/plugins/sharding/logical_range_filter.rb +421 -17
  106. data/vendor/local/lib/groonga/plugins/suggest/suggest.a +0 -0
  107. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll +0 -0
  108. data/vendor/local/lib/groonga/plugins/suggest/suggest.dll.a +0 -0
  109. data/vendor/local/lib/groonga/plugins/suggest/suggest.la +2 -2
  110. data/vendor/local/lib/groonga/plugins/table/table.a +0 -0
  111. data/vendor/local/lib/groonga/plugins/table/table.dll +0 -0
  112. data/vendor/local/lib/groonga/plugins/table/table.dll.a +0 -0
  113. data/vendor/local/lib/groonga/plugins/table/table.la +2 -2
  114. data/vendor/local/lib/groonga/plugins/token_filters/stop_word.a +0 -0
  115. data/vendor/local/lib/groonga/plugins/token_filters/stop_word.dll +0 -0
  116. data/vendor/local/lib/groonga/plugins/token_filters/stop_word.dll.a +0 -0
  117. data/vendor/local/lib/groonga/plugins/token_filters/stop_word.la +2 -2
  118. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.a +0 -0
  119. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll +0 -0
  120. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll.a +0 -0
  121. data/vendor/local/lib/groonga/plugins/tokenizers/mecab.la +2 -2
  122. data/vendor/local/lib/groonga/scripts/ruby/backtrace_entry.rb +12 -4
  123. data/vendor/local/lib/groonga/scripts/ruby/database.rb +11 -3
  124. data/vendor/local/lib/groonga/scripts/ruby/expression.rb +23 -0
  125. data/vendor/local/lib/groonga/scripts/ruby/expression_size_estimator.rb +158 -0
  126. data/vendor/local/lib/groonga/scripts/ruby/index_column.rb +39 -0
  127. data/vendor/local/lib/groonga/scripts/ruby/initialize/post.rb +4 -0
  128. data/vendor/local/lib/groonga/scripts/ruby/initialize/pre.rb +2 -0
  129. data/vendor/local/lib/groonga/scripts/ruby/logger.rb +11 -7
  130. data/vendor/local/lib/groonga/scripts/ruby/object.rb +11 -0
  131. data/vendor/local/lib/groonga/scripts/ruby/operator.rb +22 -0
  132. data/vendor/local/lib/groonga/scripts/ruby/scan_info.rb +7 -2
  133. data/vendor/local/lib/groonga/scripts/ruby/scan_info_builder.rb +7 -11
  134. data/vendor/local/lib/groonga/scripts/ruby/scan_info_data.rb +137 -34
  135. data/vendor/local/lib/groonga/scripts/ruby/scan_info_search_index.rb +9 -0
  136. data/vendor/local/lib/libgroonga.a +0 -0
  137. data/vendor/local/lib/libgroonga.dll.a +0 -0
  138. data/vendor/local/lib/libgroonga.la +2 -2
  139. data/vendor/local/lib/liblz4.a +0 -0
  140. data/vendor/local/lib/liblz4.dll +0 -0
  141. data/vendor/local/lib/liblz4.dll.1 +0 -0
  142. data/vendor/local/lib/liblz4.dll.1.5.0 +0 -0
  143. data/vendor/local/lib/libmecab.a +0 -0
  144. data/vendor/local/lib/libmecab.dll.a +0 -0
  145. data/vendor/local/lib/libmecab.la +2 -2
  146. data/vendor/local/lib/libmsgpack.a +0 -0
  147. data/vendor/local/lib/libmsgpack.dll.a +0 -0
  148. data/vendor/local/lib/libmsgpack.la +2 -2
  149. data/vendor/local/lib/libmsgpackc.a +0 -0
  150. data/vendor/local/lib/libmsgpackc.dll.a +0 -0
  151. data/vendor/local/lib/libmsgpackc.la +2 -2
  152. data/vendor/local/lib/libonig.a +0 -0
  153. data/vendor/local/lib/libonig.dll.a +0 -0
  154. data/vendor/local/lib/libonig.la +2 -2
  155. data/vendor/local/lib/libz.a +0 -0
  156. data/vendor/local/lib/libz.dll.a +0 -0
  157. data/vendor/local/lib/pkgconfig/groonga.pc +3 -3
  158. data/vendor/local/lib/pkgconfig/liblz4.pc +5 -5
  159. data/vendor/local/lib/pkgconfig/msgpack.pc +1 -1
  160. data/vendor/local/lib/pkgconfig/oniguruma.pc +6 -6
  161. data/vendor/local/lib/pkgconfig/zlib.pc +3 -3
  162. data/vendor/local/libexec/mecab/mecab-cost-train.exe +0 -0
  163. data/vendor/local/libexec/mecab/mecab-dict-gen.exe +0 -0
  164. data/vendor/local/libexec/mecab/mecab-dict-index.exe +0 -0
  165. data/vendor/local/libexec/mecab/mecab-system-eval.exe +0 -0
  166. data/vendor/local/libexec/mecab/mecab-test-gen.exe +0 -0
  167. data/vendor/local/sbin/groonga-httpd-restart +1 -1
  168. data/vendor/local/sbin/groonga-httpd.exe +0 -0
  169. data/vendor/local/share/doc/groonga/en/html/.buildinfo +1 -1
  170. data/vendor/local/share/doc/groonga/en/html/_images/used-when-indexing.png +0 -0
  171. data/vendor/local/share/doc/groonga/en/html/_images/used-when-searching.png +0 -0
  172. data/vendor/local/share/doc/groonga/en/html/_sources/characteristic.txt +1 -1
  173. data/vendor/local/share/doc/groonga/en/html/_sources/contribution/development/release.txt +32 -17
  174. data/vendor/local/share/doc/groonga/en/html/_sources/install/centos.txt +3 -3
  175. data/vendor/local/share/doc/groonga/en/html/_sources/install/debian.txt +3 -3
  176. data/vendor/local/share/doc/groonga/en/html/_sources/install/fedora.txt +4 -4
  177. data/vendor/local/share/doc/groonga/en/html/_sources/install/mac_os_x.txt +3 -3
  178. data/vendor/local/share/doc/groonga/en/html/_sources/install/others.txt +3 -3
  179. data/vendor/local/share/doc/groonga/en/html/_sources/install/solaris.txt +3 -3
  180. data/vendor/local/share/doc/groonga/en/html/_sources/install/ubuntu.txt +3 -3
  181. data/vendor/local/share/doc/groonga/en/html/_sources/install/windows.txt +9 -9
  182. data/vendor/local/share/doc/groonga/en/html/_sources/news/1.0.x.txt +1 -1
  183. data/vendor/local/share/doc/groonga/en/html/_sources/news/3.x.txt +2 -2
  184. data/vendor/local/share/doc/groonga/en/html/_sources/news/4.x.txt +2 -2
  185. data/vendor/local/share/doc/groonga/en/html/_sources/news.txt +194 -0
  186. data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_ctx.txt +42 -0
  187. data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/overview.txt +54 -0
  188. data/vendor/local/share/doc/groonga/en/html/_sources/reference/api.txt +3 -0
  189. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/cache_limit.txt +1 -1
  190. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/column_create.txt +2 -2
  191. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/column_list.txt +1 -1
  192. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/column_rename.txt +3 -3
  193. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/delete.txt +4 -4
  194. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/load.txt +5 -5
  195. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/lock_clear.txt +4 -4
  196. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/logical_count.txt +173 -0
  197. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/logical_range_filter.txt +112 -0
  198. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/normalize.txt +7 -6
  199. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/plugin_register.txt +64 -0
  200. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/plugin_unregister.txt +63 -0
  201. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/register.txt +11 -1
  202. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/request_cancel.txt +3 -2
  203. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/ruby_eval.txt +1 -1
  204. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/ruby_load.txt +1 -1
  205. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/select.txt +17 -17
  206. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/suggest.txt +12 -12
  207. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/table_create.txt +7 -7
  208. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/table_tokenize.txt +4 -4
  209. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/tokenize.txt +6 -6
  210. data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/truncate.txt +1 -1
  211. data/vendor/local/share/doc/groonga/en/html/_sources/reference/executables/groonga.txt +47 -26
  212. data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/between.txt +5 -5
  213. data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/geo_distance.txt +3 -3
  214. data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/highlight_full.txt +6 -6
  215. data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/highlight_html.txt +1 -1
  216. data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/html_untag.txt +1 -1
  217. data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/in_values.txt +54 -2
  218. data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/query.txt +4 -4
  219. data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/sub_filter.txt +4 -4
  220. data/vendor/local/share/doc/groonga/en/html/_sources/reference/grn_expr/query_syntax.txt +44 -18
  221. data/vendor/local/share/doc/groonga/en/html/_sources/reference/grn_expr/script_syntax.txt +41 -11
  222. data/vendor/local/share/doc/groonga/en/html/_sources/reference/indexing.txt +2 -0
  223. data/vendor/local/share/doc/groonga/en/html/_sources/reference/normalizers.txt +4 -0
  224. data/vendor/local/share/doc/groonga/en/html/_sources/reference/operations.txt +2 -1
  225. data/vendor/local/share/doc/groonga/en/html/_sources/reference/regular_expression.txt +403 -0
  226. data/vendor/local/share/doc/groonga/en/html/_sources/reference/scorer.txt +217 -0
  227. data/vendor/local/share/doc/groonga/en/html/_sources/reference/scorers/scorer_tf_at_most.txt +22 -0
  228. data/vendor/local/share/doc/groonga/en/html/_sources/reference/scorers/scorer_tf_idf.txt +110 -0
  229. data/vendor/local/share/doc/groonga/en/html/_sources/reference/scoring_note.txt +13 -0
  230. data/vendor/local/share/doc/groonga/en/html/_sources/reference/tables.txt +8 -0
  231. data/vendor/local/share/doc/groonga/en/html/_sources/reference/tokenizers.txt +530 -16
  232. data/vendor/local/share/doc/groonga/en/html/_sources/reference.txt +2 -0
  233. data/vendor/local/share/doc/groonga/en/html/_sources/server/memcached.txt +15 -0
  234. data/vendor/local/share/doc/groonga/en/html/_sources/server.txt +2 -1
  235. data/vendor/local/share/doc/groonga/en/html/_sources/spec/gqtp.txt +66 -1
  236. data/vendor/local/share/doc/groonga/en/html/_sources/troubleshooting/different_results_with_the_same_keyword.txt +1 -1
  237. data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/network.txt +0 -81
  238. data/vendor/local/share/doc/groonga/en/html/_static/basic.css +6 -68
  239. data/vendor/local/share/doc/groonga/en/html/_static/doctools.js +1 -26
  240. data/vendor/local/share/doc/groonga/en/html/_static/down-pressed.png +0 -0
  241. data/vendor/local/share/doc/groonga/en/html/_static/down.png +0 -0
  242. data/vendor/local/share/doc/groonga/en/html/_static/file.png +0 -0
  243. data/vendor/local/share/doc/groonga/en/html/_static/jquery.js +9404 -4
  244. data/vendor/local/share/doc/groonga/en/html/_static/minus.png +0 -0
  245. data/vendor/local/share/doc/groonga/en/html/_static/plus.png +0 -0
  246. data/vendor/local/share/doc/groonga/en/html/_static/searchtools.js +2 -2
  247. data/vendor/local/share/doc/groonga/en/html/_static/underscore.js +1415 -31
  248. data/vendor/local/share/doc/groonga/en/html/_static/up-pressed.png +0 -0
  249. data/vendor/local/share/doc/groonga/en/html/_static/up.png +0 -0
  250. data/vendor/local/share/doc/groonga/en/html/_static/websupport.js +15 -15
  251. data/vendor/local/share/doc/groonga/en/html/characteristic.html +18 -20
  252. data/vendor/local/share/doc/groonga/en/html/client.html +22 -24
  253. data/vendor/local/share/doc/groonga/en/html/community.html +17 -19
  254. data/vendor/local/share/doc/groonga/en/html/contribution/development/com.html +17 -19
  255. data/vendor/local/share/doc/groonga/en/html/contribution/development/cooperation.html +17 -19
  256. data/vendor/local/share/doc/groonga/en/html/contribution/development/query.html +17 -19
  257. data/vendor/local/share/doc/groonga/en/html/contribution/development/release.html +51 -38
  258. data/vendor/local/share/doc/groonga/en/html/contribution/development/repository.html +17 -19
  259. data/vendor/local/share/doc/groonga/en/html/contribution/development/test.html +17 -19
  260. data/vendor/local/share/doc/groonga/en/html/contribution/development.html +17 -19
  261. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/c-api.html +17 -19
  262. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/i18n.html +17 -19
  263. data/vendor/local/share/doc/groonga/en/html/contribution/documentation/introduction.html +24 -26
  264. data/vendor/local/share/doc/groonga/en/html/contribution/documentation.html +17 -19
  265. data/vendor/local/share/doc/groonga/en/html/contribution/report.html +17 -19
  266. data/vendor/local/share/doc/groonga/en/html/contribution.html +18 -20
  267. data/vendor/local/share/doc/groonga/en/html/development/travis-ci.html +24 -26
  268. data/vendor/local/share/doc/groonga/en/html/development.html +17 -19
  269. data/vendor/local/share/doc/groonga/en/html/genindex.html +26 -14
  270. data/vendor/local/share/doc/groonga/en/html/index.html +150 -130
  271. data/vendor/local/share/doc/groonga/en/html/install/centos.html +28 -30
  272. data/vendor/local/share/doc/groonga/en/html/install/debian.html +24 -26
  273. data/vendor/local/share/doc/groonga/en/html/install/fedora.html +28 -30
  274. data/vendor/local/share/doc/groonga/en/html/install/mac_os_x.html +22 -24
  275. data/vendor/local/share/doc/groonga/en/html/install/others.html +87 -89
  276. data/vendor/local/share/doc/groonga/en/html/install/solaris.html +22 -24
  277. data/vendor/local/share/doc/groonga/en/html/install/ubuntu.html +25 -27
  278. data/vendor/local/share/doc/groonga/en/html/install/windows.html +30 -32
  279. data/vendor/local/share/doc/groonga/en/html/install.html +32 -34
  280. data/vendor/local/share/doc/groonga/en/html/limitations.html +17 -19
  281. data/vendor/local/share/doc/groonga/en/html/news/0.x.html +17 -19
  282. data/vendor/local/share/doc/groonga/en/html/news/1.0.x.html +19 -21
  283. data/vendor/local/share/doc/groonga/en/html/news/1.1.x.html +17 -19
  284. data/vendor/local/share/doc/groonga/en/html/news/1.2.x.html +32 -34
  285. data/vendor/local/share/doc/groonga/en/html/news/1.3.x.html +27 -29
  286. data/vendor/local/share/doc/groonga/en/html/news/2.x.html +98 -100
  287. data/vendor/local/share/doc/groonga/en/html/news/3.x.html +68 -70
  288. data/vendor/local/share/doc/groonga/en/html/news/4.x.html +102 -104
  289. data/vendor/local/share/doc/groonga/en/html/news/senna.html +17 -19
  290. data/vendor/local/share/doc/groonga/en/html/news.html +256 -27
  291. data/vendor/local/share/doc/groonga/en/html/objects.inv +0 -0
  292. data/vendor/local/share/doc/groonga/en/html/reference/api/global_configurations.html +49 -51
  293. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_cache.html +60 -62
  294. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_column.html +80 -82
  295. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_command_version.html +42 -44
  296. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_content_type.html +37 -39
  297. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_ctx.html +130 -80
  298. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_db.html +48 -50
  299. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_encoding.html +44 -46
  300. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_expr.html +79 -81
  301. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_geo.html +42 -44
  302. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_hook.html +44 -46
  303. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_ii.html +42 -44
  304. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_index_cursor.html +41 -43
  305. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_info.html +41 -43
  306. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_match_escalation.html +40 -42
  307. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_obj.html +89 -91
  308. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_proc.html +44 -46
  309. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_search.html +39 -41
  310. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_table.html +75 -77
  311. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_table_cursor.html +64 -66
  312. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_type.html +40 -42
  313. data/vendor/local/share/doc/groonga/en/html/reference/api/grn_user_data.html +39 -41
  314. data/vendor/local/share/doc/groonga/en/html/reference/api/overview.html +202 -0
  315. data/vendor/local/share/doc/groonga/en/html/reference/api/plugin.html +58 -60
  316. data/vendor/local/share/doc/groonga/en/html/reference/api.html +51 -52
  317. data/vendor/local/share/doc/groonga/en/html/reference/cast.html +17 -19
  318. data/vendor/local/share/doc/groonga/en/html/reference/column.html +17 -19
  319. data/vendor/local/share/doc/groonga/en/html/reference/columns/index.html +17 -19
  320. data/vendor/local/share/doc/groonga/en/html/reference/columns/pseudo.html +22 -24
  321. data/vendor/local/share/doc/groonga/en/html/reference/columns/scalar.html +17 -19
  322. data/vendor/local/share/doc/groonga/en/html/reference/columns/vector.html +58 -60
  323. data/vendor/local/share/doc/groonga/en/html/reference/command/command_version.html +17 -19
  324. data/vendor/local/share/doc/groonga/en/html/reference/command/output_format.html +53 -55
  325. data/vendor/local/share/doc/groonga/en/html/reference/command/request_id.html +22 -24
  326. data/vendor/local/share/doc/groonga/en/html/reference/command/return_code.html +94 -96
  327. data/vendor/local/share/doc/groonga/en/html/reference/command.html +56 -54
  328. data/vendor/local/share/doc/groonga/en/html/reference/commands/cache_limit.html +39 -41
  329. data/vendor/local/share/doc/groonga/en/html/reference/commands/check.html +43 -45
  330. data/vendor/local/share/doc/groonga/en/html/reference/commands/clearlock.html +23 -25
  331. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_create.html +39 -41
  332. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_list.html +71 -73
  333. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_remove.html +24 -26
  334. data/vendor/local/share/doc/groonga/en/html/reference/commands/column_rename.html +44 -46
  335. data/vendor/local/share/doc/groonga/en/html/reference/commands/define_selector.html +37 -39
  336. data/vendor/local/share/doc/groonga/en/html/reference/commands/defrag.html +24 -26
  337. data/vendor/local/share/doc/groonga/en/html/reference/commands/delete.html +35 -37
  338. data/vendor/local/share/doc/groonga/en/html/reference/commands/dump.html +22 -24
  339. data/vendor/local/share/doc/groonga/en/html/reference/commands/load.html +43 -45
  340. data/vendor/local/share/doc/groonga/en/html/reference/commands/lock_clear.html +49 -47
  341. data/vendor/local/share/doc/groonga/en/html/reference/commands/log_level.html +23 -25
  342. data/vendor/local/share/doc/groonga/en/html/reference/commands/log_put.html +24 -26
  343. data/vendor/local/share/doc/groonga/en/html/reference/commands/log_reopen.html +26 -28
  344. data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_count.html +314 -0
  345. data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_range_filter.html +252 -0
  346. data/vendor/local/share/doc/groonga/en/html/reference/commands/normalize.html +87 -89
  347. data/vendor/local/share/doc/groonga/en/html/reference/commands/normalizer_list.html +46 -48
  348. data/vendor/local/share/doc/groonga/en/html/reference/commands/plugin_register.html +195 -0
  349. data/vendor/local/share/doc/groonga/en/html/reference/commands/plugin_unregister.html +193 -0
  350. data/vendor/local/share/doc/groonga/en/html/reference/commands/quit.html +38 -40
  351. data/vendor/local/share/doc/groonga/en/html/reference/commands/range_filter.html +37 -39
  352. data/vendor/local/share/doc/groonga/en/html/reference/commands/register.html +61 -51
  353. data/vendor/local/share/doc/groonga/en/html/reference/commands/request_cancel.html +72 -74
  354. data/vendor/local/share/doc/groonga/en/html/reference/commands/ruby_eval.html +54 -56
  355. data/vendor/local/share/doc/groonga/en/html/reference/commands/ruby_load.html +54 -56
  356. data/vendor/local/share/doc/groonga/en/html/reference/commands/select.html +590 -592
  357. data/vendor/local/share/doc/groonga/en/html/reference/commands/shutdown.html +37 -39
  358. data/vendor/local/share/doc/groonga/en/html/reference/commands/status.html +40 -42
  359. data/vendor/local/share/doc/groonga/en/html/reference/commands/suggest.html +92 -94
  360. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_create.html +152 -154
  361. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_list.html +49 -51
  362. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_remove.html +39 -41
  363. data/vendor/local/share/doc/groonga/en/html/reference/commands/table_tokenize.html +68 -70
  364. data/vendor/local/share/doc/groonga/en/html/reference/commands/tokenize.html +103 -105
  365. data/vendor/local/share/doc/groonga/en/html/reference/commands/tokenizer_list.html +45 -47
  366. data/vendor/local/share/doc/groonga/en/html/reference/commands/truncate.html +52 -54
  367. data/vendor/local/share/doc/groonga/en/html/reference/executables/grndb.html +35 -37
  368. data/vendor/local/share/doc/groonga/en/html/reference/executables/grnslap.html +21 -23
  369. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-benchmark.html +26 -28
  370. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-httpd.html +73 -75
  371. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-server-http.html +17 -19
  372. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-create-dataset.html +17 -19
  373. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-httpd.html +42 -44
  374. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-learner.html +34 -36
  375. data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga.html +124 -90
  376. data/vendor/local/share/doc/groonga/en/html/reference/executables.html +19 -21
  377. data/vendor/local/share/doc/groonga/en/html/reference/function.html +42 -44
  378. data/vendor/local/share/doc/groonga/en/html/reference/functions/between.html +66 -68
  379. data/vendor/local/share/doc/groonga/en/html/reference/functions/edit_distance.html +44 -46
  380. data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_distance.html +113 -115
  381. data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_circle.html +55 -57
  382. data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_rectangle.html +45 -47
  383. data/vendor/local/share/doc/groonga/en/html/reference/functions/highlight_full.html +81 -83
  384. data/vendor/local/share/doc/groonga/en/html/reference/functions/highlight_html.html +65 -67
  385. data/vendor/local/share/doc/groonga/en/html/reference/functions/html_untag.html +54 -56
  386. data/vendor/local/share/doc/groonga/en/html/reference/functions/in_values.html +135 -44
  387. data/vendor/local/share/doc/groonga/en/html/reference/functions/now.html +40 -42
  388. data/vendor/local/share/doc/groonga/en/html/reference/functions/query.html +81 -83
  389. data/vendor/local/share/doc/groonga/en/html/reference/functions/rand.html +43 -45
  390. data/vendor/local/share/doc/groonga/en/html/reference/functions/snippet_html.html +67 -69
  391. data/vendor/local/share/doc/groonga/en/html/reference/functions/sub_filter.html +66 -70
  392. data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/query_syntax.html +349 -286
  393. data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/script_syntax.html +483 -417
  394. data/vendor/local/share/doc/groonga/en/html/reference/grn_expr.html +39 -41
  395. data/vendor/local/share/doc/groonga/en/html/reference/indexing.html +35 -37
  396. data/vendor/local/share/doc/groonga/en/html/reference/log.html +38 -40
  397. data/vendor/local/share/doc/groonga/en/html/reference/normalizers.html +44 -46
  398. data/vendor/local/share/doc/groonga/en/html/reference/operations/geolocation_search.html +32 -34
  399. data/vendor/local/share/doc/groonga/en/html/reference/operations.html +30 -31
  400. data/vendor/local/share/doc/groonga/en/html/reference/output.html +32 -34
  401. data/vendor/local/share/doc/groonga/en/html/reference/query_expanders/tsv.html +60 -62
  402. data/vendor/local/share/doc/groonga/en/html/reference/query_expanders.html +17 -19
  403. data/vendor/local/share/doc/groonga/en/html/reference/regular_expression.html +931 -0
  404. data/vendor/local/share/doc/groonga/en/html/reference/scorer.html +442 -0
  405. data/vendor/local/share/doc/groonga/en/html/reference/scorers/scorer_tf_at_most.html +153 -0
  406. data/vendor/local/share/doc/groonga/en/html/reference/scorers/scorer_tf_idf.html +287 -0
  407. data/vendor/local/share/doc/groonga/en/html/reference/scoring_note.html +114 -0
  408. data/vendor/local/share/doc/groonga/en/html/reference/suggest/completion.html +51 -53
  409. data/vendor/local/share/doc/groonga/en/html/reference/suggest/correction.html +40 -42
  410. data/vendor/local/share/doc/groonga/en/html/reference/suggest/introduction.html +38 -40
  411. data/vendor/local/share/doc/groonga/en/html/reference/suggest/suggestion.html +40 -42
  412. data/vendor/local/share/doc/groonga/en/html/reference/suggest.html +45 -47
  413. data/vendor/local/share/doc/groonga/en/html/reference/tables.html +52 -54
  414. data/vendor/local/share/doc/groonga/en/html/reference/token_filters.html +36 -38
  415. data/vendor/local/share/doc/groonga/en/html/reference/tokenizers.html +1394 -34
  416. data/vendor/local/share/doc/groonga/en/html/reference/tuning.html +57 -59
  417. data/vendor/local/share/doc/groonga/en/html/reference/types.html +38 -40
  418. data/vendor/local/share/doc/groonga/en/html/reference.html +139 -118
  419. data/vendor/local/share/doc/groonga/en/html/search.html +11 -11
  420. data/vendor/local/share/doc/groonga/en/html/searchindex.js +1 -1
  421. data/vendor/local/share/doc/groonga/en/html/server/gqtp.html +28 -30
  422. data/vendor/local/share/doc/groonga/en/html/server/http/comparison.html +68 -70
  423. data/vendor/local/share/doc/groonga/en/html/server/http/groonga-httpd.html +30 -32
  424. data/vendor/local/share/doc/groonga/en/html/server/http/groonga.html +29 -31
  425. data/vendor/local/share/doc/groonga/en/html/server/http.html +42 -44
  426. data/vendor/local/share/doc/groonga/en/html/server/memcached.html +137 -0
  427. data/vendor/local/share/doc/groonga/en/html/server/package.html +36 -38
  428. data/vendor/local/share/doc/groonga/en/html/server.html +23 -24
  429. data/vendor/local/share/doc/groonga/en/html/spec/gqtp.html +208 -129
  430. data/vendor/local/share/doc/groonga/en/html/spec/search.html +17 -19
  431. data/vendor/local/share/doc/groonga/en/html/spec.html +22 -24
  432. data/vendor/local/share/doc/groonga/en/html/troubleshooting/different_results_with_the_same_keyword.html +18 -20
  433. data/vendor/local/share/doc/groonga/en/html/troubleshooting/mmap_cannot_allocate_memory.html +18 -20
  434. data/vendor/local/share/doc/groonga/en/html/troubleshooting.html +17 -19
  435. data/vendor/local/share/doc/groonga/en/html/tutorial/data.html +17 -19
  436. data/vendor/local/share/doc/groonga/en/html/tutorial/drilldown.html +31 -33
  437. data/vendor/local/share/doc/groonga/en/html/tutorial/index.html +20 -22
  438. data/vendor/local/share/doc/groonga/en/html/tutorial/introduction.html +17 -19
  439. data/vendor/local/share/doc/groonga/en/html/tutorial/lexicon.html +17 -19
  440. data/vendor/local/share/doc/groonga/en/html/tutorial/match_columns.html +21 -23
  441. data/vendor/local/share/doc/groonga/en/html/tutorial/micro_blog.html +50 -52
  442. data/vendor/local/share/doc/groonga/en/html/tutorial/network.html +27 -125
  443. data/vendor/local/share/doc/groonga/en/html/tutorial/patricia_trie.html +18 -20
  444. data/vendor/local/share/doc/groonga/en/html/tutorial/query_expansion.html +20 -22
  445. data/vendor/local/share/doc/groonga/en/html/tutorial/search.html +33 -35
  446. data/vendor/local/share/doc/groonga/en/html/tutorial.html +21 -25
  447. data/vendor/local/share/doc/groonga/ja/html/.buildinfo +1 -1
  448. data/vendor/local/share/doc/groonga/ja/html/_images/used-when-indexing.png +0 -0
  449. data/vendor/local/share/doc/groonga/ja/html/_images/used-when-searching.png +0 -0
  450. data/vendor/local/share/doc/groonga/ja/html/_sources/characteristic.txt +1 -1
  451. data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/development/release.txt +32 -17
  452. data/vendor/local/share/doc/groonga/ja/html/_sources/install/centos.txt +3 -3
  453. data/vendor/local/share/doc/groonga/ja/html/_sources/install/debian.txt +3 -3
  454. data/vendor/local/share/doc/groonga/ja/html/_sources/install/fedora.txt +4 -4
  455. data/vendor/local/share/doc/groonga/ja/html/_sources/install/mac_os_x.txt +3 -3
  456. data/vendor/local/share/doc/groonga/ja/html/_sources/install/others.txt +3 -3
  457. data/vendor/local/share/doc/groonga/ja/html/_sources/install/solaris.txt +3 -3
  458. data/vendor/local/share/doc/groonga/ja/html/_sources/install/ubuntu.txt +3 -3
  459. data/vendor/local/share/doc/groonga/ja/html/_sources/install/windows.txt +9 -9
  460. data/vendor/local/share/doc/groonga/ja/html/_sources/news/1.0.x.txt +1 -1
  461. data/vendor/local/share/doc/groonga/ja/html/_sources/news/3.x.txt +2 -2
  462. data/vendor/local/share/doc/groonga/ja/html/_sources/news/4.x.txt +2 -2
  463. data/vendor/local/share/doc/groonga/ja/html/_sources/news.txt +194 -0
  464. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_ctx.txt +42 -0
  465. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/overview.txt +54 -0
  466. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api.txt +3 -0
  467. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/cache_limit.txt +1 -1
  468. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/column_create.txt +2 -2
  469. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/column_list.txt +1 -1
  470. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/column_rename.txt +3 -3
  471. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/delete.txt +4 -4
  472. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/load.txt +5 -5
  473. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/lock_clear.txt +4 -4
  474. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/logical_count.txt +173 -0
  475. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/logical_range_filter.txt +112 -0
  476. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/normalize.txt +7 -6
  477. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/plugin_register.txt +64 -0
  478. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/plugin_unregister.txt +63 -0
  479. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/register.txt +11 -1
  480. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/request_cancel.txt +3 -2
  481. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/ruby_eval.txt +1 -1
  482. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/ruby_load.txt +1 -1
  483. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/select.txt +17 -17
  484. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/suggest.txt +12 -12
  485. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/table_create.txt +7 -7
  486. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/table_tokenize.txt +4 -4
  487. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/tokenize.txt +6 -6
  488. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/truncate.txt +1 -1
  489. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/executables/groonga.txt +47 -26
  490. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/between.txt +5 -5
  491. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/geo_distance.txt +3 -3
  492. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/highlight_full.txt +6 -6
  493. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/highlight_html.txt +1 -1
  494. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/html_untag.txt +1 -1
  495. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/in_values.txt +54 -2
  496. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/query.txt +4 -4
  497. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/sub_filter.txt +4 -4
  498. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/grn_expr/query_syntax.txt +44 -18
  499. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/grn_expr/script_syntax.txt +41 -11
  500. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/indexing.txt +2 -0
  501. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/normalizers.txt +4 -0
  502. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/operations.txt +2 -1
  503. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/regular_expression.txt +403 -0
  504. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/scorer.txt +217 -0
  505. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/scorers/scorer_tf_at_most.txt +22 -0
  506. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/scorers/scorer_tf_idf.txt +110 -0
  507. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/scoring_note.txt +13 -0
  508. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/tables.txt +8 -0
  509. data/vendor/local/share/doc/groonga/ja/html/_sources/reference/tokenizers.txt +530 -16
  510. data/vendor/local/share/doc/groonga/ja/html/_sources/reference.txt +2 -0
  511. data/vendor/local/share/doc/groonga/ja/html/_sources/server/memcached.txt +15 -0
  512. data/vendor/local/share/doc/groonga/ja/html/_sources/server.txt +2 -1
  513. data/vendor/local/share/doc/groonga/ja/html/_sources/spec/gqtp.txt +66 -1
  514. data/vendor/local/share/doc/groonga/ja/html/_sources/troubleshooting/different_results_with_the_same_keyword.txt +1 -1
  515. data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/network.txt +0 -81
  516. data/vendor/local/share/doc/groonga/ja/html/_static/basic.css +6 -68
  517. data/vendor/local/share/doc/groonga/ja/html/_static/doctools.js +1 -26
  518. data/vendor/local/share/doc/groonga/ja/html/_static/down-pressed.png +0 -0
  519. data/vendor/local/share/doc/groonga/ja/html/_static/down.png +0 -0
  520. data/vendor/local/share/doc/groonga/ja/html/_static/file.png +0 -0
  521. data/vendor/local/share/doc/groonga/ja/html/_static/jquery.js +9404 -4
  522. data/vendor/local/share/doc/groonga/ja/html/_static/minus.png +0 -0
  523. data/vendor/local/share/doc/groonga/ja/html/_static/plus.png +0 -0
  524. data/vendor/local/share/doc/groonga/ja/html/_static/searchtools.js +2 -2
  525. data/vendor/local/share/doc/groonga/ja/html/_static/underscore.js +1415 -31
  526. data/vendor/local/share/doc/groonga/ja/html/_static/up-pressed.png +0 -0
  527. data/vendor/local/share/doc/groonga/ja/html/_static/up.png +0 -0
  528. data/vendor/local/share/doc/groonga/ja/html/_static/websupport.js +15 -15
  529. data/vendor/local/share/doc/groonga/ja/html/characteristic.html +17 -19
  530. data/vendor/local/share/doc/groonga/ja/html/client.html +22 -24
  531. data/vendor/local/share/doc/groonga/ja/html/community.html +17 -19
  532. data/vendor/local/share/doc/groonga/ja/html/contribution/development/com.html +17 -19
  533. data/vendor/local/share/doc/groonga/ja/html/contribution/development/cooperation.html +17 -19
  534. data/vendor/local/share/doc/groonga/ja/html/contribution/development/query.html +17 -19
  535. data/vendor/local/share/doc/groonga/ja/html/contribution/development/release.html +51 -38
  536. data/vendor/local/share/doc/groonga/ja/html/contribution/development/repository.html +17 -19
  537. data/vendor/local/share/doc/groonga/ja/html/contribution/development/test.html +17 -19
  538. data/vendor/local/share/doc/groonga/ja/html/contribution/development.html +17 -19
  539. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/c-api.html +17 -19
  540. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/i18n.html +17 -19
  541. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/introduction.html +24 -26
  542. data/vendor/local/share/doc/groonga/ja/html/contribution/documentation.html +17 -19
  543. data/vendor/local/share/doc/groonga/ja/html/contribution/report.html +17 -19
  544. data/vendor/local/share/doc/groonga/ja/html/contribution.html +18 -20
  545. data/vendor/local/share/doc/groonga/ja/html/development/travis-ci.html +20 -22
  546. data/vendor/local/share/doc/groonga/ja/html/development.html +17 -19
  547. data/vendor/local/share/doc/groonga/ja/html/genindex.html +26 -14
  548. data/vendor/local/share/doc/groonga/ja/html/index.html +150 -130
  549. data/vendor/local/share/doc/groonga/ja/html/install/centos.html +31 -33
  550. data/vendor/local/share/doc/groonga/ja/html/install/debian.html +25 -27
  551. data/vendor/local/share/doc/groonga/ja/html/install/fedora.html +29 -31
  552. data/vendor/local/share/doc/groonga/ja/html/install/mac_os_x.html +22 -24
  553. data/vendor/local/share/doc/groonga/ja/html/install/others.html +78 -80
  554. data/vendor/local/share/doc/groonga/ja/html/install/solaris.html +21 -23
  555. data/vendor/local/share/doc/groonga/ja/html/install/ubuntu.html +26 -28
  556. data/vendor/local/share/doc/groonga/ja/html/install/windows.html +29 -31
  557. data/vendor/local/share/doc/groonga/ja/html/install.html +32 -34
  558. data/vendor/local/share/doc/groonga/ja/html/limitations.html +17 -19
  559. data/vendor/local/share/doc/groonga/ja/html/news/0.x.html +17 -19
  560. data/vendor/local/share/doc/groonga/ja/html/news/1.0.x.html +19 -21
  561. data/vendor/local/share/doc/groonga/ja/html/news/1.1.x.html +17 -19
  562. data/vendor/local/share/doc/groonga/ja/html/news/1.2.x.html +32 -34
  563. data/vendor/local/share/doc/groonga/ja/html/news/1.3.x.html +27 -29
  564. data/vendor/local/share/doc/groonga/ja/html/news/2.x.html +91 -93
  565. data/vendor/local/share/doc/groonga/ja/html/news/3.x.html +59 -61
  566. data/vendor/local/share/doc/groonga/ja/html/news/4.x.html +89 -91
  567. data/vendor/local/share/doc/groonga/ja/html/news/senna.html +17 -19
  568. data/vendor/local/share/doc/groonga/ja/html/news.html +210 -27
  569. data/vendor/local/share/doc/groonga/ja/html/objects.inv +0 -0
  570. data/vendor/local/share/doc/groonga/ja/html/reference/api/global_configurations.html +49 -51
  571. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_cache.html +55 -57
  572. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_column.html +80 -82
  573. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_command_version.html +42 -44
  574. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_content_type.html +37 -39
  575. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_ctx.html +126 -76
  576. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_db.html +48 -50
  577. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_encoding.html +44 -46
  578. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_expr.html +74 -76
  579. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_geo.html +42 -44
  580. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_hook.html +44 -46
  581. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_ii.html +42 -44
  582. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_index_cursor.html +41 -43
  583. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_info.html +41 -43
  584. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_match_escalation.html +40 -42
  585. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_obj.html +89 -91
  586. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_proc.html +44 -46
  587. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_search.html +39 -41
  588. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_table.html +75 -77
  589. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_table_cursor.html +64 -66
  590. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_type.html +40 -42
  591. data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_user_data.html +39 -41
  592. data/vendor/local/share/doc/groonga/ja/html/reference/api/overview.html +197 -0
  593. data/vendor/local/share/doc/groonga/ja/html/reference/api/plugin.html +58 -60
  594. data/vendor/local/share/doc/groonga/ja/html/reference/api.html +51 -52
  595. data/vendor/local/share/doc/groonga/ja/html/reference/cast.html +17 -19
  596. data/vendor/local/share/doc/groonga/ja/html/reference/column.html +17 -19
  597. data/vendor/local/share/doc/groonga/ja/html/reference/columns/index.html +17 -19
  598. data/vendor/local/share/doc/groonga/ja/html/reference/columns/pseudo.html +22 -24
  599. data/vendor/local/share/doc/groonga/ja/html/reference/columns/scalar.html +17 -19
  600. data/vendor/local/share/doc/groonga/ja/html/reference/columns/vector.html +48 -50
  601. data/vendor/local/share/doc/groonga/ja/html/reference/command/command_version.html +17 -19
  602. data/vendor/local/share/doc/groonga/ja/html/reference/command/output_format.html +43 -45
  603. data/vendor/local/share/doc/groonga/ja/html/reference/command/request_id.html +22 -24
  604. data/vendor/local/share/doc/groonga/ja/html/reference/command/return_code.html +93 -95
  605. data/vendor/local/share/doc/groonga/ja/html/reference/command.html +56 -54
  606. data/vendor/local/share/doc/groonga/ja/html/reference/commands/cache_limit.html +35 -37
  607. data/vendor/local/share/doc/groonga/ja/html/reference/commands/check.html +43 -45
  608. data/vendor/local/share/doc/groonga/ja/html/reference/commands/clearlock.html +23 -25
  609. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_create.html +39 -41
  610. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_list.html +62 -64
  611. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_remove.html +24 -26
  612. data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_rename.html +38 -40
  613. data/vendor/local/share/doc/groonga/ja/html/reference/commands/define_selector.html +37 -39
  614. data/vendor/local/share/doc/groonga/ja/html/reference/commands/defrag.html +24 -26
  615. data/vendor/local/share/doc/groonga/ja/html/reference/commands/delete.html +32 -34
  616. data/vendor/local/share/doc/groonga/ja/html/reference/commands/dump.html +22 -24
  617. data/vendor/local/share/doc/groonga/ja/html/reference/commands/load.html +33 -35
  618. data/vendor/local/share/doc/groonga/ja/html/reference/commands/lock_clear.html +48 -46
  619. data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_level.html +23 -25
  620. data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_put.html +24 -26
  621. data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_reopen.html +26 -28
  622. data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_count.html +314 -0
  623. data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_range_filter.html +250 -0
  624. data/vendor/local/share/doc/groonga/ja/html/reference/commands/normalize.html +80 -81
  625. data/vendor/local/share/doc/groonga/ja/html/reference/commands/normalizer_list.html +46 -48
  626. data/vendor/local/share/doc/groonga/ja/html/reference/commands/plugin_register.html +188 -0
  627. data/vendor/local/share/doc/groonga/ja/html/reference/commands/plugin_unregister.html +190 -0
  628. data/vendor/local/share/doc/groonga/ja/html/reference/commands/quit.html +38 -40
  629. data/vendor/local/share/doc/groonga/ja/html/reference/commands/range_filter.html +37 -39
  630. data/vendor/local/share/doc/groonga/ja/html/reference/commands/register.html +57 -47
  631. data/vendor/local/share/doc/groonga/ja/html/reference/commands/request_cancel.html +71 -73
  632. data/vendor/local/share/doc/groonga/ja/html/reference/commands/ruby_eval.html +53 -55
  633. data/vendor/local/share/doc/groonga/ja/html/reference/commands/ruby_load.html +53 -55
  634. data/vendor/local/share/doc/groonga/ja/html/reference/commands/select.html +394 -396
  635. data/vendor/local/share/doc/groonga/ja/html/reference/commands/shutdown.html +37 -39
  636. data/vendor/local/share/doc/groonga/ja/html/reference/commands/status.html +38 -40
  637. data/vendor/local/share/doc/groonga/ja/html/reference/commands/suggest.html +78 -80
  638. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_create.html +123 -125
  639. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_list.html +49 -51
  640. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_remove.html +39 -41
  641. data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_tokenize.html +61 -63
  642. data/vendor/local/share/doc/groonga/ja/html/reference/commands/tokenize.html +89 -91
  643. data/vendor/local/share/doc/groonga/ja/html/reference/commands/tokenizer_list.html +46 -48
  644. data/vendor/local/share/doc/groonga/ja/html/reference/commands/truncate.html +51 -53
  645. data/vendor/local/share/doc/groonga/ja/html/reference/executables/grndb.html +35 -37
  646. data/vendor/local/share/doc/groonga/ja/html/reference/executables/grnslap.html +21 -23
  647. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-benchmark.html +26 -28
  648. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-httpd.html +61 -63
  649. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-server-http.html +17 -19
  650. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-create-dataset.html +17 -19
  651. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-httpd.html +42 -44
  652. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-learner.html +34 -36
  653. data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga.html +126 -90
  654. data/vendor/local/share/doc/groonga/ja/html/reference/executables.html +19 -21
  655. data/vendor/local/share/doc/groonga/ja/html/reference/function.html +42 -44
  656. data/vendor/local/share/doc/groonga/ja/html/reference/functions/between.html +63 -65
  657. data/vendor/local/share/doc/groonga/ja/html/reference/functions/edit_distance.html +44 -46
  658. data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_distance.html +94 -96
  659. data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_circle.html +55 -57
  660. data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_rectangle.html +45 -47
  661. data/vendor/local/share/doc/groonga/ja/html/reference/functions/highlight_full.html +66 -68
  662. data/vendor/local/share/doc/groonga/ja/html/reference/functions/highlight_html.html +55 -57
  663. data/vendor/local/share/doc/groonga/ja/html/reference/functions/html_untag.html +53 -55
  664. data/vendor/local/share/doc/groonga/ja/html/reference/functions/in_values.html +135 -44
  665. data/vendor/local/share/doc/groonga/ja/html/reference/functions/now.html +40 -42
  666. data/vendor/local/share/doc/groonga/ja/html/reference/functions/query.html +70 -72
  667. data/vendor/local/share/doc/groonga/ja/html/reference/functions/rand.html +43 -45
  668. data/vendor/local/share/doc/groonga/ja/html/reference/functions/snippet_html.html +53 -55
  669. data/vendor/local/share/doc/groonga/ja/html/reference/functions/sub_filter.html +56 -62
  670. data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/query_syntax.html +229 -171
  671. data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/script_syntax.html +381 -322
  672. data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr.html +36 -38
  673. data/vendor/local/share/doc/groonga/ja/html/reference/indexing.html +34 -36
  674. data/vendor/local/share/doc/groonga/ja/html/reference/log.html +38 -40
  675. data/vendor/local/share/doc/groonga/ja/html/reference/normalizers.html +38 -40
  676. data/vendor/local/share/doc/groonga/ja/html/reference/operations/geolocation_search.html +32 -34
  677. data/vendor/local/share/doc/groonga/ja/html/reference/operations.html +28 -30
  678. data/vendor/local/share/doc/groonga/ja/html/reference/output.html +28 -30
  679. data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders/tsv.html +39 -41
  680. data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders.html +17 -19
  681. data/vendor/local/share/doc/groonga/ja/html/reference/regular_expression.html +878 -0
  682. data/vendor/local/share/doc/groonga/ja/html/reference/scorer.html +442 -0
  683. data/vendor/local/share/doc/groonga/ja/html/reference/scorers/scorer_tf_at_most.html +154 -0
  684. data/vendor/local/share/doc/groonga/ja/html/reference/scorers/scorer_tf_idf.html +287 -0
  685. data/vendor/local/share/doc/groonga/ja/html/reference/scoring_note.html +115 -0
  686. data/vendor/local/share/doc/groonga/ja/html/reference/suggest/completion.html +48 -50
  687. data/vendor/local/share/doc/groonga/ja/html/reference/suggest/correction.html +40 -42
  688. data/vendor/local/share/doc/groonga/ja/html/reference/suggest/introduction.html +38 -40
  689. data/vendor/local/share/doc/groonga/ja/html/reference/suggest/suggestion.html +40 -42
  690. data/vendor/local/share/doc/groonga/ja/html/reference/suggest.html +45 -47
  691. data/vendor/local/share/doc/groonga/ja/html/reference/tables.html +42 -44
  692. data/vendor/local/share/doc/groonga/ja/html/reference/token_filters.html +37 -39
  693. data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers.html +1300 -34
  694. data/vendor/local/share/doc/groonga/ja/html/reference/tuning.html +57 -59
  695. data/vendor/local/share/doc/groonga/ja/html/reference/types.html +38 -40
  696. data/vendor/local/share/doc/groonga/ja/html/reference.html +139 -118
  697. data/vendor/local/share/doc/groonga/ja/html/search.html +11 -11
  698. data/vendor/local/share/doc/groonga/ja/html/searchindex.js +1 -1
  699. data/vendor/local/share/doc/groonga/ja/html/server/gqtp.html +28 -30
  700. data/vendor/local/share/doc/groonga/ja/html/server/http/comparison.html +62 -64
  701. data/vendor/local/share/doc/groonga/ja/html/server/http/groonga-httpd.html +30 -32
  702. data/vendor/local/share/doc/groonga/ja/html/server/http/groonga.html +29 -31
  703. data/vendor/local/share/doc/groonga/ja/html/server/http.html +42 -44
  704. data/vendor/local/share/doc/groonga/ja/html/server/memcached.html +138 -0
  705. data/vendor/local/share/doc/groonga/ja/html/server/package.html +35 -37
  706. data/vendor/local/share/doc/groonga/ja/html/server.html +23 -24
  707. data/vendor/local/share/doc/groonga/ja/html/spec/gqtp.html +207 -128
  708. data/vendor/local/share/doc/groonga/ja/html/spec/search.html +17 -19
  709. data/vendor/local/share/doc/groonga/ja/html/spec.html +22 -24
  710. data/vendor/local/share/doc/groonga/ja/html/troubleshooting/different_results_with_the_same_keyword.html +18 -20
  711. data/vendor/local/share/doc/groonga/ja/html/troubleshooting/mmap_cannot_allocate_memory.html +18 -20
  712. data/vendor/local/share/doc/groonga/ja/html/troubleshooting.html +17 -19
  713. data/vendor/local/share/doc/groonga/ja/html/tutorial/data.html +17 -19
  714. data/vendor/local/share/doc/groonga/ja/html/tutorial/drilldown.html +30 -32
  715. data/vendor/local/share/doc/groonga/ja/html/tutorial/index.html +17 -19
  716. data/vendor/local/share/doc/groonga/ja/html/tutorial/introduction.html +17 -19
  717. data/vendor/local/share/doc/groonga/ja/html/tutorial/lexicon.html +17 -19
  718. data/vendor/local/share/doc/groonga/ja/html/tutorial/match_columns.html +23 -25
  719. data/vendor/local/share/doc/groonga/ja/html/tutorial/micro_blog.html +47 -49
  720. data/vendor/local/share/doc/groonga/ja/html/tutorial/network.html +27 -125
  721. data/vendor/local/share/doc/groonga/ja/html/tutorial/patricia_trie.html +18 -20
  722. data/vendor/local/share/doc/groonga/ja/html/tutorial/query_expansion.html +20 -22
  723. data/vendor/local/share/doc/groonga/ja/html/tutorial/search.html +31 -33
  724. data/vendor/local/share/doc/groonga/ja/html/tutorial.html +21 -25
  725. data/vendor/local/share/license/mruby/README.md +2 -2
  726. data/vendor/local/share/man/ja/man1/groonga.1 +6205 -2251
  727. data/vendor/local/share/man/man1/groonga.1 +7210 -3029
  728. metadata +75 -11
  729. data/doc/text/news.textile +0 -1217
  730. data/vendor/local/share/doc/groonga/en/html/_static/jquery-1.11.1.js +0 -10308
  731. data/vendor/local/share/doc/groonga/en/html/_static/underscore-1.3.1.js +0 -999
  732. data/vendor/local/share/doc/groonga/ja/html/_static/jquery-1.11.1.js +0 -10308
  733. data/vendor/local/share/doc/groonga/ja/html/_static/underscore-1.3.1.js +0 -999
@@ -7,7 +7,7 @@
7
7
  <head>
8
8
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
9
9
 
10
- <title>7.11.2. スクリプト構文 &mdash; Groonga v5.0.0ドキュメント</title>
10
+ <title>7.12.2. スクリプト構文 &mdash; Groonga v5.0.1-42-g4d10df1ドキュメント</title>
11
11
 
12
12
  <link rel="stylesheet" href="../../_static/groonga.css" type="text/css" />
13
13
  <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
@@ -15,7 +15,7 @@
15
15
  <script type="text/javascript">
16
16
  var DOCUMENTATION_OPTIONS = {
17
17
  URL_ROOT: '../../',
18
- VERSION: '5.0.0',
18
+ VERSION: '5.0.1-42-g4d10df1',
19
19
  COLLAPSE_INDEX: false,
20
20
  FILE_SUFFIX: '.html',
21
21
  HAS_SOURCE: true
@@ -26,12 +26,12 @@
26
26
  <script type="text/javascript" src="../../_static/doctools.js"></script>
27
27
  <script type="text/javascript" src="../../_static/translations.js"></script>
28
28
  <link rel="shortcut icon" href="../../_static/favicon.ico"/>
29
- <link rel="top" title="Groonga v5.0.0ドキュメント" href="../../index.html" />
30
- <link rel="up" title="7.11. grn_expr" href="../grn_expr.html" />
31
- <link rel="next" title="7.12. 関数" href="../function.html" />
32
- <link rel="prev" title="7.11.1. クエリー構文" href="query_syntax.html" />
29
+ <link rel="top" title="Groonga v5.0.1-42-g4d10df1ドキュメント" href="../../index.html" />
30
+ <link rel="up" title="7.12. grn_expr" href="../grn_expr.html" />
31
+ <link rel="next" title="7.13. 正規表現" href="../regular_expression.html" />
32
+ <link rel="prev" title="7.12.1. クエリー構文" href="query_syntax.html" />
33
33
  </head>
34
- <body role="document">
34
+ <body>
35
35
  <div class="header">
36
36
  <h1 class="title">
37
37
  <a id="top-link" href="../../index.html">
@@ -49,35 +49,35 @@
49
49
  </div>
50
50
 
51
51
 
52
- <div class="related" role="navigation" aria-label="related navigation">
52
+ <div class="related">
53
53
  <h3>ナビゲーション</h3>
54
54
  <ul>
55
55
  <li class="right" style="margin-right: 10px">
56
56
  <a href="../../genindex.html" title="総合索引"
57
57
  accesskey="I">索引</a></li>
58
58
  <li class="right" >
59
- <a href="../function.html" title="7.12. 関数"
59
+ <a href="../regular_expression.html" title="7.13. 正規表現"
60
60
  accesskey="N">次へ</a> |</li>
61
61
  <li class="right" >
62
- <a href="query_syntax.html" title="7.11.1. クエリー構文"
62
+ <a href="query_syntax.html" title="7.12.1. クエリー構文"
63
63
  accesskey="P">前へ</a> |</li>
64
- <li><a href="../../index.html">Groonga v5.0.0ドキュメント</a> &raquo;</li>
64
+ <li><a href="../../index.html">Groonga v5.0.1-42-g4d10df1ドキュメント</a> &raquo;</li>
65
65
  <li><a href="../../reference.html" >7. リファレンスマニュアル</a> &raquo;</li>
66
- <li><a href="../grn_expr.html" accesskey="U">7.11. grn_expr</a> &raquo;</li>
66
+ <li><a href="../grn_expr.html" accesskey="U">7.12. grn_expr</a> &raquo;</li>
67
67
  </ul>
68
68
  </div>
69
69
 
70
70
  <div class="document">
71
71
  <div class="documentwrapper">
72
72
  <div class="bodywrapper">
73
- <div class="body" role="main">
73
+ <div class="body">
74
74
 
75
75
  <div class="section" id="script-syntax">
76
- <h1>7.11.2. スクリプト構文<a class="headerlink" href="#script-syntax" title="このヘッドラインへのパーマリンク">¶</a></h1>
77
- <p>スクリプト構文は複雑な検索条件を指定するための構文です。この構文はECMAScriptに似ています。例えば、 <code class="docutils literal"><span class="pre">_key</span> <span class="pre">==</span> <span class="pre">&quot;book&quot;</span></code> は <code class="docutils literal"><span class="pre">_key</span></code> の値が <code class="docutils literal"><span class="pre">&quot;book&quot;</span></code> のレコードを検索するという意味です。 <a class="reference internal" href="query_syntax.html"><em>クエリー構文</em></a> ではすべての値は文字列でしたが、スクリプト構文では値に型があります。例えば、 <code class="docutils literal"><span class="pre">&quot;book&quot;</span></code> は文字列で <code class="docutils literal"><span class="pre">1</span></code> は整数で、 <code class="docutils literal"><span class="pre">TokenBigram</span></code> は <code class="docutils literal"><span class="pre">TokenBigram</span></code> という名前のオブジェクトです。</p>
78
- <p>スクリプト構文はECMAScriptの構文と完全に互換性があるわけではありません。例えば、 <code class="docutils literal"><span class="pre">if</span></code> 制御文や <code class="docutils literal"><span class="pre">for</span></code> 繰り返し文や変数定義文といった文をサポートしていません。関数定義もサポートしていません。しかし、独自の演算子を追加しています。独自の演算子はECMAScriptの構文を説明した後に説明します。</p>
76
+ <h1>7.12.2. スクリプト構文<a class="headerlink" href="#script-syntax" title="このヘッドラインへのパーマリンク">¶</a></h1>
77
+ <p>スクリプト構文は複雑な検索条件を指定するための構文です。この構文はECMAScriptに似ています。例えば、 <tt class="docutils literal"><span class="pre">_key</span> <span class="pre">==</span> <span class="pre">&quot;book&quot;</span></tt> は <tt class="docutils literal"><span class="pre">_key</span></tt> の値が <tt class="docutils literal"><span class="pre">&quot;book&quot;</span></tt> のレコードを検索するという意味です。 <a class="reference internal" href="query_syntax.html"><em>クエリー構文</em></a> ではすべての値は文字列でしたが、スクリプト構文では値に型があります。例えば、 <tt class="docutils literal"><span class="pre">&quot;book&quot;</span></tt> は文字列で <tt class="docutils literal"><span class="pre">1</span></tt> は整数で、 <tt class="docutils literal"><span class="pre">TokenBigram</span></tt> は <tt class="docutils literal"><span class="pre">TokenBigram</span></tt> という名前のオブジェクトです。</p>
78
+ <p>スクリプト構文はECMAScriptの構文と完全に互換性があるわけではありません。例えば、 <tt class="docutils literal"><span class="pre">if</span></tt> 制御文や <tt class="docutils literal"><span class="pre">for</span></tt> 繰り返し文や変数定義文といった文をサポートしていません。関数定義もサポートしていません。しかし、独自の演算子を追加しています。独自の演算子はECMAScriptの構文を説明した後に説明します。</p>
79
79
  <div class="section" id="security">
80
- <span id="script-syntax-security"></span><h2>7.11.2.1. セキュリティー<a class="headerlink" href="#security" title="このヘッドラインへのパーマリンク">¶</a></h2>
80
+ <span id="script-syntax-security"></span><h2>7.12.2.1. セキュリティー<a class="headerlink" href="#security" title="このヘッドラインへのパーマリンク">¶</a></h2>
81
81
  <p>セキュリティーの観点からユーザーからの入力をそのままGroongaに渡すべきではありません。悪意のあるユーザーがそのユーザーには参照できてはいけないレコードを取得するクエリーを入力するかもしれないからです。</p>
82
82
  <p>例えば、以下の状況を考えてみましょう。</p>
83
83
  <p>あるGroongaアプリケーションがGroongaへのリクエストを次のようなプログラムで構築していたとします。:</p>
@@ -89,32 +89,32 @@ select_options = {
89
89
  groonga_client.select(select_options)
90
90
  </pre></div>
91
91
  </div>
92
- <p><code class="docutils literal"><span class="pre">user_input</span></code> はユーザーからの入力です。入力が <code class="docutils literal"><span class="pre">query</span></code> だった場合は構築された <a class="reference internal" href="../commands/select.html#select-filter"><em>filter</em></a> 引数は次のようになります。:</p>
92
+ <p><tt class="docutils literal"><span class="pre">user_input</span></tt> はユーザーからの入力です。入力が <tt class="docutils literal"><span class="pre">query</span></tt> だった場合は構築された <a class="reference internal" href="../commands/select.html#select-filter"><em>filter</em></a> 引数は次のようになります。:</p>
93
93
  <div class="highlight-none"><div class="highlight"><pre>column @ &quot;query&quot;
94
94
  </pre></div>
95
95
  </div>
96
- <p>もし、入力が <code class="docutils literal"><span class="pre">x&quot;</span> <span class="pre">||</span> <span class="pre">true</span> <span class="pre">||</span> <span class="pre">&quot;</span></code> だった場合は構築された <a class="reference internal" href="../commands/select.html#select-filter"><em>filter</em></a> 引数は次のようになります。:</p>
96
+ <p>もし、入力が <tt class="docutils literal"><span class="pre">x&quot;</span> <span class="pre">||</span> <span class="pre">true</span> <span class="pre">||</span> <span class="pre">&quot;</span></tt> だった場合は構築された <a class="reference internal" href="../commands/select.html#select-filter"><em>filter</em></a> 引数は次のようになります。:</p>
97
97
  <div class="highlight-none"><div class="highlight"><pre>column @ &quot;x&quot; || true || &quot;&quot;
98
98
  </pre></div>
99
99
  </div>
100
100
  <p>このクエリーはすべてのレコードにマッチします。このユーザーはデータベース中のすべてのレコードを取得するでしょう。このユーザーには悪意があったのかもしれません。</p>
101
- <p>ユーザーからの入力では値だけを受け取るようにする方がよいです。これは、ユーザーからの入力には <code class="docutils literal"><span class="pre">&#64;</span></code> や <code class="docutils literal"><span class="pre">&amp;&amp;</span></code> のような演算子を受け付けないようにするということです。もし、演算子も受け付けるようにするなら、ユーザーは悪意のあるクエリーを作ることができます。</p>
101
+ <p>ユーザーからの入力では値だけを受け取るようにする方がよいです。これは、ユーザーからの入力には <tt class="docutils literal"><span class="pre">&#64;</span></tt> や <tt class="docutils literal"><span class="pre">&amp;&amp;</span></tt> のような演算子を受け付けないようにするということです。もし、演算子も受け付けるようにするなら、ユーザーは悪意のあるクエリーを作ることができます。</p>
102
102
  <p>ユーザーの入力が値だけなら、入力された値をエスケープすることで悪意のあるクエリーを防ぐことができます。以下はユーザーの入力をどのようにエスケープすればよいかのリストです。</p>
103
103
  <blockquote>
104
104
  <div><ul class="simple">
105
- <li><p class="first">真の値: <code class="docutils literal"><span class="pre">true</span></code> に変換してください。</p>
105
+ <li><p class="first">真の値: <tt class="docutils literal"><span class="pre">true</span></tt> に変換してください。</p>
106
106
  </li>
107
- <li><p class="first">負の値: <code class="docutils literal"><span class="pre">false</span></code> に変換してください。</p>
107
+ <li><p class="first">負の値: <tt class="docutils literal"><span class="pre">false</span></tt> に変換してください。</p>
108
108
  </li>
109
- <li><p class="first">数値:数字に変換してください。例えば、 <code class="docutils literal"><span class="pre">1.2</span></code> は <code class="docutils literal"><span class="pre">1.2</span></code> にしてください。</p>
109
+ <li><p class="first">数値:数字に変換してください。例えば、 <tt class="docutils literal"><span class="pre">1.2</span></tt> は <tt class="docutils literal"><span class="pre">1.2</span></tt> にしてください。</p>
110
110
  </li>
111
- <li><p class="first">文字列:文字列中の <code class="docutils literal"><span class="pre">&quot;</span></code> を <code class="docutils literal"><span class="pre">\&quot;</span></code> で、 <code class="docutils literal"><span class="pre">\</span></code> を <code class="docutils literal"><span class="pre">\\</span></code> で置換してください。その後、置換した文字列を <code class="docutils literal"><span class="pre">&quot;</span></code> で囲んでください。例えば、 <code class="docutils literal"><span class="pre">double</span> <span class="pre">&quot;</span> <span class="pre">quote</span> <span class="pre">and</span> <span class="pre">back</span> <span class="pre">\</span> <span class="pre">slash</span></code> は <code class="docutils literal"><span class="pre">&quot;double</span> <span class="pre">\&quot;</span> <span class="pre">quote</span> <span class="pre">and</span> <span class="pre">back</span> <span class="pre">\\</span> <span class="pre">slash&quot;</span></code> に変換します。</p>
111
+ <li><p class="first">文字列:文字列中の <tt class="docutils literal"><span class="pre">&quot;</span></tt> を <tt class="docutils literal"><span class="pre">\&quot;</span></tt> で、 <tt class="docutils literal"><span class="pre">\</span></tt> を <tt class="docutils literal"><span class="pre">\\</span></tt> で置換してください。その後、置換した文字列を <tt class="docutils literal"><span class="pre">&quot;</span></tt> で囲んでください。例えば、 <tt class="docutils literal"><span class="pre">double</span> <span class="pre">&quot;</span> <span class="pre">quote</span> <span class="pre">and</span> <span class="pre">back</span> <span class="pre">\</span> <span class="pre">slash</span></tt> は <tt class="docutils literal"><span class="pre">&quot;double</span> <span class="pre">\&quot;</span> <span class="pre">quote</span> <span class="pre">and</span> <span class="pre">back</span> <span class="pre">\\</span> <span class="pre">slash&quot;</span></tt> に変換します。</p>
112
112
  </li>
113
113
  </ul>
114
114
  </div></blockquote>
115
115
  </div>
116
116
  <div class="section" id="sample-data">
117
- <h2>7.11.2.2. サンプルデータ<a class="headerlink" href="#sample-data" title="このヘッドラインへのパーマリンク">¶</a></h2>
117
+ <h2>7.12.2.2. サンプルデータ<a class="headerlink" href="#sample-data" title="このヘッドラインへのパーマリンク">¶</a></h2>
118
118
  <p>使い方を示すために使うスキーマ定義とサンプルデータは以下の通りです。</p>
119
119
  <p>実行例:</p>
120
120
  <div class="highlight-none"><div class="highlight"><pre>table_create Entries TABLE_PAT_KEY ShortText
@@ -150,47 +150,47 @@ load --table Entries
150
150
  # [[0, 1337566253.89858, 0.000355720520019531], 5]
151
151
  </pre></div>
152
152
  </div>
153
- <p>ブログエントリ用の <code class="docutils literal"><span class="pre">Entries</span></code> テーブルがあります。各エントリはタイトルと内容と「いいね!」数を持っています。タイトルは <code class="docutils literal"><span class="pre">Entries</span></code> のキーとします。内容は <code class="docutils literal"><span class="pre">Entries.content</span></code> カラムの値とします。「いいね!」数は <code class="docutils literal"><span class="pre">Entries.n_likes</span></code> カラムの値とします。</p>
154
- <p><code class="docutils literal"><span class="pre">Entries._key</span></code> カラムと <code class="docutils literal"><span class="pre">Entries.content</span></code> カラムには <code class="docutils literal"><span class="pre">TokenBigram</span></code> トークナイザーを使ったインデックスを作成します。そのため、 <code class="docutils literal"><span class="pre">Entries._key</span></code> と <code class="docutils literal"><span class="pre">Entries.content</span></code> は両方とも全文検索できます。</p>
153
+ <p>ブログエントリ用の <tt class="docutils literal"><span class="pre">Entries</span></tt> テーブルがあります。各エントリはタイトルと内容と「いいね!」数を持っています。タイトルは <tt class="docutils literal"><span class="pre">Entries</span></tt> のキーとします。内容は <tt class="docutils literal"><span class="pre">Entries.content</span></tt> カラムの値とします。「いいね!」数は <tt class="docutils literal"><span class="pre">Entries.n_likes</span></tt> カラムの値とします。</p>
154
+ <p><tt class="docutils literal"><span class="pre">Entries._key</span></tt> カラムと <tt class="docutils literal"><span class="pre">Entries.content</span></tt> カラムには <tt class="docutils literal"><span class="pre">TokenBigram</span></tt> トークナイザーを使ったインデックスを作成します。そのため、 <tt class="docutils literal"><span class="pre">Entries._key</span></tt> と <tt class="docutils literal"><span class="pre">Entries.content</span></tt> は両方とも全文検索できます。</p>
155
155
  <p>これで例を示すためのスキーマとデータの準備ができました。</p>
156
156
  </div>
157
157
  <div class="section" id="literals">
158
- <h2>7.11.2.3. リテラル<a class="headerlink" href="#literals" title="このヘッドラインへのパーマリンク">¶</a></h2>
158
+ <h2>7.12.2.3. リテラル<a class="headerlink" href="#literals" title="このヘッドラインへのパーマリンク">¶</a></h2>
159
159
  <div class="section" id="integer">
160
- <h3>7.11.2.3.1. 整数<a class="headerlink" href="#integer" title="このヘッドラインへのパーマリンク">¶</a></h3>
161
- <p>整数リテラルは <code class="docutils literal"><span class="pre">1234567890</span></code> のような <code class="docutils literal"><span class="pre">0</span></code> から <code class="docutils literal"><span class="pre">9</span></code> の並びです。 <code class="docutils literal"><span class="pre">+29</span></code> や <code class="docutils literal"><span class="pre">-29</span></code> のように符号として最初に <code class="docutils literal"><span class="pre">+</span></code> または <code class="docutils literal"><span class="pre">-</span></code> をつけることができます。整数リテラルは10進数です。8進数や16進数などは使えません。</p>
162
- <p>整数リテラルの最大値は <code class="docutils literal"><span class="pre">9223372036854775807</span></code> ( <code class="docutils literal"><span class="pre">=</span> <span class="pre">2</span> <span class="pre">**</span> <span class="pre">63</span> <span class="pre">-</span> <span class="pre">1</span></code> )です。最小値は <code class="docutils literal"><span class="pre">-9223372036854775808</span></code> ( <code class="docutils literal"><span class="pre">=</span> <span class="pre">-(2</span> <span class="pre">**</span> <span class="pre">63)</span></code> )です。</p>
160
+ <h3>7.12.2.3.1. 整数<a class="headerlink" href="#integer" title="このヘッドラインへのパーマリンク">¶</a></h3>
161
+ <p>整数リテラルは <tt class="docutils literal"><span class="pre">1234567890</span></tt> のような <tt class="docutils literal"><span class="pre">0</span></tt> から <tt class="docutils literal"><span class="pre">9</span></tt> の並びです。 <tt class="docutils literal"><span class="pre">+29</span></tt> や <tt class="docutils literal"><span class="pre">-29</span></tt> のように符号として最初に <tt class="docutils literal"><span class="pre">+</span></tt> または <tt class="docutils literal"><span class="pre">-</span></tt> をつけることができます。整数リテラルは10進数です。8進数や16進数などは使えません。</p>
162
+ <p>整数リテラルの最大値は <tt class="docutils literal"><span class="pre">9223372036854775807</span></tt> ( <tt class="docutils literal"><span class="pre">=</span> <span class="pre">2</span> <span class="pre">**</span> <span class="pre">63</span> <span class="pre">-</span> <span class="pre">1</span></tt> )です。最小値は <tt class="docutils literal"><span class="pre">-9223372036854775808</span></tt> ( <tt class="docutils literal"><span class="pre">=</span> <span class="pre">-(2</span> <span class="pre">**</span> <span class="pre">63)</span></tt> )です。</p>
163
163
  </div>
164
164
  <div class="section" id="float">
165
- <h3>7.11.2.3.2. 浮動小数点数<a class="headerlink" href="#float" title="このヘッドラインへのパーマリンク">¶</a></h3>
166
- <p>浮動小数点数リテラルは <code class="docutils literal"><span class="pre">3.14</span></code> のように、まず <code class="docutils literal"><span class="pre">0</span></code> から <code class="docutils literal"><span class="pre">9</span></code> 、次に <code class="docutils literal"><span class="pre">.</span></code> 、最後に <code class="docutils literal"><span class="pre">0</span></code> から <code class="docutils literal"><span class="pre">9</span></code> という並びです。 <code class="docutils literal"><span class="pre">+3.14</span></code> や <code class="docutils literal"><span class="pre">-3.14</span></code> のように符号として最初に <code class="docutils literal"><span class="pre">+</span></code> または <code class="docutils literal"><span class="pre">-</span></code> をつけることができます。 <code class="docutils literal"><span class="pre">${基数}e${指数}</span></code> や <code class="docutils literal"><span class="pre">${基数}E${指数}</span></code> というフォーマットもサポートしています。例えば、 <code class="docutils literal"><span class="pre">314e-2</span></code> は <code class="docutils literal"><span class="pre">3.14</span></code> と同じです。</p>
165
+ <h3>7.12.2.3.2. 浮動小数点数<a class="headerlink" href="#float" title="このヘッドラインへのパーマリンク">¶</a></h3>
166
+ <p>浮動小数点数リテラルは <tt class="docutils literal"><span class="pre">3.14</span></tt> のように、まず <tt class="docutils literal"><span class="pre">0</span></tt> から <tt class="docutils literal"><span class="pre">9</span></tt> 、次に <tt class="docutils literal"><span class="pre">.</span></tt> 、最後に <tt class="docutils literal"><span class="pre">0</span></tt> から <tt class="docutils literal"><span class="pre">9</span></tt> という並びです。 <tt class="docutils literal"><span class="pre">+3.14</span></tt> や <tt class="docutils literal"><span class="pre">-3.14</span></tt> のように符号として最初に <tt class="docutils literal"><span class="pre">+</span></tt> または <tt class="docutils literal"><span class="pre">-</span></tt> をつけることができます。 <tt class="docutils literal"><span class="pre">${基数}e${指数}</span></tt> や <tt class="docutils literal"><span class="pre">${基数}E${指数}</span></tt> というフォーマットもサポートしています。例えば、 <tt class="docutils literal"><span class="pre">314e-2</span></tt> は <tt class="docutils literal"><span class="pre">3.14</span></tt> と同じです。</p>
167
167
  </div>
168
168
  <div class="section" id="string">
169
- <h3>7.11.2.3.3. 文字列<a class="headerlink" href="#string" title="このヘッドラインへのパーマリンク">¶</a></h3>
170
- <p>文字列リテラルは <code class="docutils literal"><span class="pre">&quot;...&quot;</span></code> です。リテラル中の <code class="docutils literal"><span class="pre">&quot;</span></code> は <code class="docutils literal"><span class="pre">\&quot;</span></code> というように <code class="docutils literal"><span class="pre">\</span></code> を前につけてエスケープします。例えば、 <code class="docutils literal"><span class="pre">&quot;Say</span> <span class="pre">\&quot;Hello!\&quot;.&quot;</span></code> は <code class="docutils literal"><span class="pre">Say</span> <span class="pre">&quot;Hello!&quot;.</span></code> という文字列のリテラルです。</p>
171
- <p>文字列エンコーディングはデータベースのエンコーディングと合わせなければいけません。デフォルトのエンコーディングはUTF-8です。これは configure の <code class="docutils literal"><span class="pre">--with-default-encoding</span></code> オプションや <a class="reference internal" href="../executables/groonga.html"><em>groongaコマンド</em></a> の <code class="docutils literal"><span class="pre">--encodiong</span></code> などで変更できます。</p>
169
+ <h3>7.12.2.3.3. 文字列<a class="headerlink" href="#string" title="このヘッドラインへのパーマリンク">¶</a></h3>
170
+ <p>文字列リテラルは <tt class="docutils literal"><span class="pre">&quot;...&quot;</span></tt> です。リテラル中の <tt class="docutils literal"><span class="pre">&quot;</span></tt> は <tt class="docutils literal"><span class="pre">\&quot;</span></tt> というように <tt class="docutils literal"><span class="pre">\</span></tt> を前につけてエスケープします。例えば、 <tt class="docutils literal"><span class="pre">&quot;Say</span> <span class="pre">\&quot;Hello!\&quot;.&quot;</span></tt> は <tt class="docutils literal"><span class="pre">Say</span> <span class="pre">&quot;Hello!&quot;.</span></tt> という文字列のリテラルです。</p>
171
+ <p>文字列エンコーディングはデータベースのエンコーディングと合わせなければいけません。デフォルトのエンコーディングはUTF-8です。これは configure の <tt class="docutils literal"><span class="pre">--with-default-encoding</span></tt> オプションや <a class="reference internal" href="../executables/groonga.html"><em>groongaコマンド</em></a> の <tt class="docutils literal"><span class="pre">--encodiong</span></tt> などで変更できます。</p>
172
172
  </div>
173
173
  <div class="section" id="boolean">
174
- <h3>7.11.2.3.4. 真偽値<a class="headerlink" href="#boolean" title="このヘッドラインへのパーマリンク">¶</a></h3>
175
- <p>真偽値のリテラルは <code class="docutils literal"><span class="pre">true</span></code> と <code class="docutils literal"><span class="pre">false</span></code> です。 <code class="docutils literal"><span class="pre">true</span></code> は真という意味で、 <code class="docutils literal"><span class="pre">false</span></code> は偽という意味です。</p>
174
+ <h3>7.12.2.3.4. 真偽値<a class="headerlink" href="#boolean" title="このヘッドラインへのパーマリンク">¶</a></h3>
175
+ <p>真偽値のリテラルは <tt class="docutils literal"><span class="pre">true</span></tt> と <tt class="docutils literal"><span class="pre">false</span></tt> です。 <tt class="docutils literal"><span class="pre">true</span></tt> は真という意味で、 <tt class="docutils literal"><span class="pre">false</span></tt> は偽という意味です。</p>
176
176
  </div>
177
177
  <div class="section" id="null">
178
- <h3>7.11.2.3.5. NULL<a class="headerlink" href="#null" title="このヘッドラインへのパーマリンク">¶</a></h3>
179
- <p>NULLのリテラルは <code class="docutils literal"><span class="pre">null</span></code> です。GroongaはNULL値をサポートしてませんが、NULLリテラルをサポートしています。</p>
178
+ <h3>7.12.2.3.5. NULL<a class="headerlink" href="#null" title="このヘッドラインへのパーマリンク">¶</a></h3>
179
+ <p>NULLのリテラルは <tt class="docutils literal"><span class="pre">null</span></tt> です。GroongaはNULL値をサポートしてませんが、NULLリテラルをサポートしています。</p>
180
180
  </div>
181
181
  <div class="section" id="time">
182
- <h3>7.11.2.3.6. 時間<a class="headerlink" href="#time" title="このヘッドラインへのパーマリンク">¶</a></h3>
182
+ <h3>7.12.2.3.6. 時間<a class="headerlink" href="#time" title="このヘッドラインへのパーマリンク">¶</a></h3>
183
183
  <div class="admonition note">
184
184
  <p class="first admonition-title">注釈</p>
185
185
  <p class="last">これはgroonga独自の記法です。</p>
186
186
  </div>
187
187
  <p>時間のリテラルはありません。文字列での時間記法、整数での時間記法または浮動小数点数での時間記法を使ってください。</p>
188
- <p>文字列での時間記法は <code class="docutils literal"><span class="pre">&quot;YYYY/MM/DD</span> <span class="pre">hh:mm:ss.uuuuuu&quot;</span></code> または <code class="docutils literal"><span class="pre">&quot;YYYY-MM-DD</span> <span class="pre">hh:mm:ss.uuuuuu&quot;</span></code> です。 <code class="docutils literal"><span class="pre">YYYY</span></code> は西暦、 <code class="docutils literal"><span class="pre">MM</span></code> は月、 <code class="docutils literal"><span class="pre">DD</span></code> は日、 <code class="docutils literal"><span class="pre">hh</span></code> は時、 <code class="docutils literal"><span class="pre">mm</span></code> は分、 <code class="docutils literal"><span class="pre">ss</span></code> は秒、 <code class="docutils literal"><span class="pre">uuuuuu</span></code> はマイクロ秒です。ローカル時間です。例えば、 <code class="docutils literal"><span class="pre">&quot;2012/07/23</span> <span class="pre">02:41:10.436218&quot;</span></code> はISO 8601形式では <code class="docutils literal"><span class="pre">2012-07-23T02:41:10.436218</span></code> になります。</p>
189
- <p>整数での時間記法はUTC時間で1970年1月1日0時0分0秒からの経過秒数を使います。この時間はPOSIX時間とも呼ばれています。例えば、 <code class="docutils literal"><span class="pre">1343011270</span></code> はISO 8601形式では <code class="docutils literal"><span class="pre">2012-07-23T02:41:10Z</span></code> になります。</p>
190
- <p>浮動小数点数での時間記法はUTC時間で1970年1月1日0時0分0秒からの経過秒数と経過マイクロ秒数を使います。例えば、 <code class="docutils literal"><span class="pre">1343011270.436218</span></code> はISO 8601形式では <code class="docutils literal"><span class="pre">2012-07-23T02:41:10.346218Z</span></code> になります。</p>
188
+ <p>文字列での時間記法は <tt class="docutils literal"><span class="pre">&quot;YYYY/MM/DD</span> <span class="pre">hh:mm:ss.uuuuuu&quot;</span></tt> または <tt class="docutils literal"><span class="pre">&quot;YYYY-MM-DD</span> <span class="pre">hh:mm:ss.uuuuuu&quot;</span></tt> です。 <tt class="docutils literal"><span class="pre">YYYY</span></tt> は西暦、 <tt class="docutils literal"><span class="pre">MM</span></tt> は月、 <tt class="docutils literal"><span class="pre">DD</span></tt> は日、 <tt class="docutils literal"><span class="pre">hh</span></tt> は時、 <tt class="docutils literal"><span class="pre">mm</span></tt> は分、 <tt class="docutils literal"><span class="pre">ss</span></tt> は秒、 <tt class="docutils literal"><span class="pre">uuuuuu</span></tt> はマイクロ秒です。ローカル時間です。例えば、 <tt class="docutils literal"><span class="pre">&quot;2012/07/23</span> <span class="pre">02:41:10.436218&quot;</span></tt> はISO 8601形式では <tt class="docutils literal"><span class="pre">2012-07-23T02:41:10.436218</span></tt> になります。</p>
189
+ <p>整数での時間記法はUTC時間で1970年1月1日0時0分0秒からの経過秒数を使います。この時間はPOSIX時間とも呼ばれています。例えば、 <tt class="docutils literal"><span class="pre">1343011270</span></tt> はISO 8601形式では <tt class="docutils literal"><span class="pre">2012-07-23T02:41:10Z</span></tt> になります。</p>
190
+ <p>浮動小数点数での時間記法はUTC時間で1970年1月1日0時0分0秒からの経過秒数と経過マイクロ秒数を使います。例えば、 <tt class="docutils literal"><span class="pre">1343011270.436218</span></tt> はISO 8601形式では <tt class="docutils literal"><span class="pre">2012-07-23T02:41:10.346218Z</span></tt> になります。</p>
191
191
  </div>
192
192
  <div class="section" id="geo-point">
193
- <h3>7.11.2.3.7. 座標値<a class="headerlink" href="#geo-point" title="このヘッドラインへのパーマリンク">¶</a></h3>
193
+ <h3>7.12.2.3.7. 座標値<a class="headerlink" href="#geo-point" title="このヘッドラインへのパーマリンク">¶</a></h3>
194
194
  <div class="admonition note">
195
195
  <p class="first admonition-title">注釈</p>
196
196
  <p class="last">これはgroonga独自の記法です。</p>
@@ -199,31 +199,31 @@ load --table Entries
199
199
  <p>文字列での座標値記法には以下のパターンがあります。</p>
200
200
  <blockquote>
201
201
  <div><ul class="simple">
202
- <li><p class="first"><code class="docutils literal"><span class="pre">&quot;ミリ秒表記の緯度xミリ秒表記の経度&quot;</span></code></p>
202
+ <li><p class="first"><tt class="docutils literal"><span class="pre">&quot;ミリ秒表記の緯度xミリ秒表記の経度&quot;</span></tt></p>
203
203
  </li>
204
- <li><p class="first"><code class="docutils literal"><span class="pre">&quot;ミリ秒表記の緯度,ミリ秒表記の経度&quot;</span></code></p>
204
+ <li><p class="first"><tt class="docutils literal"><span class="pre">&quot;ミリ秒表記の緯度,ミリ秒表記の経度&quot;</span></tt></p>
205
205
  </li>
206
- <li><p class="first"><code class="docutils literal"><span class="pre">&quot;度数表記の緯度x度数表記の経度&quot;</span></code></p>
206
+ <li><p class="first"><tt class="docutils literal"><span class="pre">&quot;度数表記の緯度x度数表記の経度&quot;</span></tt></p>
207
207
  </li>
208
- <li><p class="first"><code class="docutils literal"><span class="pre">&quot;度数表記の緯度,度数表記の経度&quot;</span></code></p>
208
+ <li><p class="first"><tt class="docutils literal"><span class="pre">&quot;度数表記の緯度,度数表記の経度&quot;</span></tt></p>
209
209
  </li>
210
210
  </ul>
211
211
  </div></blockquote>
212
- <p><code class="docutils literal"><span class="pre">x</span></code> と <code class="docutils literal"><span class="pre">,</span></code> のどちらも区切り文字として使えます。緯度と経度はミリ秒または度数で指定します。</p>
212
+ <p><tt class="docutils literal"><span class="pre">x</span></tt> と <tt class="docutils literal"><span class="pre">,</span></tt> のどちらも区切り文字として使えます。緯度と経度はミリ秒または度数で指定します。</p>
213
213
  </div>
214
214
  <div class="section" id="array">
215
- <h3>7.11.2.3.8. 配列<a class="headerlink" href="#array" title="このヘッドラインへのパーマリンク">¶</a></h3>
216
- <p>配列リテラルは <code class="docutils literal"><span class="pre">[element1,</span> <span class="pre">element2,</span> <span class="pre">...]</span></code> です。</p>
215
+ <h3>7.12.2.3.8. 配列<a class="headerlink" href="#array" title="このヘッドラインへのパーマリンク">¶</a></h3>
216
+ <p>配列リテラルは <tt class="docutils literal"><span class="pre">[element1,</span> <span class="pre">element2,</span> <span class="pre">...]</span></tt> です。</p>
217
217
  </div>
218
218
  <div class="section" id="object-literal">
219
- <h3>7.11.2.3.9. オブジェクトリテラル<a class="headerlink" href="#object-literal" title="このヘッドラインへのパーマリンク">¶</a></h3>
220
- <p>オブジェクトのリテラルは <code class="docutils literal"><span class="pre">{name1:</span> <span class="pre">value1,</span> <span class="pre">name2:</span> <span class="pre">value2,</span> <span class="pre">...}</span></code> です。groongaはまだオブジェクトリテラルをサポートしていません。</p>
219
+ <h3>7.12.2.3.9. オブジェクトリテラル<a class="headerlink" href="#object-literal" title="このヘッドラインへのパーマリンク">¶</a></h3>
220
+ <p>オブジェクトのリテラルは <tt class="docutils literal"><span class="pre">{name1:</span> <span class="pre">value1,</span> <span class="pre">name2:</span> <span class="pre">value2,</span> <span class="pre">...}</span></tt> です。groongaはまだオブジェクトリテラルをサポートしていません。</p>
221
221
  </div>
222
222
  </div>
223
223
  <div class="section" id="control-syntaxes">
224
- <h2>7.11.2.4. 制御構文<a class="headerlink" href="#control-syntaxes" title="このヘッドラインへのパーマリンク">¶</a></h2>
225
- <p>スクリプト構文は文をサポートしていません。そのため、 <code class="docutils literal"><span class="pre">if</span></code> のような制御文を使うことはできません。制御用の構文は <code class="docutils literal"><span class="pre">A</span> <span class="pre">?</span> <span class="pre">B</span> <span class="pre">:</span> <span class="pre">C</span></code> 式だけ使うことができます。</p>
226
- <p><code class="docutils literal"><span class="pre">A</span> <span class="pre">?</span> <span class="pre">B</span> <span class="pre">:</span> <span class="pre">C</span></code> は <code class="docutils literal"><span class="pre">A</span></code> が真なら <code class="docutils literal"><span class="pre">B</span></code> を返して、そうでなかったら <code class="docutils literal"><span class="pre">C</span></code> を返します。</p>
224
+ <h2>7.12.2.4. 制御構文<a class="headerlink" href="#control-syntaxes" title="このヘッドラインへのパーマリンク">¶</a></h2>
225
+ <p>スクリプト構文は文をサポートしていません。そのため、 <tt class="docutils literal"><span class="pre">if</span></tt> のような制御文を使うことはできません。制御用の構文は <tt class="docutils literal"><span class="pre">A</span> <span class="pre">?</span> <span class="pre">B</span> <span class="pre">:</span> <span class="pre">C</span></tt> 式だけ使うことができます。</p>
226
+ <p><tt class="docutils literal"><span class="pre">A</span> <span class="pre">?</span> <span class="pre">B</span> <span class="pre">:</span> <span class="pre">C</span></tt> は <tt class="docutils literal"><span class="pre">A</span></tt> が真なら <tt class="docutils literal"><span class="pre">B</span></tt> を返して、そうでなかったら <tt class="docutils literal"><span class="pre">C</span></tt> を返します。</p>
227
227
  <p>以下は簡単な使用例です。</p>
228
228
  <p>実行例:</p>
229
229
  <div class="highlight-none"><div class="highlight"><pre>select Entries --filter &#39;n_likes == (_id == 1 ? 5 : 3)&#39;
@@ -279,12 +279,12 @@ load --table Entries
279
279
  # ]
280
280
  </pre></div>
281
281
  </div>
282
- <p>この式は <code class="docutils literal"><span class="pre">_id</span></code> カラムの値が <code class="docutils literal"><span class="pre">1</span></code> で <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">5</span></code> または <code class="docutils literal"><span class="pre">_id</span></code> カラムの値が <code class="docutils literal"><span class="pre">1</span></code> ではなく <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">3</span></code> のレコードにマッチします。</p>
282
+ <p>この式は <tt class="docutils literal"><span class="pre">_id</span></tt> カラムの値が <tt class="docutils literal"><span class="pre">1</span></tt> で <tt class="docutils literal"><span class="pre">n_likes</span></tt> カラムの値が <tt class="docutils literal"><span class="pre">5</span></tt> または <tt class="docutils literal"><span class="pre">_id</span></tt> カラムの値が <tt class="docutils literal"><span class="pre">1</span></tt> ではなく <tt class="docutils literal"><span class="pre">n_likes</span></tt> カラムの値が <tt class="docutils literal"><span class="pre">3</span></tt> のレコードにマッチします。</p>
283
283
  </div>
284
284
  <div class="section" id="grouping">
285
- <h2>7.11.2.5. グループ化<a class="headerlink" href="#grouping" title="このヘッドラインへのパーマリンク">¶</a></h2>
286
- <p>構文は <code class="docutils literal"><span class="pre">(...)</span></code> です。 <code class="docutils literal"><span class="pre">...</span></code> はカンマ区切りの式のリストです。</p>
287
- <p><code class="docutils literal"><span class="pre">(...)</span></code> は1つ以上の式をグループ化します。グループ化された式は1つの式として処理されます。 <code class="docutils literal"><span class="pre">a</span> <span class="pre">&amp;&amp;</span> <span class="pre">b</span> <span class="pre">||</span> <span class="pre">c</span></code> は <code class="docutils literal"><span class="pre">a</span></code> と <code class="docutils literal"><span class="pre">b</span></code> の両方がマッチするか、 <code class="docutils literal"><span class="pre">c</span></code> がマッチすれば式全体がマッチする、という意味になります。 <code class="docutils literal"><span class="pre">a</span> <span class="pre">&amp;&amp;</span> <span class="pre">(b</span> <span class="pre">||</span> <span class="pre">c)</span></code> は <code class="docutils literal"><span class="pre">a</span></code> がマッチして <code class="docutils literal"><span class="pre">b</span></code> と <code class="docutils literal"><span class="pre">c</span></code> はどちらか一方がマッチすれば式全体がマッチする、という意味になります。</p>
285
+ <h2>7.12.2.5. グループ化<a class="headerlink" href="#grouping" title="このヘッドラインへのパーマリンク">¶</a></h2>
286
+ <p>構文は <tt class="docutils literal"><span class="pre">(...)</span></tt> です。 <tt class="docutils literal"><span class="pre">...</span></tt> はカンマ区切りの式のリストです。</p>
287
+ <p><tt class="docutils literal"><span class="pre">(...)</span></tt> は1つ以上の式をグループ化します。グループ化された式は1つの式として処理されます。 <tt class="docutils literal"><span class="pre">a</span> <span class="pre">&amp;&amp;</span> <span class="pre">b</span> <span class="pre">||</span> <span class="pre">c</span></tt> は <tt class="docutils literal"><span class="pre">a</span></tt> と <tt class="docutils literal"><span class="pre">b</span></tt> の両方がマッチするか、 <tt class="docutils literal"><span class="pre">c</span></tt> がマッチすれば式全体がマッチする、という意味になります。 <tt class="docutils literal"><span class="pre">a</span> <span class="pre">&amp;&amp;</span> <span class="pre">(b</span> <span class="pre">||</span> <span class="pre">c)</span></tt> は <tt class="docutils literal"><span class="pre">a</span></tt> がマッチして <tt class="docutils literal"><span class="pre">b</span></tt> と <tt class="docutils literal"><span class="pre">c</span></tt> はどちらか一方がマッチすれば式全体がマッチする、という意味になります。</p>
288
288
  <p>以下は簡単な使用例です。</p>
289
289
  <p>実行例:</p>
290
290
  <div class="highlight-none"><div class="highlight"><pre>select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; content @ &quot;senna&quot; || content @ &quot;fast&quot;&#39;
@@ -379,13 +379,13 @@ select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; (content @ &quot;senna&qu
379
379
  # ]
380
380
  </pre></div>
381
381
  </div>
382
- <p>最初の式はグループ化していません。この式は <code class="docutils literal"><span class="pre">n_likes</span> <span class="pre">&lt;</span> <span class="pre">5</span></code> と <code class="docutils literal"><span class="pre">content</span> <span class="pre">&#64;</span> <span class="pre">&quot;senna&quot;</span></code> の両方がマッチするか <code class="docutils literal"><span class="pre">content</span> <span class="pre">&#64;</span> <span class="pre">&quot;fast&quot;</span></code> がマッチするレコードにマッチします。</p>
383
- <p>2番目の式はグループ化しています。この式は <code class="docutils literal"><span class="pre">n_likes</span> <span class="pre">&lt;</span> <span class="pre">5</span></code> にマッチして、 <code class="docutils literal"><span class="pre">content</span> <span class="pre">&#64;</span> <span class="pre">&quot;senna&quot;</span></code> と <code class="docutils literal"><span class="pre">content</span> <span class="pre">&#64;</span> <span class="pre">&quot;fast&quot;</span></code> は少なくともどちらか一方にマッチするレコードにマッチします。</p>
382
+ <p>最初の式はグループ化していません。この式は <tt class="docutils literal"><span class="pre">n_likes</span> <span class="pre">&lt;</span> <span class="pre">5</span></tt> と <tt class="docutils literal"><span class="pre">content</span> <span class="pre">&#64;</span> <span class="pre">&quot;senna&quot;</span></tt> の両方がマッチするか <tt class="docutils literal"><span class="pre">content</span> <span class="pre">&#64;</span> <span class="pre">&quot;fast&quot;</span></tt> がマッチするレコードにマッチします。</p>
383
+ <p>2番目の式はグループ化しています。この式は <tt class="docutils literal"><span class="pre">n_likes</span> <span class="pre">&lt;</span> <span class="pre">5</span></tt> にマッチして、 <tt class="docutils literal"><span class="pre">content</span> <span class="pre">&#64;</span> <span class="pre">&quot;senna&quot;</span></tt> と <tt class="docutils literal"><span class="pre">content</span> <span class="pre">&#64;</span> <span class="pre">&quot;fast&quot;</span></tt> は少なくともどちらか一方にマッチするレコードにマッチします。</p>
384
384
  </div>
385
385
  <div class="section" id="function-call">
386
- <h2>7.11.2.6. 関数呼び出し<a class="headerlink" href="#function-call" title="このヘッドラインへのパーマリンク">¶</a></h2>
387
- <p>構文は <code class="docutils literal"><span class="pre">name(arugment1,</span> <span class="pre">argument2,</span> <span class="pre">...)</span></code> です。</p>
388
- <p><code class="docutils literal"><span class="pre">name(argument1,</span> <span class="pre">argument2,</span> <span class="pre">...)</span></code> は <code class="docutils literal"><span class="pre">name</span></code> という関数を引数 <code class="docutils literal"><span class="pre">argument1</span></code>, <code class="docutils literal"><span class="pre">argument2</span></code>, <code class="docutils literal"><span class="pre">...</span></code> で呼び出します。</p>
386
+ <h2>7.12.2.6. 関数呼び出し<a class="headerlink" href="#function-call" title="このヘッドラインへのパーマリンク">¶</a></h2>
387
+ <p>構文は <tt class="docutils literal"><span class="pre">name(arugment1,</span> <span class="pre">argument2,</span> <span class="pre">...)</span></tt> です。</p>
388
+ <p><tt class="docutils literal"><span class="pre">name(argument1,</span> <span class="pre">argument2,</span> <span class="pre">...)</span></tt> は <tt class="docutils literal"><span class="pre">name</span></tt> という関数を引数 <tt class="docutils literal"><span class="pre">argument1</span></tt>, <tt class="docutils literal"><span class="pre">argument2</span></tt>, <tt class="docutils literal"><span class="pre">...</span></tt> で呼び出します。</p>
389
389
  <p>利用可能な関数の一覧は <a class="reference internal" href="../function.html"><em>関数</em></a> を参照してください。</p>
390
390
  <p>以下は簡単な使用例です。</p>
391
391
  <p>実行例:</p>
@@ -436,18 +436,18 @@ select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; (content @ &quot;senna&qu
436
436
  # ]
437
437
  </pre></div>
438
438
  </div>
439
- <p>この式は <a class="reference internal" href="../functions/edit_distance.html"><em>edit_distance</em></a> を使っています。この式は <code class="docutils literal"><span class="pre">_key</span></code> カラムの値が <code class="docutils literal"><span class="pre">&quot;Groonga&quot;</span></code> に似ているレコードにマッチします。 <code class="docutils literal"><span class="pre">&quot;Groonga&quot;</span></code> との類似度は編集距離で計算します。編集距離が1文字以下なら似ているとします。この場合は <code class="docutils literal"><span class="pre">&quot;Groonga&quot;</span></code> と <code class="docutils literal"><span class="pre">&quot;Mroonga&quot;</span></code> が似ている値です。</p>
439
+ <p>この式は <a class="reference internal" href="../functions/edit_distance.html"><em>edit_distance</em></a> を使っています。この式は <tt class="docutils literal"><span class="pre">_key</span></tt> カラムの値が <tt class="docutils literal"><span class="pre">&quot;Groonga&quot;</span></tt> に似ているレコードにマッチします。 <tt class="docutils literal"><span class="pre">&quot;Groonga&quot;</span></tt> との類似度は編集距離で計算します。編集距離が1文字以下なら似ているとします。この場合は <tt class="docutils literal"><span class="pre">&quot;Groonga&quot;</span></tt> と <tt class="docutils literal"><span class="pre">&quot;Mroonga&quot;</span></tt> が似ている値です。</p>
440
440
  </div>
441
441
  <div class="section" id="basic-operators">
442
- <h2>7.11.2.7. 基本的な演算子<a class="headerlink" href="#basic-operators" title="このヘッドラインへのパーマリンク">¶</a></h2>
442
+ <h2>7.12.2.7. 基本的な演算子<a class="headerlink" href="#basic-operators" title="このヘッドラインへのパーマリンク">¶</a></h2>
443
443
  <p>groongaはECMAScriptで定義されている演算子をサポートしています。</p>
444
444
  <div class="section" id="arithmetic-operators">
445
- <h3>7.11.2.7.1. 算術演算子<a class="headerlink" href="#arithmetic-operators" title="このヘッドラインへのパーマリンク">¶</a></h3>
445
+ <h3>7.12.2.7.1. 算術演算子<a class="headerlink" href="#arithmetic-operators" title="このヘッドラインへのパーマリンク">¶</a></h3>
446
446
  <p>以下は算術演算子の説明です。</p>
447
447
  <div class="section" id="addition-operator">
448
- <h4>7.11.2.7.1.1. 加算演算子<a class="headerlink" href="#addition-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
449
- <p>構文は <code class="docutils literal"><span class="pre">number1</span> <span class="pre">+</span> <span class="pre">number2</span></code> です。</p>
450
- <p>この演算子は <code class="docutils literal"><span class="pre">number1</span></code> と <code class="docutils literal"><span class="pre">number2</span></code> を足した結果を返します。</p>
448
+ <h4>7.12.2.7.1.1. 加算演算子<a class="headerlink" href="#addition-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
449
+ <p>構文は <tt class="docutils literal"><span class="pre">number1</span> <span class="pre">+</span> <span class="pre">number2</span></tt> です。</p>
450
+ <p>この演算子は <tt class="docutils literal"><span class="pre">number1</span></tt> と <tt class="docutils literal"><span class="pre">number2</span></tt> を足した結果を返します。</p>
451
451
  <p>以下は簡単な使用例です。</p>
452
452
  <p>実行例:</p>
453
453
  <div class="highlight-none"><div class="highlight"><pre>select Entries --filter &#39;n_likes == 10 + 5&#39;
@@ -491,12 +491,12 @@ select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; (content @ &quot;senna&qu
491
491
  # ]
492
492
  </pre></div>
493
493
  </div>
494
- <p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">15</span></code> (= <code class="docutils literal"><span class="pre">10</span> <span class="pre">+</span> <span class="pre">5</span></code>) のレコードにマッチします。</p>
494
+ <p>この式は <tt class="docutils literal"><span class="pre">n_likes</span></tt> カラムの値が <tt class="docutils literal"><span class="pre">15</span></tt> (= <tt class="docutils literal"><span class="pre">10</span> <span class="pre">+</span> <span class="pre">5</span></tt>) のレコードにマッチします。</p>
495
495
  </div>
496
496
  <div class="section" id="subtraction-operator">
497
- <h4>7.11.2.7.1.2. 減算演算子<a class="headerlink" href="#subtraction-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
498
- <p>構文は <code class="docutils literal"><span class="pre">number1</span> <span class="pre">-</span> <span class="pre">number2</span></code> です。</p>
499
- <p>この演算子は <code class="docutils literal"><span class="pre">number2</span></code> から <code class="docutils literal"><span class="pre">number1</span></code> を引いた結果を返します。</p>
497
+ <h4>7.12.2.7.1.2. 減算演算子<a class="headerlink" href="#subtraction-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
498
+ <p>構文は <tt class="docutils literal"><span class="pre">number1</span> <span class="pre">-</span> <span class="pre">number2</span></tt> です。</p>
499
+ <p>この演算子は <tt class="docutils literal"><span class="pre">number2</span></tt> から <tt class="docutils literal"><span class="pre">number1</span></tt> を引いた結果を返します。</p>
500
500
  <p>以下は簡単な使用例です。</p>
501
501
  <p>実行例:</p>
502
502
  <div class="highlight-none"><div class="highlight"><pre>select Entries --filter &#39;n_likes == 20 - 5&#39;
@@ -540,12 +540,12 @@ select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; (content @ &quot;senna&qu
540
540
  # ]
541
541
  </pre></div>
542
542
  </div>
543
- <p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">15</span></code> (= <code class="docutils literal"><span class="pre">20</span> <span class="pre">-</span> <span class="pre">5</span></code>) のレコードにマッチします。</p>
543
+ <p>この式は <tt class="docutils literal"><span class="pre">n_likes</span></tt> カラムの値が <tt class="docutils literal"><span class="pre">15</span></tt> (= <tt class="docutils literal"><span class="pre">20</span> <span class="pre">-</span> <span class="pre">5</span></tt>) のレコードにマッチします。</p>
544
544
  </div>
545
545
  <div class="section" id="multiplication-operator">
546
- <h4>7.11.2.7.1.3. 乗算演算子<a class="headerlink" href="#multiplication-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
547
- <p>構文は <code class="docutils literal"><span class="pre">number1</span> <span class="pre">*</span> <span class="pre">number2</span></code> です。</p>
548
- <p>この演算子は <code class="docutils literal"><span class="pre">number1</span></code> と <code class="docutils literal"><span class="pre">number2</span></code> を掛けた結果を返します。</p>
546
+ <h4>7.12.2.7.1.3. 乗算演算子<a class="headerlink" href="#multiplication-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
547
+ <p>構文は <tt class="docutils literal"><span class="pre">number1</span> <span class="pre">*</span> <span class="pre">number2</span></tt> です。</p>
548
+ <p>この演算子は <tt class="docutils literal"><span class="pre">number1</span></tt> と <tt class="docutils literal"><span class="pre">number2</span></tt> を掛けた結果を返します。</p>
549
549
  <p>以下は簡単な使用例です。</p>
550
550
  <p>実行例:</p>
551
551
  <div class="highlight-none"><div class="highlight"><pre>select Entries --filter &#39;n_likes == 3 * 5&#39;
@@ -589,12 +589,12 @@ select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; (content @ &quot;senna&qu
589
589
  # ]
590
590
  </pre></div>
591
591
  </div>
592
- <p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">15</span></code> (= <code class="docutils literal"><span class="pre">3</span> <span class="pre">*</span> <span class="pre">5</span></code>) のレコードにマッチします。</p>
592
+ <p>この式は <tt class="docutils literal"><span class="pre">n_likes</span></tt> カラムの値が <tt class="docutils literal"><span class="pre">15</span></tt> (= <tt class="docutils literal"><span class="pre">3</span> <span class="pre">*</span> <span class="pre">5</span></tt>) のレコードにマッチします。</p>
593
593
  </div>
594
594
  <div class="section" id="division-operator">
595
- <h4>7.11.2.7.1.4. 除算演算子<a class="headerlink" href="#division-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
596
- <p>構文は <code class="docutils literal"><span class="pre">number1</span> <span class="pre">/</span> <span class="pre">number2</span></code> と <code class="docutils literal"><span class="pre">number1</span> <span class="pre">%</span> <span class="pre">number2</span></code> です。</p>
597
- <p>この演算子は <code class="docutils literal"><span class="pre">number2</span></code> を <code class="docutils literal"><span class="pre">number1</span></code> で割ります。 <code class="docutils literal"><span class="pre">/</span></code> は商を返します。 <code class="docutils literal"><span class="pre">%</span></code> は余りを返します。</p>
595
+ <h4>7.12.2.7.1.4. 除算演算子<a class="headerlink" href="#division-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
596
+ <p>構文は <tt class="docutils literal"><span class="pre">number1</span> <span class="pre">/</span> <span class="pre">number2</span></tt> と <tt class="docutils literal"><span class="pre">number1</span> <span class="pre">%</span> <span class="pre">number2</span></tt> です。</p>
597
+ <p>この演算子は <tt class="docutils literal"><span class="pre">number2</span></tt> を <tt class="docutils literal"><span class="pre">number1</span></tt> で割ります。 <tt class="docutils literal"><span class="pre">/</span></tt> は商を返します。 <tt class="docutils literal"><span class="pre">%</span></tt> は余りを返します。</p>
598
598
  <p>以下は簡単な使用例です。</p>
599
599
  <p>実行例:</p>
600
600
  <div class="highlight-none"><div class="highlight"><pre>select Entries --filter &#39;n_likes == 26 / 7&#39;
@@ -644,7 +644,7 @@ select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; (content @ &quot;senna&qu
644
644
  # ]
645
645
  </pre></div>
646
646
  </div>
647
- <p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">3</span></code> (= <code class="docutils literal"><span class="pre">26</span> <span class="pre">/</span> <span class="pre">7</span></code>) のレコードにマッチします。</p>
647
+ <p>この式は <tt class="docutils literal"><span class="pre">n_likes</span></tt> カラムの値が <tt class="docutils literal"><span class="pre">3</span></tt> (= <tt class="docutils literal"><span class="pre">26</span> <span class="pre">/</span> <span class="pre">7</span></tt>) のレコードにマッチします。</p>
648
648
  <p>実行例:</p>
649
649
  <div class="highlight-none"><div class="highlight"><pre>select Entries --filter &#39;n_likes == 26 % 7&#39;
650
650
  # [
@@ -687,16 +687,16 @@ select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; (content @ &quot;senna&qu
687
687
  # ]
688
688
  </pre></div>
689
689
  </div>
690
- <p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">5</span></code> (= <code class="docutils literal"><span class="pre">26</span> <span class="pre">%</span> <span class="pre">7</span></code>) の値にマッチします。</p>
690
+ <p>この式は <tt class="docutils literal"><span class="pre">n_likes</span></tt> カラムの値が <tt class="docutils literal"><span class="pre">5</span></tt> (= <tt class="docutils literal"><span class="pre">26</span> <span class="pre">%</span> <span class="pre">7</span></tt>) の値にマッチします。</p>
691
691
  </div>
692
692
  </div>
693
693
  <div class="section" id="logical-operators">
694
- <h3>7.11.2.7.2. 論理演算子<a class="headerlink" href="#logical-operators" title="このヘッドラインへのパーマリンク">¶</a></h3>
694
+ <h3>7.12.2.7.2. 論理演算子<a class="headerlink" href="#logical-operators" title="このヘッドラインへのパーマリンク">¶</a></h3>
695
695
  <p>以下は論理演算子の説明です。</p>
696
696
  <div class="section" id="logical-not-operator">
697
- <h4>7.11.2.7.2.1. 論理否定演算子<a class="headerlink" href="#logical-not-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
698
- <p>構文は <code class="docutils literal"><span class="pre">!condition</span></code> です。</p>
699
- <p>この演算子は <code class="docutils literal"><span class="pre">condition</span></code> の真偽値を反転します。</p>
697
+ <h4>7.12.2.7.2.1. 論理否定演算子<a class="headerlink" href="#logical-not-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
698
+ <p>構文は <tt class="docutils literal"><span class="pre">!condition</span></tt> です。</p>
699
+ <p>この演算子は <tt class="docutils literal"><span class="pre">condition</span></tt> の真偽値を反転します。</p>
700
700
  <p>以下は簡単な使用例です。</p>
701
701
  <p>実行例:</p>
702
702
  <div class="highlight-none"><div class="highlight"><pre>select Entries --filter &#39;!(n_likes == 5)&#39;
@@ -758,12 +758,12 @@ select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; (content @ &quot;senna&qu
758
758
  # ]
759
759
  </pre></div>
760
760
  </div>
761
- <p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">5</span></code> ではない式にマッチします。</p>
761
+ <p>この式は <tt class="docutils literal"><span class="pre">n_likes</span></tt> カラムの値が <tt class="docutils literal"><span class="pre">5</span></tt> ではない式にマッチします。</p>
762
762
  </div>
763
763
  <div class="section" id="logical-and-operator">
764
- <h4>7.11.2.7.2.2. 論理積演算子<a class="headerlink" href="#logical-and-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
765
- <p>構文は <code class="docutils literal"><span class="pre">condition1</span> <span class="pre">&amp;&amp;</span> <span class="pre">condition2</span></code> です。</p>
766
- <p>この演算子は <code class="docutils literal"><span class="pre">condition1</span></code> と <code class="docutils literal"><span class="pre">condition2</span></code> の両方が真のときに真を返し、そうでなければ偽を返します。</p>
764
+ <h4>7.12.2.7.2.2. 論理積演算子<a class="headerlink" href="#logical-and-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
765
+ <p>構文は <tt class="docutils literal"><span class="pre">condition1</span> <span class="pre">&amp;&amp;</span> <span class="pre">condition2</span></tt> です。</p>
766
+ <p>この演算子は <tt class="docutils literal"><span class="pre">condition1</span></tt> と <tt class="docutils literal"><span class="pre">condition2</span></tt> の両方が真のときに真を返し、そうでなければ偽を返します。</p>
767
767
  <p>以下は簡単な使用例です。</p>
768
768
  <p>実行例:</p>
769
769
  <div class="highlight-none"><div class="highlight"><pre>select Entries --filter &#39;content @ &quot;fast&quot; &amp;&amp; n_likes &gt;= 10&#39;
@@ -813,12 +813,12 @@ select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; (content @ &quot;senna&qu
813
813
  # ]
814
814
  </pre></div>
815
815
  </div>
816
- <p>この式は <code class="docutils literal"><span class="pre">content</span></code> カラムの値が <code class="docutils literal"><span class="pre">fast</span></code> を含んでいて、 <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">10</span></code> 以上のレコードにマッチします。</p>
816
+ <p>この式は <tt class="docutils literal"><span class="pre">content</span></tt> カラムの値が <tt class="docutils literal"><span class="pre">fast</span></tt> を含んでいて、 <tt class="docutils literal"><span class="pre">n_likes</span></tt> カラムの値が <tt class="docutils literal"><span class="pre">10</span></tt> 以上のレコードにマッチします。</p>
817
817
  </div>
818
818
  <div class="section" id="logical-or-operator">
819
- <h4>7.11.2.7.2.3. 論理和演算子<a class="headerlink" href="#logical-or-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
820
- <p>構文は <code class="docutils literal"><span class="pre">condition1</span> <span class="pre">||</span> <span class="pre">condition2</span></code> です。</p>
821
- <p>この演算子は <code class="docutils literal"><span class="pre">condition1</span></code> と <code class="docutils literal"><span class="pre">condition2</span></code> のどちらか一方が真のときに真を返し、そうでなければ偽を返します。</p>
819
+ <h4>7.12.2.7.2.3. 論理和演算子<a class="headerlink" href="#logical-or-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
820
+ <p>構文は <tt class="docutils literal"><span class="pre">condition1</span> <span class="pre">||</span> <span class="pre">condition2</span></tt> です。</p>
821
+ <p>この演算子は <tt class="docutils literal"><span class="pre">condition1</span></tt> と <tt class="docutils literal"><span class="pre">condition2</span></tt> のどちらか一方が真のときに真を返し、そうでなければ偽を返します。</p>
822
822
  <p>以下は簡単な使用例です。</p>
823
823
  <p>実行例:</p>
824
824
  <div class="highlight-none"><div class="highlight"><pre>select Entries --filter &#39;n_likes == 5 || n_likes == 10&#39;
@@ -868,12 +868,12 @@ select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; (content @ &quot;senna&qu
868
868
  # ]
869
869
  </pre></div>
870
870
  </div>
871
- <p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">5</span></code> または <code class="docutils literal"><span class="pre">10</span></code> のレコードにマッチします。</p>
871
+ <p>この式は <tt class="docutils literal"><span class="pre">n_likes</span></tt> カラムの値が <tt class="docutils literal"><span class="pre">5</span></tt> または <tt class="docutils literal"><span class="pre">10</span></tt> のレコードにマッチします。</p>
872
872
  </div>
873
873
  <div class="section" id="logical-and-not-operator">
874
- <h4>7.11.2.7.2.4. 論理差演算子<a class="headerlink" href="#logical-and-not-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
875
- <p>構文は <code class="docutils literal"><span class="pre">condition1</span> <span class="pre">&amp;!</span> <span class="pre">condition2</span></code> です。</p>
876
- <p>この演算子は <code class="docutils literal"><span class="pre">condition1</span></code> が真で <code class="docutils literal"><span class="pre">condition2</span></code> が偽のときに真を返し、そうでなければ偽を返します。差集合を返すということです。</p>
874
+ <h4>7.12.2.7.2.4. 論理差演算子<a class="headerlink" href="#logical-and-not-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
875
+ <p>構文は <tt class="docutils literal"><span class="pre">condition1</span> <span class="pre">&amp;!</span> <span class="pre">condition2</span></tt> です。</p>
876
+ <p>この演算子は <tt class="docutils literal"><span class="pre">condition1</span></tt> が真で <tt class="docutils literal"><span class="pre">condition2</span></tt> が偽のときに真を返し、そうでなければ偽を返します。差集合を返すということです。</p>
877
877
  <p>以下は簡単な使用例です。</p>
878
878
  <p>実行例:</p>
879
879
  <div class="highlight-none"><div class="highlight"><pre>select Entries --filter &#39;content @ &quot;fast&quot; &amp;! content @ &quot;mroonga&quot;&#39;
@@ -917,16 +917,16 @@ select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; (content @ &quot;senna&qu
917
917
  # ]
918
918
  </pre></div>
919
919
  </div>
920
- <p>この式は <code class="docutils literal"><span class="pre">content</span></code> カラムの値が <code class="docutils literal"><span class="pre">fast</span></code> を含んでいるが <code class="docutils literal"><span class="pre">mroonga</span></code> を含んでいないレコードにマッチします。</p>
920
+ <p>この式は <tt class="docutils literal"><span class="pre">content</span></tt> カラムの値が <tt class="docutils literal"><span class="pre">fast</span></tt> を含んでいるが <tt class="docutils literal"><span class="pre">mroonga</span></tt> を含んでいないレコードにマッチします。</p>
921
921
  </div>
922
922
  </div>
923
923
  <div class="section" id="bitwise-operators">
924
- <h3>7.11.2.7.3. ビット演算子<a class="headerlink" href="#bitwise-operators" title="このヘッドラインへのパーマリンク">¶</a></h3>
924
+ <h3>7.12.2.7.3. ビット演算子<a class="headerlink" href="#bitwise-operators" title="このヘッドラインへのパーマリンク">¶</a></h3>
925
925
  <p>以下はビット演算子の説明です。</p>
926
926
  <div class="section" id="bitwise-not-operator">
927
- <h4>7.11.2.7.3.1. ビット否定演算子<a class="headerlink" href="#bitwise-not-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
928
- <p>構文は <code class="docutils literal"><span class="pre">~number</span></code> です。</p>
929
- <p>この演算子は <code class="docutils literal"><span class="pre">number</span></code> の各ビットを反転した結果を返します。</p>
927
+ <h4>7.12.2.7.3.1. ビット否定演算子<a class="headerlink" href="#bitwise-not-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
928
+ <p>構文は <tt class="docutils literal"><span class="pre">~number</span></tt> です。</p>
929
+ <p>この演算子は <tt class="docutils literal"><span class="pre">number</span></tt> の各ビットを反転した結果を返します。</p>
930
930
  <p>以下は簡単な使用例です。</p>
931
931
  <p>実行例:</p>
932
932
  <div class="highlight-none"><div class="highlight"><pre>select Entries --filter &#39;~n_likes == -6&#39;
@@ -970,12 +970,12 @@ select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; (content @ &quot;senna&qu
970
970
  # ]
971
971
  </pre></div>
972
972
  </div>
973
- <p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">5</span></code> のレコードにマッチします。なぜならば、 <code class="docutils literal"><span class="pre">5</span></code> の各ビットを反転すると <code class="docutils literal"><span class="pre">-6</span></code> になるからです。</p>
973
+ <p>この式は <tt class="docutils literal"><span class="pre">n_likes</span></tt> カラムの値が <tt class="docutils literal"><span class="pre">5</span></tt> のレコードにマッチします。なぜならば、 <tt class="docutils literal"><span class="pre">5</span></tt> の各ビットを反転すると <tt class="docutils literal"><span class="pre">-6</span></tt> になるからです。</p>
974
974
  </div>
975
975
  <div class="section" id="bitwise-and-operator">
976
- <h4>7.11.2.7.3.2. ビット論理積演算子<a class="headerlink" href="#bitwise-and-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
977
- <p>構文は <code class="docutils literal"><span class="pre">number1</span> <span class="pre">&amp;</span> <span class="pre">number2</span></code> です。</p>
978
- <p>この演算子は <code class="docutils literal"><span class="pre">number1</span></code> と <code class="docutils literal"><span class="pre">number2</span></code> をビット単位で論理積をした結果を返します。</p>
976
+ <h4>7.12.2.7.3.2. ビット論理積演算子<a class="headerlink" href="#bitwise-and-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
977
+ <p>構文は <tt class="docutils literal"><span class="pre">number1</span> <span class="pre">&amp;</span> <span class="pre">number2</span></tt> です。</p>
978
+ <p>この演算子は <tt class="docutils literal"><span class="pre">number1</span></tt> と <tt class="docutils literal"><span class="pre">number2</span></tt> をビット単位で論理積をした結果を返します。</p>
979
979
  <p>以下は簡単な使用例です。</p>
980
980
  <p>実行例:</p>
981
981
  <div class="highlight-none"><div class="highlight"><pre>select Entries --filter &#39;(n_likes &amp; 1) == 1&#39;
@@ -1037,13 +1037,13 @@ select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; (content @ &quot;senna&qu
1037
1037
  # ]
1038
1038
  </pre></div>
1039
1039
  </div>
1040
- <p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が偶数のレコードにマッチします。なぜならば、偶数と <code class="docutils literal"><span class="pre">1</span></code> のビット単位の論理積は <code class="docutils literal"><span class="pre">1</span></code> になり、奇数と <code class="docutils literal"><span class="pre">1</span></code> のビット単位の論理積は <code class="docutils literal"><span class="pre">0</span></code> になるからです。</p>
1040
+ <p>この式は <tt class="docutils literal"><span class="pre">n_likes</span></tt> カラムの値が偶数のレコードにマッチします。なぜならば、偶数と <tt class="docutils literal"><span class="pre">1</span></tt> のビット単位の論理積は <tt class="docutils literal"><span class="pre">1</span></tt> になり、奇数と <tt class="docutils literal"><span class="pre">1</span></tt> のビット単位の論理積は <tt class="docutils literal"><span class="pre">0</span></tt> になるからです。</p>
1041
1041
  </div>
1042
1042
  </div>
1043
1043
  <div class="section" id="bitwise-or-operator">
1044
- <h3>7.11.2.7.4. ビット論理和演算子<a class="headerlink" href="#bitwise-or-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
1045
- <p>構文は <code class="docutils literal"><span class="pre">number1</span> <span class="pre">|</span> <span class="pre">number2</span></code> です。</p>
1046
- <p>この演算子は <code class="docutils literal"><span class="pre">number1</span></code> と <code class="docutils literal"><span class="pre">number2</span></code> をビット単位で論理和した結果を返します。</p>
1044
+ <h3>7.12.2.7.4. ビット論理和演算子<a class="headerlink" href="#bitwise-or-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
1045
+ <p>構文は <tt class="docutils literal"><span class="pre">number1</span> <span class="pre">|</span> <span class="pre">number2</span></tt> です。</p>
1046
+ <p>この演算子は <tt class="docutils literal"><span class="pre">number1</span></tt> と <tt class="docutils literal"><span class="pre">number2</span></tt> をビット単位で論理和した結果を返します。</p>
1047
1047
  <p>以下は簡単な使用例です。</p>
1048
1048
  <p>実行例:</p>
1049
1049
  <div class="highlight-none"><div class="highlight"><pre>select Entries --filter &#39;n_likes == (1 | 4)&#39;
@@ -1087,12 +1087,12 @@ select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; (content @ &quot;senna&qu
1087
1087
  # ]
1088
1088
  </pre></div>
1089
1089
  </div>
1090
- <p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">5</span></code> (= <code class="docutils literal"><span class="pre">1</span> <span class="pre">|</span> <span class="pre">4</span></code>) のレコードにマッチします。</p>
1090
+ <p>この式は <tt class="docutils literal"><span class="pre">n_likes</span></tt> カラムの値が <tt class="docutils literal"><span class="pre">5</span></tt> (= <tt class="docutils literal"><span class="pre">1</span> <span class="pre">|</span> <span class="pre">4</span></tt>) のレコードにマッチします。</p>
1091
1091
  </div>
1092
1092
  <div class="section" id="bitwise-xor-operator">
1093
- <h3>7.11.2.7.5. ビット排他的論理和演算子<a class="headerlink" href="#bitwise-xor-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
1094
- <p>構文は <code class="docutils literal"><span class="pre">number1</span> <span class="pre">^</span> <span class="pre">number2</span></code> です。</p>
1095
- <p>この演算子は <code class="docutils literal"><span class="pre">number1</span></code> と <code class="docutils literal"><span class="pre">number2</span></code> をビット単位で排他的論理和した結果を返します。</p>
1093
+ <h3>7.12.2.7.5. ビット排他的論理和演算子<a class="headerlink" href="#bitwise-xor-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
1094
+ <p>構文は <tt class="docutils literal"><span class="pre">number1</span> <span class="pre">^</span> <span class="pre">number2</span></tt> です。</p>
1095
+ <p>この演算子は <tt class="docutils literal"><span class="pre">number1</span></tt> と <tt class="docutils literal"><span class="pre">number2</span></tt> をビット単位で排他的論理和した結果を返します。</p>
1096
1096
  <p>以下は簡単な使用例です。</p>
1097
1097
  <p>実行例:</p>
1098
1098
  <div class="highlight-none"><div class="highlight"><pre>select Entries --filter &#39;n_likes == (10 ^ 15)&#39;
@@ -1136,15 +1136,15 @@ select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; (content @ &quot;senna&qu
1136
1136
  # ]
1137
1137
  </pre></div>
1138
1138
  </div>
1139
- <p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">5</span></code> (= <code class="docutils literal"><span class="pre">10</span> <span class="pre">^</span> <span class="pre">15</span></code>) の値にマッチします。</p>
1139
+ <p>この式は <tt class="docutils literal"><span class="pre">n_likes</span></tt> カラムの値が <tt class="docutils literal"><span class="pre">5</span></tt> (= <tt class="docutils literal"><span class="pre">10</span> <span class="pre">^</span> <span class="pre">15</span></tt>) の値にマッチします。</p>
1140
1140
  </div>
1141
1141
  <div class="section" id="shift-operators">
1142
- <h3>7.11.2.7.6. シフト演算子<a class="headerlink" href="#shift-operators" title="このヘッドラインへのパーマリンク">¶</a></h3>
1142
+ <h3>7.12.2.7.6. シフト演算子<a class="headerlink" href="#shift-operators" title="このヘッドラインへのパーマリンク">¶</a></h3>
1143
1143
  <p>以下はシフト演算子の説明です。</p>
1144
1144
  <div class="section" id="left-shift-operator">
1145
- <h4>7.11.2.7.6.1. 左シフト演算子<a class="headerlink" href="#left-shift-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
1146
- <p>構文は <code class="docutils literal"><span class="pre">number1</span> <span class="pre">&lt;&lt;</span> <span class="pre">number2</span></code> です。</p>
1147
- <p>この演算子は <code class="docutils literal"><span class="pre">number1</span></code> のビットを左に <code class="docutils literal"><span class="pre">number2</span></code> ビットシフトする。</p>
1145
+ <h4>7.12.2.7.6.1. 左シフト演算子<a class="headerlink" href="#left-shift-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
1146
+ <p>構文は <tt class="docutils literal"><span class="pre">number1</span> <span class="pre">&lt;&lt;</span> <span class="pre">number2</span></tt> です。</p>
1147
+ <p>この演算子は <tt class="docutils literal"><span class="pre">number1</span></tt> のビットを左に <tt class="docutils literal"><span class="pre">number2</span></tt> ビットシフトする。</p>
1148
1148
  <p>以下は簡単な使用例です。</p>
1149
1149
  <p>実行例:</p>
1150
1150
  <div class="highlight-none"><div class="highlight"><pre>select Entries --filter &#39;n_likes == (5 &lt;&lt; 1)&#39;
@@ -1188,12 +1188,12 @@ select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; (content @ &quot;senna&qu
1188
1188
  # ]
1189
1189
  </pre></div>
1190
1190
  </div>
1191
- <p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">10</span></code> (= <code class="docutils literal"><span class="pre">5</span> <span class="pre">&lt;&lt;</span> <span class="pre">1</span></code>) のレコードにマッチします。</p>
1191
+ <p>この式は <tt class="docutils literal"><span class="pre">n_likes</span></tt> カラムの値が <tt class="docutils literal"><span class="pre">10</span></tt> (= <tt class="docutils literal"><span class="pre">5</span> <span class="pre">&lt;&lt;</span> <span class="pre">1</span></tt>) のレコードにマッチします。</p>
1192
1192
  </div>
1193
1193
  <div class="section" id="signed-right-shift-operator">
1194
- <h4>7.11.2.7.6.2. 符号付き右シフト演算子<a class="headerlink" href="#signed-right-shift-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
1195
- <p>構文は <code class="docutils literal"><span class="pre">number1</span> <span class="pre">&gt;&gt;</span> <span class="pre">number2</span></code> です。</p>
1196
- <p>この演算子は <code class="docutils literal"><span class="pre">number1</span></code> のビットを右に <code class="docutils literal"><span class="pre">number2</span></code> ビットシフトします。結果の符号は <code class="docutils literal"><span class="pre">number1</span></code> の符号と同じです。</p>
1194
+ <h4>7.12.2.7.6.2. 符号付き右シフト演算子<a class="headerlink" href="#signed-right-shift-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
1195
+ <p>構文は <tt class="docutils literal"><span class="pre">number1</span> <span class="pre">&gt;&gt;</span> <span class="pre">number2</span></tt> です。</p>
1196
+ <p>この演算子は <tt class="docutils literal"><span class="pre">number1</span></tt> のビットを右に <tt class="docutils literal"><span class="pre">number2</span></tt> ビットシフトします。結果の符号は <tt class="docutils literal"><span class="pre">number1</span></tt> の符号と同じです。</p>
1197
1197
  <p>以下は簡単な使用例です。</p>
1198
1198
  <p>実行例:</p>
1199
1199
  <div class="highlight-none"><div class="highlight"><pre>select Entries --filter &#39;n_likes == -(-10 &gt;&gt; 1)&#39;
@@ -1237,12 +1237,12 @@ select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; (content @ &quot;senna&qu
1237
1237
  # ]
1238
1238
  </pre></div>
1239
1239
  </div>
1240
- <p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">5</span></code> (= <code class="docutils literal"><span class="pre">-(-10</span> <span class="pre">&gt;&gt;</span> <span class="pre">1)</span></code> = <code class="docutils literal"><span class="pre">-(-5)</span></code>) のレコードにマッチします。</p>
1240
+ <p>この式は <tt class="docutils literal"><span class="pre">n_likes</span></tt> カラムの値が <tt class="docutils literal"><span class="pre">5</span></tt> (= <tt class="docutils literal"><span class="pre">-(-10</span> <span class="pre">&gt;&gt;</span> <span class="pre">1)</span></tt> = <tt class="docutils literal"><span class="pre">-(-5)</span></tt>) のレコードにマッチします。</p>
1241
1241
  </div>
1242
1242
  <div class="section" id="unsigned-right-shift-operator">
1243
- <h4>7.11.2.7.6.3. 符号なし右シフト演算子<a class="headerlink" href="#unsigned-right-shift-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
1244
- <p>構文は <code class="docutils literal"><span class="pre">number1</span> <span class="pre">&gt;&gt;&gt;</span> <span class="pre">number2</span></code> です。</p>
1245
- <p>この演算子は <code class="docutils literal"><span class="pre">number1</span></code> のビットを右に <code class="docutils literal"><span class="pre">number2</span></code> ビットシフトします。一番左の <code class="docutils literal"><span class="pre">number2</span></code> ビットには <code class="docutils literal"><span class="pre">0</span></code> が入ります。</p>
1243
+ <h4>7.12.2.7.6.3. 符号なし右シフト演算子<a class="headerlink" href="#unsigned-right-shift-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
1244
+ <p>構文は <tt class="docutils literal"><span class="pre">number1</span> <span class="pre">&gt;&gt;&gt;</span> <span class="pre">number2</span></tt> です。</p>
1245
+ <p>この演算子は <tt class="docutils literal"><span class="pre">number1</span></tt> のビットを右に <tt class="docutils literal"><span class="pre">number2</span></tt> ビットシフトします。一番左の <tt class="docutils literal"><span class="pre">number2</span></tt> ビットには <tt class="docutils literal"><span class="pre">0</span></tt> が入ります。</p>
1246
1246
  <p>以下は簡単な使用例です。</p>
1247
1247
  <p>実行例:</p>
1248
1248
  <div class="highlight-none"><div class="highlight"><pre>select Entries --filter &#39;n_likes == (2147483648 - (-10 &gt;&gt;&gt; 1))&#39;
@@ -1286,16 +1286,16 @@ select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; (content @ &quot;senna&qu
1286
1286
  # ]
1287
1287
  </pre></div>
1288
1288
  </div>
1289
- <p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">5</span></code> (= <code class="docutils literal"><span class="pre">2147483648</span> <span class="pre">-</span> <span class="pre">(-10</span> <span class="pre">&gt;&gt;&gt;</span> <span class="pre">1)</span></code> = <code class="docutils literal"><span class="pre">2147483648</span> <span class="pre">-</span> <span class="pre">2147483643</span></code>) のレコードにマッチします。</p>
1289
+ <p>この式は <tt class="docutils literal"><span class="pre">n_likes</span></tt> カラムの値が <tt class="docutils literal"><span class="pre">5</span></tt> (= <tt class="docutils literal"><span class="pre">2147483648</span> <span class="pre">-</span> <span class="pre">(-10</span> <span class="pre">&gt;&gt;&gt;</span> <span class="pre">1)</span></tt> = <tt class="docutils literal"><span class="pre">2147483648</span> <span class="pre">-</span> <span class="pre">2147483643</span></tt>) のレコードにマッチします。</p>
1290
1290
  </div>
1291
1291
  </div>
1292
1292
  <div class="section" id="comparison-operators">
1293
- <h3>7.11.2.7.7. 比較演算子<a class="headerlink" href="#comparison-operators" title="このヘッドラインへのパーマリンク">¶</a></h3>
1293
+ <h3>7.12.2.7.7. 比較演算子<a class="headerlink" href="#comparison-operators" title="このヘッドラインへのパーマリンク">¶</a></h3>
1294
1294
  <p>以下は比較演算子の説明です。</p>
1295
1295
  <div class="section" id="equal-operator">
1296
- <h4>7.11.2.7.7.1. 等価演算子<a class="headerlink" href="#equal-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
1297
- <p>構文は <code class="docutils literal"><span class="pre">object1</span> <span class="pre">==</span> <span class="pre">object2</span></code> です。</p>
1298
- <p>この演算子は <code class="docutils literal"><span class="pre">object1</span></code> が <code class="docutils literal"><span class="pre">object2</span></code> と等しいときは真を返し、そうでなければ偽を返します。</p>
1296
+ <h4>7.12.2.7.7.1. 等価演算子<a class="headerlink" href="#equal-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
1297
+ <p>構文は <tt class="docutils literal"><span class="pre">object1</span> <span class="pre">==</span> <span class="pre">object2</span></tt> です。</p>
1298
+ <p>この演算子は <tt class="docutils literal"><span class="pre">object1</span></tt> が <tt class="docutils literal"><span class="pre">object2</span></tt> と等しいときは真を返し、そうでなければ偽を返します。</p>
1299
1299
  <p>以下は簡単な使用例です。</p>
1300
1300
  <p>実行例:</p>
1301
1301
  <div class="highlight-none"><div class="highlight"><pre>select Entries --filter &#39;n_likes == 5&#39;
@@ -1339,12 +1339,12 @@ select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; (content @ &quot;senna&qu
1339
1339
  # ]
1340
1340
  </pre></div>
1341
1341
  </div>
1342
- <p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">5</span></code> の値にマッチします。</p>
1342
+ <p>この式は <tt class="docutils literal"><span class="pre">n_likes</span></tt> カラムの値が <tt class="docutils literal"><span class="pre">5</span></tt> の値にマッチします。</p>
1343
1343
  </div>
1344
1344
  <div class="section" id="not-equal-operator">
1345
- <h4>7.11.2.7.7.2. 不等価演算子<a class="headerlink" href="#not-equal-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
1346
- <p>構文は <code class="docutils literal"><span class="pre">object1</span> <span class="pre">!=</span> <span class="pre">object2</span></code> です。</p>
1347
- <p>この演算子は <code class="docutils literal"><span class="pre">object1</span></code> が <code class="docutils literal"><span class="pre">object2</span></code> と等しくないときに真を返し、そうでなければ偽を返します。</p>
1345
+ <h4>7.12.2.7.7.2. 不等価演算子<a class="headerlink" href="#not-equal-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
1346
+ <p>構文は <tt class="docutils literal"><span class="pre">object1</span> <span class="pre">!=</span> <span class="pre">object2</span></tt> です。</p>
1347
+ <p>この演算子は <tt class="docutils literal"><span class="pre">object1</span></tt> が <tt class="docutils literal"><span class="pre">object2</span></tt> と等しくないときに真を返し、そうでなければ偽を返します。</p>
1348
1348
  <p>以下は簡単な使用例です。</p>
1349
1349
  <p>実行例:</p>
1350
1350
  <div class="highlight-none"><div class="highlight"><pre>select Entries --filter &#39;n_likes != 5&#39;
@@ -1406,32 +1406,32 @@ select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; (content @ &quot;senna&qu
1406
1406
  # ]
1407
1407
  </pre></div>
1408
1408
  </div>
1409
- <p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">5</span></code> ではない式にマッチします。</p>
1409
+ <p>この式は <tt class="docutils literal"><span class="pre">n_likes</span></tt> カラムの値が <tt class="docutils literal"><span class="pre">5</span></tt> ではない式にマッチします。</p>
1410
1410
  </div>
1411
1411
  <div class="section" id="less-than-operator">
1412
- <h4>7.11.2.7.7.3. 小なり演算子<a class="headerlink" href="#less-than-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
1412
+ <h4>7.12.2.7.7.3. 小なり演算子<a class="headerlink" href="#less-than-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
1413
1413
  <p>TODO: ...</p>
1414
1414
  </div>
1415
1415
  <div class="section" id="less-than-or-equal-to-operator">
1416
- <h4>7.11.2.7.7.4. 以下演算子<a class="headerlink" href="#less-than-or-equal-to-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
1416
+ <h4>7.12.2.7.7.4. 以下演算子<a class="headerlink" href="#less-than-or-equal-to-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
1417
1417
  <p>TODO: ...</p>
1418
1418
  </div>
1419
1419
  <div class="section" id="greater-than-operator">
1420
- <h4>7.11.2.7.7.5. 大なり演算子<a class="headerlink" href="#greater-than-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
1420
+ <h4>7.12.2.7.7.5. 大なり演算子<a class="headerlink" href="#greater-than-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
1421
1421
  <p>TODO: ...</p>
1422
1422
  </div>
1423
1423
  <div class="section" id="greater-than-or-equal-to-operator">
1424
- <h4>7.11.2.7.7.6. 以上演算子<a class="headerlink" href="#greater-than-or-equal-to-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
1424
+ <h4>7.12.2.7.7.6. 以上演算子<a class="headerlink" href="#greater-than-or-equal-to-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
1425
1425
  <p>TODO: ...</p>
1426
1426
  </div>
1427
1427
  </div>
1428
1428
  </div>
1429
1429
  <div class="section" id="assignment-operators">
1430
- <h2>7.11.2.8. 代入演算子<a class="headerlink" href="#assignment-operators" title="このヘッドラインへのパーマリンク">¶</a></h2>
1430
+ <h2>7.12.2.8. 代入演算子<a class="headerlink" href="#assignment-operators" title="このヘッドラインへのパーマリンク">¶</a></h2>
1431
1431
  <div class="section" id="addition-assignment-operator">
1432
- <h3>7.11.2.8.1. 加算代入演算子<a class="headerlink" href="#addition-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
1433
- <p>構文は <code class="docutils literal"><span class="pre">column</span> <span class="pre">+=</span> <span class="pre">value</span></code> です。</p>
1434
- <p>この演算子は <code class="docutils literal"><span class="pre">column1</span></code> に <code class="docutils literal"><span class="pre">column2</span></code> を加算代入します。</p>
1432
+ <h3>7.12.2.8.1. 加算代入演算子<a class="headerlink" href="#addition-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
1433
+ <p>構文は <tt class="docutils literal"><span class="pre">column</span> <span class="pre">+=</span> <span class="pre">value</span></tt> です。</p>
1434
+ <p>この演算子は <tt class="docutils literal"><span class="pre">column1</span></tt> に <tt class="docutils literal"><span class="pre">column2</span></tt> を加算代入します。</p>
1435
1435
  <p>実行例:</p>
1436
1436
  <div class="highlight-none"><div class="highlight"><pre>select Entries --output_columns _key,n_likes,_score --filter true --scorer &#39;_score += n_likes&#39;
1437
1437
  # [
@@ -1489,14 +1489,14 @@ select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; (content @ &quot;senna&qu
1489
1489
  # ]
1490
1490
  </pre></div>
1491
1491
  </div>
1492
- <p><code class="docutils literal"><span class="pre">--filter</span></code> による <code class="docutils literal"><span class="pre">_score</span></code> の値はこの場合は常に1です。その後、'_score = _score + n_likes' という加算代入演算をそれぞれのレコードへ適用します。</p>
1493
- <p>例えば、 <code class="docutils literal"><span class="pre">_key</span></code> として&quot;Good-bye Senna&quot;を格納しているレコードの <code class="docutils literal"><span class="pre">_score</span></code> の値は3です。</p>
1494
- <p>そのため、 <code class="docutils literal"><span class="pre">1</span> <span class="pre">+</span> <span class="pre">3</span></code> という式が評価されてから <code class="docutils literal"><span class="pre">_score</span></code> カラムへと演算結果が保存されます。</p>
1492
+ <p><tt class="docutils literal"><span class="pre">--filter</span></tt> による <tt class="docutils literal"><span class="pre">_score</span></tt> の値はこの場合は常に1です。その後、'_score = _score + n_likes' という加算代入演算をそれぞれのレコードへ適用します。</p>
1493
+ <p>例えば、 <tt class="docutils literal"><span class="pre">_key</span></tt> として&quot;Good-bye Senna&quot;を格納しているレコードの <tt class="docutils literal"><span class="pre">_score</span></tt> の値は3です。</p>
1494
+ <p>そのため、 <tt class="docutils literal"><span class="pre">1</span> <span class="pre">+</span> <span class="pre">3</span></tt> という式が評価されてから <tt class="docutils literal"><span class="pre">_score</span></tt> カラムへと演算結果が保存されます。</p>
1495
1495
  </div>
1496
1496
  <div class="section" id="subtraction-assignment-operator">
1497
- <h3>7.11.2.8.2. 減算代入演算子<a class="headerlink" href="#subtraction-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
1498
- <p>構文は <code class="docutils literal"><span class="pre">column1</span> <span class="pre">-=</span> <span class="pre">column2</span></code> です。</p>
1499
- <p>この演算子は <code class="docutils literal"><span class="pre">column1</span></code> から <code class="docutils literal"><span class="pre">column2</span></code> を減算代入します。</p>
1497
+ <h3>7.12.2.8.2. 減算代入演算子<a class="headerlink" href="#subtraction-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
1498
+ <p>構文は <tt class="docutils literal"><span class="pre">column1</span> <span class="pre">-=</span> <span class="pre">column2</span></tt> です。</p>
1499
+ <p>この演算子は <tt class="docutils literal"><span class="pre">column1</span></tt> から <tt class="docutils literal"><span class="pre">column2</span></tt> を減算代入します。</p>
1500
1500
  <p>実行例:</p>
1501
1501
  <div class="highlight-none"><div class="highlight"><pre>select Entries --output_columns _key,n_likes,_score --filter true --scorer &#39;_score -= n_likes&#39;
1502
1502
  # [
@@ -1554,14 +1554,14 @@ select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; (content @ &quot;senna&qu
1554
1554
  # ]
1555
1555
  </pre></div>
1556
1556
  </div>
1557
- <p><code class="docutils literal"><span class="pre">--filter</span></code> による <code class="docutils literal"><span class="pre">_score</span></code> の値はこの場合は常に1です。その後、'_score = _score - n_likes' という減算代入演算をそれぞれのレコードへ適用します。</p>
1558
- <p>例えば、 <code class="docutils literal"><span class="pre">_key</span></code> として&quot;Good-bye Senna&quot;を格納しているレコードの <code class="docutils literal"><span class="pre">_score</span></code> の値は3です。</p>
1559
- <p>そのため、 <code class="docutils literal"><span class="pre">1</span> <span class="pre">-</span> <span class="pre">3</span></code> という式が評価されてから <code class="docutils literal"><span class="pre">_score</span></code> カラムへと演算結果が保存されます。</p>
1557
+ <p><tt class="docutils literal"><span class="pre">--filter</span></tt> による <tt class="docutils literal"><span class="pre">_score</span></tt> の値はこの場合は常に1です。その後、'_score = _score - n_likes' という減算代入演算をそれぞれのレコードへ適用します。</p>
1558
+ <p>例えば、 <tt class="docutils literal"><span class="pre">_key</span></tt> として&quot;Good-bye Senna&quot;を格納しているレコードの <tt class="docutils literal"><span class="pre">_score</span></tt> の値は3です。</p>
1559
+ <p>そのため、 <tt class="docutils literal"><span class="pre">1</span> <span class="pre">-</span> <span class="pre">3</span></tt> という式が評価されてから <tt class="docutils literal"><span class="pre">_score</span></tt> カラムへと演算結果が保存されます。</p>
1560
1560
  </div>
1561
1561
  <div class="section" id="multiplication-assignment-operator">
1562
- <h3>7.11.2.8.3. 乗算代入演算子<a class="headerlink" href="#multiplication-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
1563
- <p>構文は <code class="docutils literal"><span class="pre">column1</span> <span class="pre">*=</span> <span class="pre">column2</span></code> です。</p>
1564
- <p>この演算子は <code class="docutils literal"><span class="pre">column1</span></code> に <code class="docutils literal"><span class="pre">column2</span></code> を乗算演算する。</p>
1562
+ <h3>7.12.2.8.3. 乗算代入演算子<a class="headerlink" href="#multiplication-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
1563
+ <p>構文は <tt class="docutils literal"><span class="pre">column1</span> <span class="pre">*=</span> <span class="pre">column2</span></tt> です。</p>
1564
+ <p>この演算子は <tt class="docutils literal"><span class="pre">column1</span></tt> に <tt class="docutils literal"><span class="pre">column2</span></tt> を乗算演算する。</p>
1565
1565
  <p>実行例:</p>
1566
1566
  <div class="highlight-none"><div class="highlight"><pre>select Entries --output_columns _key,n_likes,_score --filter true --scorer &#39;_score *= n_likes&#39;
1567
1567
  # [
@@ -1619,14 +1619,14 @@ select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; (content @ &quot;senna&qu
1619
1619
  # ]
1620
1620
  </pre></div>
1621
1621
  </div>
1622
- <p><code class="docutils literal"><span class="pre">--filter</span></code> による <code class="docutils literal"><span class="pre">_score</span></code> の値はこの場合は常に1です。その後、'_score = _score * n_likes' という乗算代入演算をそれぞれのレコードへ適用します。</p>
1623
- <p>例えば、 <code class="docutils literal"><span class="pre">_key</span></code> として&quot;Good-bye Senna&quot;を格納しているレコードの <code class="docutils literal"><span class="pre">_score</span></code> の値は3です。</p>
1624
- <p>そのため、 <code class="docutils literal"><span class="pre">1</span> <span class="pre">*</span> <span class="pre">3</span></code> という式が評価されてから <code class="docutils literal"><span class="pre">_score</span></code> カラムへと演算結果が保存されます。</p>
1622
+ <p><tt class="docutils literal"><span class="pre">--filter</span></tt> による <tt class="docutils literal"><span class="pre">_score</span></tt> の値はこの場合は常に1です。その後、'_score = _score * n_likes' という乗算代入演算をそれぞれのレコードへ適用します。</p>
1623
+ <p>例えば、 <tt class="docutils literal"><span class="pre">_key</span></tt> として&quot;Good-bye Senna&quot;を格納しているレコードの <tt class="docutils literal"><span class="pre">_score</span></tt> の値は3です。</p>
1624
+ <p>そのため、 <tt class="docutils literal"><span class="pre">1</span> <span class="pre">*</span> <span class="pre">3</span></tt> という式が評価されてから <tt class="docutils literal"><span class="pre">_score</span></tt> カラムへと演算結果が保存されます。</p>
1625
1625
  </div>
1626
1626
  <div class="section" id="division-assignment-operator">
1627
- <h3>7.11.2.8.4. 除算代入演算子<a class="headerlink" href="#division-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
1628
- <p>構文は <code class="docutils literal"><span class="pre">column1</span> <span class="pre">/=</span> <span class="pre">column2</span></code> です。</p>
1629
- <p>この演算子は <code class="docutils literal"><span class="pre">column1</span></code> に <code class="docutils literal"><span class="pre">column2</span></code> を除算代入します。</p>
1627
+ <h3>7.12.2.8.4. 除算代入演算子<a class="headerlink" href="#division-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
1628
+ <p>構文は <tt class="docutils literal"><span class="pre">column1</span> <span class="pre">/=</span> <span class="pre">column2</span></tt> です。</p>
1629
+ <p>この演算子は <tt class="docutils literal"><span class="pre">column1</span></tt> に <tt class="docutils literal"><span class="pre">column2</span></tt> を除算代入します。</p>
1630
1630
  <p>実行例:</p>
1631
1631
  <div class="highlight-none"><div class="highlight"><pre>select Entries --output_columns _key,n_likes,_score --filter true --scorer &#39;_score /= n_likes&#39;
1632
1632
  # [
@@ -1684,14 +1684,14 @@ select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; (content @ &quot;senna&qu
1684
1684
  # ]
1685
1685
  </pre></div>
1686
1686
  </div>
1687
- <p><code class="docutils literal"><span class="pre">--filter</span></code> による <code class="docutils literal"><span class="pre">_score</span></code> の値はこの場合は常に1です。その後、'_score = _score / n_likes' という除算代入演算をそれぞれのレコードへ適用します。</p>
1688
- <p>例えば、 <code class="docutils literal"><span class="pre">_key</span></code> として&quot;Good-bye Senna&quot;を格納しているレコードの <code class="docutils literal"><span class="pre">_score</span></code> の値は3です。</p>
1689
- <p>そのため、 <code class="docutils literal"><span class="pre">1</span> <span class="pre">/</span> <span class="pre">3</span></code> という式が評価されてから <code class="docutils literal"><span class="pre">_score</span></code> カラムへと演算結果が保存されます。</p>
1687
+ <p><tt class="docutils literal"><span class="pre">--filter</span></tt> による <tt class="docutils literal"><span class="pre">_score</span></tt> の値はこの場合は常に1です。その後、'_score = _score / n_likes' という除算代入演算をそれぞれのレコードへ適用します。</p>
1688
+ <p>例えば、 <tt class="docutils literal"><span class="pre">_key</span></tt> として&quot;Good-bye Senna&quot;を格納しているレコードの <tt class="docutils literal"><span class="pre">_score</span></tt> の値は3です。</p>
1689
+ <p>そのため、 <tt class="docutils literal"><span class="pre">1</span> <span class="pre">/</span> <span class="pre">3</span></tt> という式が評価されてから <tt class="docutils literal"><span class="pre">_score</span></tt> カラムへと演算結果が保存されます。</p>
1690
1690
  </div>
1691
1691
  <div class="section" id="modulo-assignment-operator">
1692
- <h3>7.11.2.8.5. 剰余代入演算子<a class="headerlink" href="#modulo-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
1693
- <p>構文は <code class="docutils literal"><span class="pre">column1</span> <span class="pre">%=</span> <span class="pre">column2</span></code> です。</p>
1694
- <p>この演算子は <code class="docutils literal"><span class="pre">column1</span></code> に <code class="docutils literal"><span class="pre">column2</span></code> を剰余代入します。</p>
1692
+ <h3>7.12.2.8.5. 剰余代入演算子<a class="headerlink" href="#modulo-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
1693
+ <p>構文は <tt class="docutils literal"><span class="pre">column1</span> <span class="pre">%=</span> <span class="pre">column2</span></tt> です。</p>
1694
+ <p>この演算子は <tt class="docutils literal"><span class="pre">column1</span></tt> に <tt class="docutils literal"><span class="pre">column2</span></tt> を剰余代入します。</p>
1695
1695
  <p>実行例:</p>
1696
1696
  <div class="highlight-none"><div class="highlight"><pre>select Entries --output_columns _key,n_likes,_score --filter true --scorer &#39;_score %= n_likes&#39;
1697
1697
  # [
@@ -1749,14 +1749,14 @@ select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; (content @ &quot;senna&qu
1749
1749
  # ]
1750
1750
  </pre></div>
1751
1751
  </div>
1752
- <p><code class="docutils literal"><span class="pre">--filter</span></code> による <code class="docutils literal"><span class="pre">_score</span></code> の値はこの場合は常に1です。その後、'_score = _score % n_likes' という除算代入演算をそれぞれのレコードへ適用します。</p>
1753
- <p>例えば、 <code class="docutils literal"><span class="pre">_key</span></code> として&quot;Good-bye Senna&quot;を格納しているレコードの <code class="docutils literal"><span class="pre">_score</span></code> の値は3です。</p>
1754
- <p>そのため、 <code class="docutils literal"><span class="pre">1</span> <span class="pre">%</span> <span class="pre">3</span></code> という式が評価されてから <code class="docutils literal"><span class="pre">_score</span></code> カラムへと演算結果が保存されます。</p>
1752
+ <p><tt class="docutils literal"><span class="pre">--filter</span></tt> による <tt class="docutils literal"><span class="pre">_score</span></tt> の値はこの場合は常に1です。その後、'_score = _score % n_likes' という除算代入演算をそれぞれのレコードへ適用します。</p>
1753
+ <p>例えば、 <tt class="docutils literal"><span class="pre">_key</span></tt> として&quot;Good-bye Senna&quot;を格納しているレコードの <tt class="docutils literal"><span class="pre">_score</span></tt> の値は3です。</p>
1754
+ <p>そのため、 <tt class="docutils literal"><span class="pre">1</span> <span class="pre">%</span> <span class="pre">3</span></tt> という式が評価されてから <tt class="docutils literal"><span class="pre">_score</span></tt> カラムへと演算結果が保存されます。</p>
1755
1755
  </div>
1756
1756
  <div class="section" id="bitwise-left-shift-assignment-operator">
1757
- <h3>7.11.2.8.6. 左シフト代入演算子<a class="headerlink" href="#bitwise-left-shift-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
1758
- <p>構文は <code class="docutils literal"><span class="pre">column1</span> <span class="pre">&lt;&lt;</span> <span class="pre">column2</span></code> です。</p>
1759
- <p>この演算子は <code class="docutils literal"><span class="pre">column1</span></code> のビットを左に <code class="docutils literal"><span class="pre">column2</span></code> 左ビットシフト代入演算します。</p>
1757
+ <h3>7.12.2.8.6. 左シフト代入演算子<a class="headerlink" href="#bitwise-left-shift-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
1758
+ <p>構文は <tt class="docutils literal"><span class="pre">column1</span> <span class="pre">&lt;&lt;</span> <span class="pre">column2</span></tt> です。</p>
1759
+ <p>この演算子は <tt class="docutils literal"><span class="pre">column1</span></tt> のビットを左に <tt class="docutils literal"><span class="pre">column2</span></tt> 左ビットシフト代入演算します。</p>
1760
1760
  <p>実行例:</p>
1761
1761
  <div class="highlight-none"><div class="highlight"><pre>select Entries --output_columns _key,n_likes,_score --filter true --scorer &#39;_score &lt;&lt;= n_likes&#39;
1762
1762
  # [
@@ -1814,24 +1814,24 @@ select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; (content @ &quot;senna&qu
1814
1814
  # ]
1815
1815
  </pre></div>
1816
1816
  </div>
1817
- <p><code class="docutils literal"><span class="pre">--filter</span></code> による <code class="docutils literal"><span class="pre">_score</span></code> の値はこの場合は常に1です。その後、'_score = _score &lt;&lt; n_likes' という左ビットシフト代入演算をそれぞれのレコードへ適用します。</p>
1818
- <p>例えば、 <code class="docutils literal"><span class="pre">_key</span></code> として&quot;Good-bye Senna&quot;を格納しているレコードの <code class="docutils literal"><span class="pre">_score</span></code> の値は3です。</p>
1819
- <p>そのため、 <code class="docutils literal"><span class="pre">1</span> <span class="pre">&lt;&lt;</span> <span class="pre">3</span></code> という式が評価されてから <code class="docutils literal"><span class="pre">_score</span></code> カラムへと演算結果が保存されます。</p>
1817
+ <p><tt class="docutils literal"><span class="pre">--filter</span></tt> による <tt class="docutils literal"><span class="pre">_score</span></tt> の値はこの場合は常に1です。その後、'_score = _score &lt;&lt; n_likes' という左ビットシフト代入演算をそれぞれのレコードへ適用します。</p>
1818
+ <p>例えば、 <tt class="docutils literal"><span class="pre">_key</span></tt> として&quot;Good-bye Senna&quot;を格納しているレコードの <tt class="docutils literal"><span class="pre">_score</span></tt> の値は3です。</p>
1819
+ <p>そのため、 <tt class="docutils literal"><span class="pre">1</span> <span class="pre">&lt;&lt;</span> <span class="pre">3</span></tt> という式が評価されてから <tt class="docutils literal"><span class="pre">_score</span></tt> カラムへと演算結果が保存されます。</p>
1820
1820
  </div>
1821
1821
  <div class="section" id="bitwise-signed-right-shift-assignment-operator">
1822
- <h3>7.11.2.8.7. 符号あり右シフト代入演算子<a class="headerlink" href="#bitwise-signed-right-shift-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
1823
- <p>構文は <code class="docutils literal"><span class="pre">column1</span> <span class="pre">&gt;&gt;=</span> <span class="pre">column2</span></code> です。</p>
1824
- <p>この演算子は <code class="docutils literal"><span class="pre">column1</span></code> のビットを <code class="docutils literal"><span class="pre">column2</span></code> 右ビットシフト代入演算します。</p>
1822
+ <h3>7.12.2.8.7. 符号あり右シフト代入演算子<a class="headerlink" href="#bitwise-signed-right-shift-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
1823
+ <p>構文は <tt class="docutils literal"><span class="pre">column1</span> <span class="pre">&gt;&gt;=</span> <span class="pre">column2</span></tt> です。</p>
1824
+ <p>この演算子は <tt class="docutils literal"><span class="pre">column1</span></tt> のビットを <tt class="docutils literal"><span class="pre">column2</span></tt> 右ビットシフト代入演算します。</p>
1825
1825
  </div>
1826
1826
  <div class="section" id="bitwise-unsigned-right-shift-assignment-operator">
1827
- <h3>7.11.2.8.8. 符号なし右シフト代入演算子<a class="headerlink" href="#bitwise-unsigned-right-shift-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
1828
- <p>構文は <code class="docutils literal"><span class="pre">column1</span> <span class="pre">&gt;&gt;&gt;=</span> <span class="pre">column2</span></code> です。</p>
1829
- <p>この演算子は <code class="docutils literal"><span class="pre">column1</span></code> のビットを <code class="docutils literal"><span class="pre">column2</span></code> 符号なし右ビットシフト代入演算します。</p>
1827
+ <h3>7.12.2.8.8. 符号なし右シフト代入演算子<a class="headerlink" href="#bitwise-unsigned-right-shift-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
1828
+ <p>構文は <tt class="docutils literal"><span class="pre">column1</span> <span class="pre">&gt;&gt;&gt;=</span> <span class="pre">column2</span></tt> です。</p>
1829
+ <p>この演算子は <tt class="docutils literal"><span class="pre">column1</span></tt> のビットを <tt class="docutils literal"><span class="pre">column2</span></tt> 符号なし右ビットシフト代入演算します。</p>
1830
1830
  </div>
1831
1831
  <div class="section" id="bitwise-and-assignment-operator">
1832
- <h3>7.11.2.8.9. ビット論理積代入演算子<a class="headerlink" href="#bitwise-and-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
1833
- <p>構文は <code class="docutils literal"><span class="pre">column1</span> <span class="pre">&amp;=</span> <span class="pre">column2</span></code> です。</p>
1834
- <p>この演算子は <code class="docutils literal"><span class="pre">column1</span></code> に <code class="docutils literal"><span class="pre">column2</span></code> をビット論理積代入演算します。</p>
1832
+ <h3>7.12.2.8.9. ビット論理積代入演算子<a class="headerlink" href="#bitwise-and-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
1833
+ <p>構文は <tt class="docutils literal"><span class="pre">column1</span> <span class="pre">&amp;=</span> <span class="pre">column2</span></tt> です。</p>
1834
+ <p>この演算子は <tt class="docutils literal"><span class="pre">column1</span></tt> に <tt class="docutils literal"><span class="pre">column2</span></tt> をビット論理積代入演算します。</p>
1835
1835
  <p>実行例:</p>
1836
1836
  <div class="highlight-none"><div class="highlight"><pre>select Entries --output_columns _key,n_likes,_score --filter true --scorer &#39;_score &amp;= n_likes&#39;
1837
1837
  # [
@@ -1889,14 +1889,14 @@ select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; (content @ &quot;senna&qu
1889
1889
  # ]
1890
1890
  </pre></div>
1891
1891
  </div>
1892
- <p><code class="docutils literal"><span class="pre">--filter</span></code> による <code class="docutils literal"><span class="pre">_score</span></code> の値はこの場合は常に1です。その後、'_score = _score &amp; n_likes' というビット論理積代入演算をそれぞれのレコードへ適用します。</p>
1893
- <p>例えば、 <code class="docutils literal"><span class="pre">_key</span></code> として&quot;Groonga&quot;を格納しているレコードの値は10です。</p>
1894
- <p>そのため、 <code class="docutils literal"><span class="pre">1</span> <span class="pre">&amp;</span> <span class="pre">10</span></code> という式が評価されてから <code class="docutils literal"><span class="pre">_score</span></code> カラムへと演算結果が保存されます。</p>
1892
+ <p><tt class="docutils literal"><span class="pre">--filter</span></tt> による <tt class="docutils literal"><span class="pre">_score</span></tt> の値はこの場合は常に1です。その後、'_score = _score &amp; n_likes' というビット論理積代入演算をそれぞれのレコードへ適用します。</p>
1893
+ <p>例えば、 <tt class="docutils literal"><span class="pre">_key</span></tt> として&quot;Groonga&quot;を格納しているレコードの値は10です。</p>
1894
+ <p>そのため、 <tt class="docutils literal"><span class="pre">1</span> <span class="pre">&amp;</span> <span class="pre">10</span></tt> という式が評価されてから <tt class="docutils literal"><span class="pre">_score</span></tt> カラムへと演算結果が保存されます。</p>
1895
1895
  </div>
1896
1896
  <div class="section" id="bitwise-or-assignment-operator">
1897
- <h3>7.11.2.8.10. ビット論理和代入演算子<a class="headerlink" href="#bitwise-or-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
1898
- <p>構文は <code class="docutils literal"><span class="pre">column1</span> <span class="pre">|=</span> <span class="pre">column2</span></code> です。</p>
1899
- <p>この演算子は <code class="docutils literal"><span class="pre">column1</span></code> に <code class="docutils literal"><span class="pre">column2</span></code> をビット論理和代入演算する。</p>
1897
+ <h3>7.12.2.8.10. ビット論理和代入演算子<a class="headerlink" href="#bitwise-or-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
1898
+ <p>構文は <tt class="docutils literal"><span class="pre">column1</span> <span class="pre">|=</span> <span class="pre">column2</span></tt> です。</p>
1899
+ <p>この演算子は <tt class="docutils literal"><span class="pre">column1</span></tt> に <tt class="docutils literal"><span class="pre">column2</span></tt> をビット論理和代入演算する。</p>
1900
1900
  <p>実行例:</p>
1901
1901
  <div class="highlight-none"><div class="highlight"><pre>select Entries --output_columns _key,n_likes,_score --filter true --scorer &#39;_score |= n_likes&#39;
1902
1902
  # [
@@ -1954,14 +1954,14 @@ select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; (content @ &quot;senna&qu
1954
1954
  # ]
1955
1955
  </pre></div>
1956
1956
  </div>
1957
- <p><code class="docutils literal"><span class="pre">--filter</span></code> による <code class="docutils literal"><span class="pre">_score</span></code> の値はこの場合は常に1です。その後、'_score = _score | n_likes' というビット論理和代入演算をそれぞれのレコードへ適用します。</p>
1958
- <p>例えば、 <code class="docutils literal"><span class="pre">_key</span></code> として&quot;Groonga&quot;を格納しているレコードの値は10です。</p>
1959
- <p>そのため、 <code class="docutils literal"><span class="pre">1</span> <span class="pre">|</span> <span class="pre">10</span></code> という式が評価されてから <code class="docutils literal"><span class="pre">_score</span></code> カラムへと演算結果が保存されます。</p>
1957
+ <p><tt class="docutils literal"><span class="pre">--filter</span></tt> による <tt class="docutils literal"><span class="pre">_score</span></tt> の値はこの場合は常に1です。その後、'_score = _score | n_likes' というビット論理和代入演算をそれぞれのレコードへ適用します。</p>
1958
+ <p>例えば、 <tt class="docutils literal"><span class="pre">_key</span></tt> として&quot;Groonga&quot;を格納しているレコードの値は10です。</p>
1959
+ <p>そのため、 <tt class="docutils literal"><span class="pre">1</span> <span class="pre">|</span> <span class="pre">10</span></tt> という式が評価されてから <tt class="docutils literal"><span class="pre">_score</span></tt> カラムへと演算結果が保存されます。</p>
1960
1960
  </div>
1961
1961
  <div class="section" id="bitwise-xor-assignment-operator">
1962
- <h3>7.11.2.8.11. ビット排他的論理和代入演算子<a class="headerlink" href="#bitwise-xor-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
1963
- <p>構文は <code class="docutils literal"><span class="pre">column1</span> <span class="pre">^=</span> <span class="pre">column2</span></code> です。</p>
1964
- <p>この演算子は <code class="docutils literal"><span class="pre">column1</span></code> に <code class="docutils literal"><span class="pre">column2</span></code> をビット排他的論理和代入演算します。</p>
1962
+ <h3>7.12.2.8.11. ビット排他的論理和代入演算子<a class="headerlink" href="#bitwise-xor-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
1963
+ <p>構文は <tt class="docutils literal"><span class="pre">column1</span> <span class="pre">^=</span> <span class="pre">column2</span></tt> です。</p>
1964
+ <p>この演算子は <tt class="docutils literal"><span class="pre">column1</span></tt> に <tt class="docutils literal"><span class="pre">column2</span></tt> をビット排他的論理和代入演算します。</p>
1965
1965
  <p>実行例:</p>
1966
1966
  <div class="highlight-none"><div class="highlight"><pre>select Entries --output_columns _key,n_likes,_score --filter true --scorer &#39;_score ^= n_likes&#39;
1967
1967
  # [
@@ -2019,18 +2019,18 @@ select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; (content @ &quot;senna&qu
2019
2019
  # ]
2020
2020
  </pre></div>
2021
2021
  </div>
2022
- <p><code class="docutils literal"><span class="pre">--filter</span></code> による <code class="docutils literal"><span class="pre">_score</span></code> の値はこの場合は常に1です。その後、'_score = _score ^ n_likes' という減算代入演算をそれぞれのレコードへ適用します。</p>
2023
- <p>例えば、 <code class="docutils literal"><span class="pre">_key</span></code> として&quot;Good-bye Senna&quot;を格納しているレコードの <code class="docutils literal"><span class="pre">_score</span></code> の値は3です。</p>
2024
- <p>そのため、 <code class="docutils literal"><span class="pre">1</span> <span class="pre">^</span> <span class="pre">3</span></code> という式が評価されてから <code class="docutils literal"><span class="pre">_score</span></code> カラムへと演算結果が保存されます。</p>
2022
+ <p><tt class="docutils literal"><span class="pre">--filter</span></tt> による <tt class="docutils literal"><span class="pre">_score</span></tt> の値はこの場合は常に1です。その後、'_score = _score ^ n_likes' という減算代入演算をそれぞれのレコードへ適用します。</p>
2023
+ <p>例えば、 <tt class="docutils literal"><span class="pre">_key</span></tt> として&quot;Good-bye Senna&quot;を格納しているレコードの <tt class="docutils literal"><span class="pre">_score</span></tt> の値は3です。</p>
2024
+ <p>そのため、 <tt class="docutils literal"><span class="pre">1</span> <span class="pre">^</span> <span class="pre">3</span></tt> という式が評価されてから <tt class="docutils literal"><span class="pre">_score</span></tt> カラムへと演算結果が保存されます。</p>
2025
2025
  </div>
2026
2026
  </div>
2027
2027
  <div class="section" id="original-operators">
2028
- <h2>7.11.2.9. 独自の演算子<a class="headerlink" href="#original-operators" title="このヘッドラインへのパーマリンク">¶</a></h2>
2029
- <p>スクリプト構文はECMAScriptの構文に独自の二項演算子を追加しています。これらは検索に特化した操作をします。演算子の最初の文字は <code class="docutils literal"><span class="pre">&#64;</span></code> または <code class="docutils literal"><span class="pre">*</span></code> です。</p>
2028
+ <h2>7.12.2.9. 独自の演算子<a class="headerlink" href="#original-operators" title="このヘッドラインへのパーマリンク">¶</a></h2>
2029
+ <p>スクリプト構文はECMAScriptの構文に独自の二項演算子を追加しています。これらは検索に特化した操作をします。演算子の最初の文字は <tt class="docutils literal"><span class="pre">&#64;</span></tt> または <tt class="docutils literal"><span class="pre">*</span></tt> です。</p>
2030
2030
  <div class="section" id="match-operator">
2031
- <span id="match-oeprator"></span><h3>7.11.2.9.1. マッチ演算子<a class="headerlink" href="#match-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
2032
- <p>構文は <code class="docutils literal"><span class="pre">column</span> <span class="pre">&#64;</span> <span class="pre">value</span></code> です。</p>
2033
- <p>この演算子は <code class="docutils literal"><span class="pre">column</span></code> の転置インデックスを使って <code class="docutils literal"><span class="pre">value</span></code> を検索します。普通は全文検索をしますが、タグ検索もできます。これは、タグ検索も転置インデックスを使って実現しているからです。</p>
2031
+ <span id="match-oeprator"></span><h3>7.12.2.9.1. マッチ演算子<a class="headerlink" href="#match-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
2032
+ <p>構文は <tt class="docutils literal"><span class="pre">column</span> <span class="pre">&#64;</span> <span class="pre">value</span></tt> です。</p>
2033
+ <p>この演算子は <tt class="docutils literal"><span class="pre">column</span></tt> の転置インデックスを使って <tt class="docutils literal"><span class="pre">value</span></tt> を検索します。普通は全文検索をしますが、タグ検索もできます。これは、タグ検索も転置インデックスを使って実現しているからです。</p>
2034
2034
  <p><a class="reference internal" href="query_syntax.html"><em>クエリー構文</em></a> はデフォルトでこの演算子を使っています。</p>
2035
2035
  <p>以下は簡単な使用例です。</p>
2036
2036
  <p>実行例:</p>
@@ -2063,13 +2063,13 @@ select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; (content @ &quot;senna&qu
2063
2063
  # ]
2064
2064
  </pre></div>
2065
2065
  </div>
2066
- <p>この式は <code class="docutils literal"><span class="pre">content</span></code> カラムの値に <code class="docutils literal"><span class="pre">fast</span></code> という単語を含んでいるレコードにマッチします。</p>
2066
+ <p>この式は <tt class="docutils literal"><span class="pre">content</span></tt> カラムの値に <tt class="docutils literal"><span class="pre">fast</span></tt> という単語を含んでいるレコードにマッチします。</p>
2067
2067
  </div>
2068
2068
  <div class="section" id="prefix-search-operator">
2069
- <span id="id1"></span><h3>7.11.2.9.2. 前方一致検索演算子<a class="headerlink" href="#prefix-search-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
2070
- <p>構文は <code class="docutils literal"><span class="pre">column</span> <span class="pre">&#64;^</span> <span class="pre">value</span></code> です。</p>
2071
- <p>この条件式は <code class="docutils literal"><span class="pre">value</span></code> で前方一致検索します。前方一致検索は <code class="docutils literal"><span class="pre">value</span></code> で始まる単語を含むレコードを検索します。</p>
2072
- <p>カラムの値を高速に前方一致検索できます。ただし、そのカラムにはインデックスを作成し、そのインデックス用のテーブルをパトリシアトライ( <code class="docutils literal"><span class="pre">TABLE_PAT_KEY</span></code> )またはダブル配列トライ( <code class="docutils literal"><span class="pre">TABLE_DAT_KEY</span></code> )にしなければいけません。あるいは、パトリシアトライテーブルまたはダブル配列テーブルの <code class="docutils literal"><span class="pre">_key</span></code> も高速に前方一致検索できます。 <code class="docutils literal"><span class="pre">_key</span></code> にインデックスを作成する必要はありません。</p>
2069
+ <span id="id1"></span><h3>7.12.2.9.2. 前方一致検索演算子<a class="headerlink" href="#prefix-search-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
2070
+ <p>構文は <tt class="docutils literal"><span class="pre">column</span> <span class="pre">&#64;^</span> <span class="pre">value</span></tt> です。</p>
2071
+ <p>この条件式は <tt class="docutils literal"><span class="pre">value</span></tt> で前方一致検索します。前方一致検索は <tt class="docutils literal"><span class="pre">value</span></tt> で始まる単語を含むレコードを検索します。</p>
2072
+ <p>カラムの値を高速に前方一致検索できます。ただし、そのカラムにはインデックスを作成し、そのインデックス用のテーブルをパトリシアトライ( <tt class="docutils literal"><span class="pre">TABLE_PAT_KEY</span></tt> )またはダブル配列トライ( <tt class="docutils literal"><span class="pre">TABLE_DAT_KEY</span></tt> )にしなければいけません。あるいは、パトリシアトライテーブルまたはダブル配列テーブルの <tt class="docutils literal"><span class="pre">_key</span></tt> も高速に前方一致検索できます。 <tt class="docutils literal"><span class="pre">_key</span></tt> にインデックスを作成する必要はありません。</p>
2073
2073
  <p>他の種類のテーブルでも前方一致検索を使えますがレコード全件を処理します。レコード数が少ない場合には問題ありませんが、レコード数が多いと時間がかかります。</p>
2074
2074
  <p>以下は簡単な使用例です。</p>
2075
2075
  <p>実行例:</p>
@@ -2102,18 +2102,18 @@ select Entries --filter &#39;n_likes &lt; 5 &amp;&amp; (content @ &quot;senna&qu
2102
2102
  # ]
2103
2103
  </pre></div>
2104
2104
  </div>
2105
- <p>この式は <code class="docutils literal"><span class="pre">_key</span></code> カラムの値が <code class="docutils literal"><span class="pre">Goo</span></code> で始まる単語を含むレコードにマッチします。この式には <code class="docutils literal"><span class="pre">Good-bye</span> <span class="pre">Senna</span></code> と <code class="docutils literal"><span class="pre">Good-bye</span> <span class="pre">Tritonn</span></code> がマッチします。</p>
2105
+ <p>この式は <tt class="docutils literal"><span class="pre">_key</span></tt> カラムの値が <tt class="docutils literal"><span class="pre">Goo</span></tt> で始まる単語を含むレコードにマッチします。この式には <tt class="docutils literal"><span class="pre">Good-bye</span> <span class="pre">Senna</span></tt> と <tt class="docutils literal"><span class="pre">Good-bye</span> <span class="pre">Tritonn</span></tt> がマッチします。</p>
2106
2106
  </div>
2107
2107
  <div class="section" id="suffix-search-operator">
2108
- <span id="id2"></span><h3>7.11.2.9.3. 後方一致検索演算子<a class="headerlink" href="#suffix-search-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
2109
- <p>構文は <code class="docutils literal"><span class="pre">column</span> <span class="pre">&#64;$</span> <span class="pre">value</span></code> です。</p>
2110
- <p>この演算子は <code class="docutils literal"><span class="pre">value</span></code> で後方一致検索します。後方一致検索は <code class="docutils literal"><span class="pre">value</span></code> で終わる単語を含むレコードを検索します。</p>
2111
- <p>カラムの値を高速に後方一致検索できます。ただし、そのカラムにはインデックスを作成し、そのインデックス用のテーブルを <code class="docutils literal"><span class="pre">KEY_WITH_SIS</span></code> フラグ付きのパトリシアトライテーブル( <code class="docutils literal"><span class="pre">TABLE_PAT_KEY</span></code> )にしなければいけません。 <code class="docutils literal"><span class="pre">KEY_WITH_SIS</span></code> フラグ付きのパトリシアトライテーブル( <code class="docutils literal"><span class="pre">TABLE_PAT_KEY</span></code> )の <code class="docutils literal"><span class="pre">_key</span></code> 擬似カラムの値も高速に後方一致検索できます。 <code class="docutils literal"><span class="pre">_key</span></code> にはインデックスを作成する必要はありません。 <code class="docutils literal"><span class="pre">_key</span></code> ベースの高速な後方一致検索よりもカラムベースの高速な後方一致検索を使うことをおすすめします。 <code class="docutils literal"><span class="pre">_key</span></code> ベースの高速な後方一致検索は自動的に登録された部分文字列も返ってきます。(TODO: 後方一致検索に関するドキュメントを書いてここからリンクを張る。)</p>
2108
+ <span id="id2"></span><h3>7.12.2.9.3. 後方一致検索演算子<a class="headerlink" href="#suffix-search-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
2109
+ <p>構文は <tt class="docutils literal"><span class="pre">column</span> <span class="pre">&#64;$</span> <span class="pre">value</span></tt> です。</p>
2110
+ <p>この演算子は <tt class="docutils literal"><span class="pre">value</span></tt> で後方一致検索します。後方一致検索は <tt class="docutils literal"><span class="pre">value</span></tt> で終わる単語を含むレコードを検索します。</p>
2111
+ <p>カラムの値を高速に後方一致検索できます。ただし、そのカラムにはインデックスを作成し、そのインデックス用のテーブルを <tt class="docutils literal"><span class="pre">KEY_WITH_SIS</span></tt> フラグ付きのパトリシアトライテーブル( <tt class="docutils literal"><span class="pre">TABLE_PAT_KEY</span></tt> )にしなければいけません。 <tt class="docutils literal"><span class="pre">KEY_WITH_SIS</span></tt> フラグ付きのパトリシアトライテーブル( <tt class="docutils literal"><span class="pre">TABLE_PAT_KEY</span></tt> )の <tt class="docutils literal"><span class="pre">_key</span></tt> 擬似カラムの値も高速に後方一致検索できます。 <tt class="docutils literal"><span class="pre">_key</span></tt> にはインデックスを作成する必要はありません。 <tt class="docutils literal"><span class="pre">_key</span></tt> ベースの高速な後方一致検索よりもカラムベースの高速な後方一致検索を使うことをおすすめします。 <tt class="docutils literal"><span class="pre">_key</span></tt> ベースの高速な後方一致検索は自動的に登録された部分文字列も返ってきます。(TODO: 後方一致検索に関するドキュメントを書いてここからリンクを張る。)</p>
2112
2112
  <div class="admonition note">
2113
2113
  <p class="first admonition-title">注釈</p>
2114
2114
  <p class="last">高速な後方一致検索は日本語のひらがななど非ASCII文字にしか使えません。ASCII文字には高速な後方一致検索を使えません。</p>
2115
2115
  </div>
2116
- <p>後方一致検索は他の種類のテーブルもしくはパトリシアトライを <code class="docutils literal"><span class="pre">KEY_WITH_SIS</span></code> フラグなしで使用しているテーブルに対しても使えますが、レコード全件を処理します。レコード数が少ない場合には問題ありませんが、レコード数が多いと時間がかかります。</p>
2116
+ <p>後方一致検索は他の種類のテーブルもしくはパトリシアトライを <tt class="docutils literal"><span class="pre">KEY_WITH_SIS</span></tt> フラグなしで使用しているテーブルに対しても使えますが、レコード全件を処理します。レコード数が少ない場合には問題ありませんが、レコード数が多いと時間がかかります。</p>
2117
2117
  <p>簡単な例です。ASCII文字ではない文字である日本語のひらがなに対して高速な後方一致検索をしています。</p>
2118
2118
  <p>実行例:</p>
2119
2119
  <div class="highlight-none"><div class="highlight"><pre>table_create Titles TABLE_NO_KEY
@@ -2167,14 +2167,14 @@ select Titles --query &#39;content:$んが&#39;
2167
2167
  # ]
2168
2168
  </pre></div>
2169
2169
  </div>
2170
- <p>この式は <code class="docutils literal"><span class="pre">content</span></code> カラムの値が <code class="docutils literal"><span class="pre">んが</span></code> で終わるレコードにマッチします。この場合は <code class="docutils literal"><span class="pre">ぐるんが</span></code> と <code class="docutils literal"><span class="pre">むるんが</span></code> にマッチします。</p>
2170
+ <p>この式は <tt class="docutils literal"><span class="pre">content</span></tt> カラムの値が <tt class="docutils literal"><span class="pre">んが</span></tt> で終わるレコードにマッチします。この場合は <tt class="docutils literal"><span class="pre">ぐるんが</span></tt> と <tt class="docutils literal"><span class="pre">むるんが</span></tt> にマッチします。</p>
2171
2171
  </div>
2172
2172
  <div class="section" id="near-search-operator">
2173
- <span id="id3"></span><h3>7.11.2.9.4. 近傍検索演算子<a class="headerlink" href="#near-search-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
2174
- <p>構文は <code class="docutils literal"><span class="pre">column</span> <span class="pre">*N</span> <span class="pre">&quot;word1</span> <span class="pre">word2</span> <span class="pre">...&quot;</span></code> です。</p>
2175
- <p>この演算子は <code class="docutils literal"><span class="pre">word1</span> <span class="pre">word2</span> <span class="pre">...</span></code> という単語で近傍検索します。近傍検索はすべての単語が含まれていてかつそれぞれの単語が近くにあるレコードを検索します。距離が <code class="docutils literal"><span class="pre">10</span></code> 以内の近さであれば近くにあると判断します。今のところ、この値は変更できません。距離の単位はN-gram系のトークナイザーでは文字数で、形態素解析系のトークナイザーでは単語数です。</p>
2176
- <p>(TODO: <code class="docutils literal"><span class="pre">TokenBigram</span></code> はASCIIだけの単語はトークンに分割しないという説明を追加すること。このため、 <code class="docutils literal"><span class="pre">TokenBigram</span></code> はN-gram系のトークナイザーだけどASCIIだけの単語を扱う時の単位は単語数になる。)</p>
2177
- <p><code class="docutils literal"><span class="pre">column</span></code> 用の全文検索用インデックスカラムを定義しておく必要があることに注意してください。</p>
2173
+ <span id="id3"></span><h3>7.12.2.9.4. 近傍検索演算子<a class="headerlink" href="#near-search-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
2174
+ <p>構文は <tt class="docutils literal"><span class="pre">column</span> <span class="pre">*N</span> <span class="pre">&quot;word1</span> <span class="pre">word2</span> <span class="pre">...&quot;</span></tt> です。</p>
2175
+ <p>この演算子は <tt class="docutils literal"><span class="pre">word1</span> <span class="pre">word2</span> <span class="pre">...</span></tt> という単語で近傍検索します。近傍検索はすべての単語が含まれていてかつそれぞれの単語が近くにあるレコードを検索します。距離が <tt class="docutils literal"><span class="pre">10</span></tt> 以内の近さであれば近くにあると判断します。今のところ、この値は変更できません。距離の単位はN-gram系のトークナイザーでは文字数で、形態素解析系のトークナイザーでは単語数です。</p>
2176
+ <p>(TODO: <tt class="docutils literal"><span class="pre">TokenBigram</span></tt> はASCIIだけの単語はトークンに分割しないという説明を追加すること。このため、 <tt class="docutils literal"><span class="pre">TokenBigram</span></tt> はN-gram系のトークナイザーだけどASCIIだけの単語を扱う時の単位は単語数になる。)</p>
2177
+ <p><tt class="docutils literal"><span class="pre">column</span></tt> 用の全文検索用インデックスカラムを定義しておく必要があることに注意してください。</p>
2178
2178
  <p>以下は簡単な使用例です。</p>
2179
2179
  <p>実行例:</p>
2180
2180
  <div class="highlight-none"><div class="highlight"><pre>select Entries --filter &#39;content *N &quot;I fast&quot;&#39; --output_columns content
@@ -2229,15 +2229,15 @@ select Entries --filter &#39;content *N &quot;also Really&quot;&#39; --output_co
2229
2229
  # ]
2230
2230
  </pre></div>
2231
2231
  </div>
2232
- <p>最初の式は <code class="docutils literal"><span class="pre">I</span></code> と <code class="docutils literal"><span class="pre">fast</span></code> が含まれていて、かつ、これらの単語が10単語以内近くにあるレコードにマッチします。そのため <code class="docutils literal"><span class="pre">I</span> <span class="pre">also</span> <span class="pre">started</span> <span class="pre">to</span> <span class="pre">use</span> <span class="pre">mroonga.</span> <span class="pre">It's</span> <span class="pre">also</span> <span class="pre">very</span> <span class="pre">fast!</span> <span class="pre">...</span></code> にマッチします。 <code class="docutils literal"><span class="pre">I</span></code> と <code class="docutils literal"><span class="pre">fast</span></code> の間の単語数はちょうど10です。</p>
2233
- <p>二番目の式は <code class="docutils literal"><span class="pre">I</span></code> と <code class="docutils literal"><span class="pre">Really</span></code> が含まれていて、かつ、これらの単語が10単語以内近くにあるレコードにマッチします。そのため、 <code class="docutils literal"><span class="pre">I</span> <span class="pre">also</span> <span class="pre">st</span> <span class="pre">arted</span> <span class="pre">to</span> <span class="pre">use</span> <span class="pre">mroonga.</span> <span class="pre">It's</span> <span class="pre">also</span> <span class="pre">very</span> <span class="pre">fast!</span> <span class="pre">Really</span> <span class="pre">fast!</span></code> はマッチしません。 <code class="docutils literal"><span class="pre">I</span></code> と <code class="docutils literal"><span class="pre">Really</span></code> の間の単語数は11です。</p>
2234
- <p>三番目の式は <code class="docutils literal"><span class="pre">also</span></code> と <code class="docutils literal"><span class="pre">Really</span></code> が含まれていて、かつ、これらの単語が10単語以内近くにあるレコードにマッチします。そのため、 <code class="docutils literal"><span class="pre">I</span> <span class="pre">also</span> <span class="pre">started</span> <span class="pre">to</span> <span class="pre">use</span> <span class="pre">mroonga.</span> <span class="pre">It's</span> <span class="pre">also</span> <span class="pre">very</span> <span class="pre">fast!</span> <span class="pre">Really</span> <span class="pre">fast!</span></code> にマッチします。 <code class="docutils literal"><span class="pre">also</span></code> と <code class="docutils literal"><span class="pre">Really</span></code> の間の単語数は10です。</p>
2232
+ <p>最初の式は <tt class="docutils literal"><span class="pre">I</span></tt> と <tt class="docutils literal"><span class="pre">fast</span></tt> が含まれていて、かつ、これらの単語が10単語以内近くにあるレコードにマッチします。そのため <tt class="docutils literal"><span class="pre">I</span> <span class="pre">also</span> <span class="pre">started</span> <span class="pre">to</span> <span class="pre">use</span> <span class="pre">mroonga.</span> <span class="pre">It's</span> <span class="pre">also</span> <span class="pre">very</span> <span class="pre">fast!</span> <span class="pre">...</span></tt> にマッチします。 <tt class="docutils literal"><span class="pre">I</span></tt> と <tt class="docutils literal"><span class="pre">fast</span></tt> の間の単語数はちょうど10です。</p>
2233
+ <p>二番目の式は <tt class="docutils literal"><span class="pre">I</span></tt> と <tt class="docutils literal"><span class="pre">Really</span></tt> が含まれていて、かつ、これらの単語が10単語以内近くにあるレコードにマッチします。そのため、 <tt class="docutils literal"><span class="pre">I</span> <span class="pre">also</span> <span class="pre">st</span> <span class="pre">arted</span> <span class="pre">to</span> <span class="pre">use</span> <span class="pre">mroonga.</span> <span class="pre">It's</span> <span class="pre">also</span> <span class="pre">very</span> <span class="pre">fast!</span> <span class="pre">Really</span> <span class="pre">fast!</span></tt> はマッチしません。 <tt class="docutils literal"><span class="pre">I</span></tt> と <tt class="docutils literal"><span class="pre">Really</span></tt> の間の単語数は11です。</p>
2234
+ <p>三番目の式は <tt class="docutils literal"><span class="pre">also</span></tt> と <tt class="docutils literal"><span class="pre">Really</span></tt> が含まれていて、かつ、これらの単語が10単語以内近くにあるレコードにマッチします。そのため、 <tt class="docutils literal"><span class="pre">I</span> <span class="pre">also</span> <span class="pre">started</span> <span class="pre">to</span> <span class="pre">use</span> <span class="pre">mroonga.</span> <span class="pre">It's</span> <span class="pre">also</span> <span class="pre">very</span> <span class="pre">fast!</span> <span class="pre">Really</span> <span class="pre">fast!</span></tt> にマッチします。 <tt class="docutils literal"><span class="pre">also</span></tt> と <tt class="docutils literal"><span class="pre">Really</span></tt> の間の単語数は10です。</p>
2235
2235
  </div>
2236
2236
  <div class="section" id="similar-search">
2237
- <span id="similar-search-operator"></span><h3>7.11.2.9.5. 類似文書検索<a class="headerlink" href="#similar-search" title="このヘッドラインへのパーマリンク">¶</a></h3>
2238
- <p>構文は <code class="docutils literal"><span class="pre">column</span> <span class="pre">*S</span> <span class="pre">&quot;document&quot;</span></code> です。</p>
2239
- <p>この演算子は <code class="docutils literal"><span class="pre">document</span></code> という文書で類似文書検索します。類似文書検索は <code class="docutils literal"><span class="pre">document</span></code> と似た内容を持つレコードを検索します。</p>
2240
- <p><code class="docutils literal"><span class="pre">column</span></code> 用の全文検索用インデックスカラムを定義しておく必要があることに注意してください。</p>
2237
+ <span id="similar-search-operator"></span><h3>7.12.2.9.5. 類似文書検索<a class="headerlink" href="#similar-search" title="このヘッドラインへのパーマリンク">¶</a></h3>
2238
+ <p>構文は <tt class="docutils literal"><span class="pre">column</span> <span class="pre">*S</span> <span class="pre">&quot;document&quot;</span></tt> です。</p>
2239
+ <p>この演算子は <tt class="docutils literal"><span class="pre">document</span></tt> という文書で類似文書検索します。類似文書検索は <tt class="docutils literal"><span class="pre">document</span></tt> と似た内容を持つレコードを検索します。</p>
2240
+ <p><tt class="docutils literal"><span class="pre">column</span></tt> 用の全文検索用インデックスカラムを定義しておく必要があることに注意してください。</p>
2241
2241
  <p>以下は簡単な使用例です。</p>
2242
2242
  <p>実行例:</p>
2243
2243
  <div class="highlight-none"><div class="highlight"><pre>select Entries --filter &#39;content *S &quot;I migrated all Solr system!&quot;&#39; --output_columns content
@@ -2269,13 +2269,13 @@ select Entries --filter &#39;content *N &quot;also Really&quot;&#39; --output_co
2269
2269
  # ]
2270
2270
  </pre></div>
2271
2271
  </div>
2272
- <p>この式は <code class="docutils literal"><span class="pre">I</span> <span class="pre">migrated</span> <span class="pre">all</span> <span class="pre">Solr</span> <span class="pre">system!</span></code> と似た内容を持つレコードを検索します。この場合は、 <code class="docutils literal"><span class="pre">I</span> <span class="pre">migrated</span> <span class="pre">all</span> <span class="pre">XXX</span> <span class="pre">system!</span></code> という内容のレコードがマッチします。</p>
2272
+ <p>この式は <tt class="docutils literal"><span class="pre">I</span> <span class="pre">migrated</span> <span class="pre">all</span> <span class="pre">Solr</span> <span class="pre">system!</span></tt> と似た内容を持つレコードを検索します。この場合は、 <tt class="docutils literal"><span class="pre">I</span> <span class="pre">migrated</span> <span class="pre">all</span> <span class="pre">XXX</span> <span class="pre">system!</span></tt> という内容のレコードがマッチします。</p>
2273
2273
  </div>
2274
2274
  <div class="section" id="term-extract-operator">
2275
- <span id="id4"></span><h3>7.11.2.9.6. 単語抽出演算子<a class="headerlink" href="#term-extract-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
2276
- <p>構文は <code class="docutils literal"><span class="pre">_key</span> <span class="pre">*T</span> <span class="pre">&quot;document&quot;</span></code> です。</p>
2277
- <p>この演算子は <code class="docutils literal"><span class="pre">document</span></code> から単語を抽出します。単語は <code class="docutils literal"><span class="pre">_key</span></code> のテーブルのキーとして登録されていなければいけません。</p>
2278
- <p>テーブルはパトリシアトライ( <code class="docutils literal"><span class="pre">TABLE_PAT_KEY</span></code> )またはダブル配列トライ( <code class="docutils literal"><span class="pre">TABLE_DAT_KEY</span></code> )でなければいけません。ハッシュテーブル( <code class="docutils literal"><span class="pre">TABLE_HASH_KEY</span></code> )や配列( <code class="docutils literal"><span class="pre">TABLE_NO_KEY</span></code> )は最長共通接頭辞検索(Longest Common Prefix Search)できないため使えません。この演算子は最長共通接頭辞検索を使っています。</p>
2275
+ <span id="id4"></span><h3>7.12.2.9.6. 単語抽出演算子<a class="headerlink" href="#term-extract-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
2276
+ <p>構文は <tt class="docutils literal"><span class="pre">_key</span> <span class="pre">*T</span> <span class="pre">&quot;document&quot;</span></tt> です。</p>
2277
+ <p>この演算子は <tt class="docutils literal"><span class="pre">document</span></tt> から単語を抽出します。単語は <tt class="docutils literal"><span class="pre">_key</span></tt> のテーブルのキーとして登録されていなければいけません。</p>
2278
+ <p>テーブルはパトリシアトライ( <tt class="docutils literal"><span class="pre">TABLE_PAT_KEY</span></tt> )またはダブル配列トライ( <tt class="docutils literal"><span class="pre">TABLE_DAT_KEY</span></tt> )でなければいけません。ハッシュテーブル( <tt class="docutils literal"><span class="pre">TABLE_HASH_KEY</span></tt> )や配列( <tt class="docutils literal"><span class="pre">TABLE_NO_KEY</span></tt> )は最長共通接頭辞検索(Longest Common Prefix Search)できないため使えません。この演算子は最長共通接頭辞検索を使っています。</p>
2279
2279
  <p>以下は簡単な使用例です。</p>
2280
2280
  <p>実行例:</p>
2281
2281
  <div class="highlight-none"><div class="highlight"><pre>table_create Words TABLE_PAT_KEY|KEY_NORMALIZE ShortText
@@ -2317,7 +2317,67 @@ select Words --filter &#39;_key *T &quot;Groonga is the successor project to Sen
2317
2317
  # ]
2318
2318
  </pre></div>
2319
2319
  </div>
2320
- <p>この式は文書 <code class="docutils literal"><span class="pre">Groonga</span> <span class="pre">is</span> <span class="pre">the</span> <span class="pre">successor</span> <span class="pre">project</span> <span class="pre">to</span> <span class="pre">Senna.</span></code> に含まれている単語を抽出します。今回は <code class="docutils literal"><span class="pre">Words</span></code> に <code class="docutils literal"><span class="pre">KEY_NORMALIZE</span></code> フラグが指定されています。そのため、 <code class="docutils literal"><span class="pre">Words</span></code> には <code class="docutils literal"><span class="pre">groonga</span></code> とロードしていますが <code class="docutils literal"><span class="pre">Groonga</span></code> も抽出できています。また、全ての抽出された単語も正規化されています。</p>
2320
+ <p>この式は文書 <tt class="docutils literal"><span class="pre">Groonga</span> <span class="pre">is</span> <span class="pre">the</span> <span class="pre">successor</span> <span class="pre">project</span> <span class="pre">to</span> <span class="pre">Senna.</span></tt> に含まれている単語を抽出します。今回は <tt class="docutils literal"><span class="pre">Words</span></tt> に <tt class="docutils literal"><span class="pre">KEY_NORMALIZE</span></tt> フラグが指定されています。そのため、 <tt class="docutils literal"><span class="pre">Words</span></tt> には <tt class="docutils literal"><span class="pre">groonga</span></tt> とロードしていますが <tt class="docutils literal"><span class="pre">Groonga</span></tt> も抽出できています。また、全ての抽出された単語も正規化されています。</p>
2321
+ </div>
2322
+ <div class="section" id="regular-expression-operator">
2323
+ <span id="script-regular-expression-operator"></span><h3>7.12.2.9.7. 正規表現演算子<a class="headerlink" href="#regular-expression-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
2324
+ <div class="versionadded">
2325
+ <p><span class="versionmodified">バージョン 5.0.1 で追加.</span></p>
2326
+ </div>
2327
+ <p>構文は <tt class="docutils literal"><span class="pre">column</span> <span class="pre">&#64;~</span> <span class="pre">&quot;pattern&quot;</span></tt> です。</p>
2328
+ <p>この演算子は正規表現 <tt class="docutils literal"><span class="pre">pattern</span></tt> でレコードを検索します。もし、レコードの <tt class="docutils literal"><span class="pre">column</span></tt> の値が <tt class="docutils literal"><span class="pre">pattern</span></tt> にマッチしたら、そのレコードはマッチしたということです。</p>
2329
+ <p><tt class="docutils literal"><span class="pre">pattern</span></tt> は正規表現の構文になっていなければいけません。正規表現の構文の詳細は <a class="reference internal" href="../regular_expression.html"><em>正規表現</em></a> を参照してください。</p>
2330
+ <p>以下の例はパターンとして <tt class="docutils literal"><span class="pre">.roonga</span></tt> を使っています。このパターンは <tt class="docutils literal"><span class="pre">Groonga</span></tt> 、 <tt class="docutils literal"><span class="pre">Mroonga</span></tt> といった文字列にマッチします。</p>
2331
+ <p>実行例:</p>
2332
+ <div class="highlight-none"><div class="highlight"><pre>select Entries --filter &#39;content @~ &quot;.roonga&quot;&#39;
2333
+ # [
2334
+ # [
2335
+ # 0,
2336
+ # 1337566253.89858,
2337
+ # 0.000355720520019531
2338
+ # ],
2339
+ # [
2340
+ # [
2341
+ # [
2342
+ # 2
2343
+ # ],
2344
+ # [
2345
+ # [
2346
+ # &quot;_id&quot;,
2347
+ # &quot;UInt32&quot;
2348
+ # ],
2349
+ # [
2350
+ # &quot;_key&quot;,
2351
+ # &quot;ShortText&quot;
2352
+ # ],
2353
+ # [
2354
+ # &quot;content&quot;,
2355
+ # &quot;Text&quot;
2356
+ # ],
2357
+ # [
2358
+ # &quot;n_likes&quot;,
2359
+ # &quot;UInt32&quot;
2360
+ # ]
2361
+ # ],
2362
+ # [
2363
+ # 2,
2364
+ # &quot;Groonga&quot;,
2365
+ # &quot;I started to use Groonga. It&#39;s very fast!&quot;,
2366
+ # 10
2367
+ # ],
2368
+ # [
2369
+ # 3,
2370
+ # &quot;Mroonga&quot;,
2371
+ # &quot;I also started to use Mroonga. It&#39;s also very fast! Really fast!&quot;,
2372
+ # 15
2373
+ # ]
2374
+ # ]
2375
+ # ]
2376
+ # ]
2377
+ </pre></div>
2378
+ </div>
2379
+ <p>多くの場合、各レコードの対して順に正規表現を評価します。そのため、多くのレコードがある場合は遅くなるかもしれません。</p>
2380
+ <p>いくつかのケースでは、Groongaはインデックスを使って正規表現を評価します。これはとても高速です。詳細は <a class="reference internal" href="../regular_expression.html"><em>正規表現</em></a> を参照してください。</p>
2321
2381
  </div>
2322
2382
  </div>
2323
2383
  </div>
@@ -2326,88 +2386,89 @@ select Words --filter &#39;_key *T &quot;Groonga is the successor project to Sen
2326
2386
  </div>
2327
2387
  </div>
2328
2388
  </div>
2329
- <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
2389
+ <div class="sphinxsidebar">
2330
2390
  <div class="sphinxsidebarwrapper">
2331
2391
  <h3><a href="../../index.html">目次</a></h3>
2332
2392
  <ul>
2333
- <li><a class="reference internal" href="#">7.11.2. スクリプト構文</a><ul>
2334
- <li><a class="reference internal" href="#security">7.11.2.1. セキュリティー</a></li>
2335
- <li><a class="reference internal" href="#sample-data">7.11.2.2. サンプルデータ</a></li>
2336
- <li><a class="reference internal" href="#literals">7.11.2.3. リテラル</a><ul>
2337
- <li><a class="reference internal" href="#integer">7.11.2.3.1. 整数</a></li>
2338
- <li><a class="reference internal" href="#float">7.11.2.3.2. 浮動小数点数</a></li>
2339
- <li><a class="reference internal" href="#string">7.11.2.3.3. 文字列</a></li>
2340
- <li><a class="reference internal" href="#boolean">7.11.2.3.4. 真偽値</a></li>
2341
- <li><a class="reference internal" href="#null">7.11.2.3.5. NULL</a></li>
2342
- <li><a class="reference internal" href="#time">7.11.2.3.6. 時間</a></li>
2343
- <li><a class="reference internal" href="#geo-point">7.11.2.3.7. 座標値</a></li>
2344
- <li><a class="reference internal" href="#array">7.11.2.3.8. 配列</a></li>
2345
- <li><a class="reference internal" href="#object-literal">7.11.2.3.9. オブジェクトリテラル</a></li>
2393
+ <li><a class="reference internal" href="#">7.12.2. スクリプト構文</a><ul>
2394
+ <li><a class="reference internal" href="#security">7.12.2.1. セキュリティー</a></li>
2395
+ <li><a class="reference internal" href="#sample-data">7.12.2.2. サンプルデータ</a></li>
2396
+ <li><a class="reference internal" href="#literals">7.12.2.3. リテラル</a><ul>
2397
+ <li><a class="reference internal" href="#integer">7.12.2.3.1. 整数</a></li>
2398
+ <li><a class="reference internal" href="#float">7.12.2.3.2. 浮動小数点数</a></li>
2399
+ <li><a class="reference internal" href="#string">7.12.2.3.3. 文字列</a></li>
2400
+ <li><a class="reference internal" href="#boolean">7.12.2.3.4. 真偽値</a></li>
2401
+ <li><a class="reference internal" href="#null">7.12.2.3.5. NULL</a></li>
2402
+ <li><a class="reference internal" href="#time">7.12.2.3.6. 時間</a></li>
2403
+ <li><a class="reference internal" href="#geo-point">7.12.2.3.7. 座標値</a></li>
2404
+ <li><a class="reference internal" href="#array">7.12.2.3.8. 配列</a></li>
2405
+ <li><a class="reference internal" href="#object-literal">7.12.2.3.9. オブジェクトリテラル</a></li>
2346
2406
  </ul>
2347
2407
  </li>
2348
- <li><a class="reference internal" href="#control-syntaxes">7.11.2.4. 制御構文</a></li>
2349
- <li><a class="reference internal" href="#grouping">7.11.2.5. グループ化</a></li>
2350
- <li><a class="reference internal" href="#function-call">7.11.2.6. 関数呼び出し</a></li>
2351
- <li><a class="reference internal" href="#basic-operators">7.11.2.7. 基本的な演算子</a><ul>
2352
- <li><a class="reference internal" href="#arithmetic-operators">7.11.2.7.1. 算術演算子</a><ul>
2353
- <li><a class="reference internal" href="#addition-operator">7.11.2.7.1.1. 加算演算子</a></li>
2354
- <li><a class="reference internal" href="#subtraction-operator">7.11.2.7.1.2. 減算演算子</a></li>
2355
- <li><a class="reference internal" href="#multiplication-operator">7.11.2.7.1.3. 乗算演算子</a></li>
2356
- <li><a class="reference internal" href="#division-operator">7.11.2.7.1.4. 除算演算子</a></li>
2408
+ <li><a class="reference internal" href="#control-syntaxes">7.12.2.4. 制御構文</a></li>
2409
+ <li><a class="reference internal" href="#grouping">7.12.2.5. グループ化</a></li>
2410
+ <li><a class="reference internal" href="#function-call">7.12.2.6. 関数呼び出し</a></li>
2411
+ <li><a class="reference internal" href="#basic-operators">7.12.2.7. 基本的な演算子</a><ul>
2412
+ <li><a class="reference internal" href="#arithmetic-operators">7.12.2.7.1. 算術演算子</a><ul>
2413
+ <li><a class="reference internal" href="#addition-operator">7.12.2.7.1.1. 加算演算子</a></li>
2414
+ <li><a class="reference internal" href="#subtraction-operator">7.12.2.7.1.2. 減算演算子</a></li>
2415
+ <li><a class="reference internal" href="#multiplication-operator">7.12.2.7.1.3. 乗算演算子</a></li>
2416
+ <li><a class="reference internal" href="#division-operator">7.12.2.7.1.4. 除算演算子</a></li>
2357
2417
  </ul>
2358
2418
  </li>
2359
- <li><a class="reference internal" href="#logical-operators">7.11.2.7.2. 論理演算子</a><ul>
2360
- <li><a class="reference internal" href="#logical-not-operator">7.11.2.7.2.1. 論理否定演算子</a></li>
2361
- <li><a class="reference internal" href="#logical-and-operator">7.11.2.7.2.2. 論理積演算子</a></li>
2362
- <li><a class="reference internal" href="#logical-or-operator">7.11.2.7.2.3. 論理和演算子</a></li>
2363
- <li><a class="reference internal" href="#logical-and-not-operator">7.11.2.7.2.4. 論理差演算子</a></li>
2419
+ <li><a class="reference internal" href="#logical-operators">7.12.2.7.2. 論理演算子</a><ul>
2420
+ <li><a class="reference internal" href="#logical-not-operator">7.12.2.7.2.1. 論理否定演算子</a></li>
2421
+ <li><a class="reference internal" href="#logical-and-operator">7.12.2.7.2.2. 論理積演算子</a></li>
2422
+ <li><a class="reference internal" href="#logical-or-operator">7.12.2.7.2.3. 論理和演算子</a></li>
2423
+ <li><a class="reference internal" href="#logical-and-not-operator">7.12.2.7.2.4. 論理差演算子</a></li>
2364
2424
  </ul>
2365
2425
  </li>
2366
- <li><a class="reference internal" href="#bitwise-operators">7.11.2.7.3. ビット演算子</a><ul>
2367
- <li><a class="reference internal" href="#bitwise-not-operator">7.11.2.7.3.1. ビット否定演算子</a></li>
2368
- <li><a class="reference internal" href="#bitwise-and-operator">7.11.2.7.3.2. ビット論理積演算子</a></li>
2426
+ <li><a class="reference internal" href="#bitwise-operators">7.12.2.7.3. ビット演算子</a><ul>
2427
+ <li><a class="reference internal" href="#bitwise-not-operator">7.12.2.7.3.1. ビット否定演算子</a></li>
2428
+ <li><a class="reference internal" href="#bitwise-and-operator">7.12.2.7.3.2. ビット論理積演算子</a></li>
2369
2429
  </ul>
2370
2430
  </li>
2371
- <li><a class="reference internal" href="#bitwise-or-operator">7.11.2.7.4. ビット論理和演算子</a></li>
2372
- <li><a class="reference internal" href="#bitwise-xor-operator">7.11.2.7.5. ビット排他的論理和演算子</a></li>
2373
- <li><a class="reference internal" href="#shift-operators">7.11.2.7.6. シフト演算子</a><ul>
2374
- <li><a class="reference internal" href="#left-shift-operator">7.11.2.7.6.1. 左シフト演算子</a></li>
2375
- <li><a class="reference internal" href="#signed-right-shift-operator">7.11.2.7.6.2. 符号付き右シフト演算子</a></li>
2376
- <li><a class="reference internal" href="#unsigned-right-shift-operator">7.11.2.7.6.3. 符号なし右シフト演算子</a></li>
2431
+ <li><a class="reference internal" href="#bitwise-or-operator">7.12.2.7.4. ビット論理和演算子</a></li>
2432
+ <li><a class="reference internal" href="#bitwise-xor-operator">7.12.2.7.5. ビット排他的論理和演算子</a></li>
2433
+ <li><a class="reference internal" href="#shift-operators">7.12.2.7.6. シフト演算子</a><ul>
2434
+ <li><a class="reference internal" href="#left-shift-operator">7.12.2.7.6.1. 左シフト演算子</a></li>
2435
+ <li><a class="reference internal" href="#signed-right-shift-operator">7.12.2.7.6.2. 符号付き右シフト演算子</a></li>
2436
+ <li><a class="reference internal" href="#unsigned-right-shift-operator">7.12.2.7.6.3. 符号なし右シフト演算子</a></li>
2377
2437
  </ul>
2378
2438
  </li>
2379
- <li><a class="reference internal" href="#comparison-operators">7.11.2.7.7. 比較演算子</a><ul>
2380
- <li><a class="reference internal" href="#equal-operator">7.11.2.7.7.1. 等価演算子</a></li>
2381
- <li><a class="reference internal" href="#not-equal-operator">7.11.2.7.7.2. 不等価演算子</a></li>
2382
- <li><a class="reference internal" href="#less-than-operator">7.11.2.7.7.3. 小なり演算子</a></li>
2383
- <li><a class="reference internal" href="#less-than-or-equal-to-operator">7.11.2.7.7.4. 以下演算子</a></li>
2384
- <li><a class="reference internal" href="#greater-than-operator">7.11.2.7.7.5. 大なり演算子</a></li>
2385
- <li><a class="reference internal" href="#greater-than-or-equal-to-operator">7.11.2.7.7.6. 以上演算子</a></li>
2439
+ <li><a class="reference internal" href="#comparison-operators">7.12.2.7.7. 比較演算子</a><ul>
2440
+ <li><a class="reference internal" href="#equal-operator">7.12.2.7.7.1. 等価演算子</a></li>
2441
+ <li><a class="reference internal" href="#not-equal-operator">7.12.2.7.7.2. 不等価演算子</a></li>
2442
+ <li><a class="reference internal" href="#less-than-operator">7.12.2.7.7.3. 小なり演算子</a></li>
2443
+ <li><a class="reference internal" href="#less-than-or-equal-to-operator">7.12.2.7.7.4. 以下演算子</a></li>
2444
+ <li><a class="reference internal" href="#greater-than-operator">7.12.2.7.7.5. 大なり演算子</a></li>
2445
+ <li><a class="reference internal" href="#greater-than-or-equal-to-operator">7.12.2.7.7.6. 以上演算子</a></li>
2386
2446
  </ul>
2387
2447
  </li>
2388
2448
  </ul>
2389
2449
  </li>
2390
- <li><a class="reference internal" href="#assignment-operators">7.11.2.8. 代入演算子</a><ul>
2391
- <li><a class="reference internal" href="#addition-assignment-operator">7.11.2.8.1. 加算代入演算子</a></li>
2392
- <li><a class="reference internal" href="#subtraction-assignment-operator">7.11.2.8.2. 減算代入演算子</a></li>
2393
- <li><a class="reference internal" href="#multiplication-assignment-operator">7.11.2.8.3. 乗算代入演算子</a></li>
2394
- <li><a class="reference internal" href="#division-assignment-operator">7.11.2.8.4. 除算代入演算子</a></li>
2395
- <li><a class="reference internal" href="#modulo-assignment-operator">7.11.2.8.5. 剰余代入演算子</a></li>
2396
- <li><a class="reference internal" href="#bitwise-left-shift-assignment-operator">7.11.2.8.6. 左シフト代入演算子</a></li>
2397
- <li><a class="reference internal" href="#bitwise-signed-right-shift-assignment-operator">7.11.2.8.7. 符号あり右シフト代入演算子</a></li>
2398
- <li><a class="reference internal" href="#bitwise-unsigned-right-shift-assignment-operator">7.11.2.8.8. 符号なし右シフト代入演算子</a></li>
2399
- <li><a class="reference internal" href="#bitwise-and-assignment-operator">7.11.2.8.9. ビット論理積代入演算子</a></li>
2400
- <li><a class="reference internal" href="#bitwise-or-assignment-operator">7.11.2.8.10. ビット論理和代入演算子</a></li>
2401
- <li><a class="reference internal" href="#bitwise-xor-assignment-operator">7.11.2.8.11. ビット排他的論理和代入演算子</a></li>
2450
+ <li><a class="reference internal" href="#assignment-operators">7.12.2.8. 代入演算子</a><ul>
2451
+ <li><a class="reference internal" href="#addition-assignment-operator">7.12.2.8.1. 加算代入演算子</a></li>
2452
+ <li><a class="reference internal" href="#subtraction-assignment-operator">7.12.2.8.2. 減算代入演算子</a></li>
2453
+ <li><a class="reference internal" href="#multiplication-assignment-operator">7.12.2.8.3. 乗算代入演算子</a></li>
2454
+ <li><a class="reference internal" href="#division-assignment-operator">7.12.2.8.4. 除算代入演算子</a></li>
2455
+ <li><a class="reference internal" href="#modulo-assignment-operator">7.12.2.8.5. 剰余代入演算子</a></li>
2456
+ <li><a class="reference internal" href="#bitwise-left-shift-assignment-operator">7.12.2.8.6. 左シフト代入演算子</a></li>
2457
+ <li><a class="reference internal" href="#bitwise-signed-right-shift-assignment-operator">7.12.2.8.7. 符号あり右シフト代入演算子</a></li>
2458
+ <li><a class="reference internal" href="#bitwise-unsigned-right-shift-assignment-operator">7.12.2.8.8. 符号なし右シフト代入演算子</a></li>
2459
+ <li><a class="reference internal" href="#bitwise-and-assignment-operator">7.12.2.8.9. ビット論理積代入演算子</a></li>
2460
+ <li><a class="reference internal" href="#bitwise-or-assignment-operator">7.12.2.8.10. ビット論理和代入演算子</a></li>
2461
+ <li><a class="reference internal" href="#bitwise-xor-assignment-operator">7.12.2.8.11. ビット排他的論理和代入演算子</a></li>
2402
2462
  </ul>
2403
2463
  </li>
2404
- <li><a class="reference internal" href="#original-operators">7.11.2.9. 独自の演算子</a><ul>
2405
- <li><a class="reference internal" href="#match-operator">7.11.2.9.1. マッチ演算子</a></li>
2406
- <li><a class="reference internal" href="#prefix-search-operator">7.11.2.9.2. 前方一致検索演算子</a></li>
2407
- <li><a class="reference internal" href="#suffix-search-operator">7.11.2.9.3. 後方一致検索演算子</a></li>
2408
- <li><a class="reference internal" href="#near-search-operator">7.11.2.9.4. 近傍検索演算子</a></li>
2409
- <li><a class="reference internal" href="#similar-search">7.11.2.9.5. 類似文書検索</a></li>
2410
- <li><a class="reference internal" href="#term-extract-operator">7.11.2.9.6. 単語抽出演算子</a></li>
2464
+ <li><a class="reference internal" href="#original-operators">7.12.2.9. 独自の演算子</a><ul>
2465
+ <li><a class="reference internal" href="#match-operator">7.12.2.9.1. マッチ演算子</a></li>
2466
+ <li><a class="reference internal" href="#prefix-search-operator">7.12.2.9.2. 前方一致検索演算子</a></li>
2467
+ <li><a class="reference internal" href="#suffix-search-operator">7.12.2.9.3. 後方一致検索演算子</a></li>
2468
+ <li><a class="reference internal" href="#near-search-operator">7.12.2.9.4. 近傍検索演算子</a></li>
2469
+ <li><a class="reference internal" href="#similar-search">7.12.2.9.5. 類似文書検索</a></li>
2470
+ <li><a class="reference internal" href="#term-extract-operator">7.12.2.9.6. 単語抽出演算子</a></li>
2471
+ <li><a class="reference internal" href="#regular-expression-operator">7.12.2.9.7. 正規表現演算子</a></li>
2411
2472
  </ul>
2412
2473
  </li>
2413
2474
  </ul>
@@ -2416,18 +2477,16 @@ select Words --filter &#39;_key *T &quot;Groonga is the successor project to Sen
2416
2477
 
2417
2478
  <h4>前のトピックへ</h4>
2418
2479
  <p class="topless"><a href="query_syntax.html"
2419
- title="前の章へ">7.11.1. クエリー構文</a></p>
2480
+ title="前の章へ">7.12.1. クエリー構文</a></p>
2420
2481
  <h4>次のトピックへ</h4>
2421
- <p class="topless"><a href="../function.html"
2422
- title="次の章へ">7.12. 関数</a></p>
2423
- <div role="note" aria-label="source link">
2424
- <h3>このページ</h3>
2425
- <ul class="this-page-menu">
2426
- <li><a href="../../_sources/reference/grn_expr/script_syntax.txt"
2427
- rel="nofollow">ソースコードを表示</a></li>
2428
- </ul>
2429
- </div>
2430
- <div id="searchbox" style="display: none" role="search">
2482
+ <p class="topless"><a href="../regular_expression.html"
2483
+ title="次の章へ">7.13. 正規表現</a></p>
2484
+ <h3>このページ</h3>
2485
+ <ul class="this-page-menu">
2486
+ <li><a href="../../_sources/reference/grn_expr/script_syntax.txt"
2487
+ rel="nofollow">ソースコードを表示</a></li>
2488
+ </ul>
2489
+ <div id="searchbox" style="display: none">
2431
2490
  <h3>クイック検索</h3>
2432
2491
  <form class="search" action="../../search.html" method="get">
2433
2492
  <input type="text" name="q" />
@@ -2444,24 +2503,24 @@ select Words --filter &#39;_key *T &quot;Groonga is the successor project to Sen
2444
2503
  </div>
2445
2504
  <div class="clearer"></div>
2446
2505
  </div>
2447
- <div class="related" role="navigation" aria-label="related navigation">
2506
+ <div class="related">
2448
2507
  <h3>ナビゲーション</h3>
2449
2508
  <ul>
2450
2509
  <li class="right" style="margin-right: 10px">
2451
2510
  <a href="../../genindex.html" title="総合索引"
2452
2511
  >索引</a></li>
2453
2512
  <li class="right" >
2454
- <a href="../function.html" title="7.12. 関数"
2513
+ <a href="../regular_expression.html" title="7.13. 正規表現"
2455
2514
  >次へ</a> |</li>
2456
2515
  <li class="right" >
2457
- <a href="query_syntax.html" title="7.11.1. クエリー構文"
2516
+ <a href="query_syntax.html" title="7.12.1. クエリー構文"
2458
2517
  >前へ</a> |</li>
2459
- <li><a href="../../index.html">Groonga v5.0.0ドキュメント</a> &raquo;</li>
2518
+ <li><a href="../../index.html">Groonga v5.0.1-42-g4d10df1ドキュメント</a> &raquo;</li>
2460
2519
  <li><a href="../../reference.html" >7. リファレンスマニュアル</a> &raquo;</li>
2461
- <li><a href="../grn_expr.html" >7.11. grn_expr</a> &raquo;</li>
2520
+ <li><a href="../grn_expr.html" >7.12. grn_expr</a> &raquo;</li>
2462
2521
  </ul>
2463
2522
  </div>
2464
- <div class="footer" role="contentinfo">
2523
+ <div class="footer">
2465
2524
  &copy; Copyright 2009-2015, Brazil, Inc.
2466
2525
  </div>
2467
2526
  </body>