rroonga 7.0.2-x86-mingw32 → 7.1.1-x86-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/Rakefile +2 -2
 - data/doc/text/news.md +46 -7
 - data/ext/groonga/rb-grn-array.c +1 -272
 - data/ext/groonga/rb-grn-column-cache.c +240 -0
 - data/ext/groonga/rb-grn-column.c +1 -1
 - data/ext/groonga/rb-grn-context.c +28 -4
 - data/ext/groonga/rb-grn-expression.c +23 -1
 - data/ext/groonga/rb-grn-object.c +44 -1
 - data/ext/groonga/rb-grn-procedure.c +16 -1
 - data/ext/groonga/rb-grn-query-logger.c +55 -6
 - data/ext/groonga/rb-grn-table.c +170 -1
 - data/ext/groonga/rb-grn-utils.c +21 -2
 - data/ext/groonga/rb-grn.h +18 -3
 - data/ext/groonga/rb-groonga.c +2 -1
 - data/lib/2.1/groonga.so +0 -0
 - data/lib/2.2/groonga.so +0 -0
 - data/lib/2.3/groonga.so +0 -0
 - data/lib/2.4/groonga.so +0 -0
 - data/lib/2.5/groonga.so +0 -0
 - data/lib/groonga.rb +8 -5
 - data/lib/groonga/column.rb +0 -5
 - data/lib/groonga/database.rb +0 -10
 - data/lib/groonga/index-column.rb +0 -10
 - data/lib/groonga/query-logger.rb +1 -1
 - data/rroonga-build.rb +6 -6
 - data/rroonga.gemspec +1 -1
 - data/test/groonga-test-utils.rb +5 -8
 - data/test/test-array.rb +1 -131
 - data/test/test-column-cache.rb +46 -0
 - data/test/test-command-select.rb +36 -1
 - data/test/test-context.rb +1 -2
 - data/test/test-database.rb +16 -2
 - data/test/test-logger.rb +13 -1
 - data/test/test-procedure.rb +7 -1
 - data/test/test-query-logger.rb +12 -1
 - data/test/test-table-arrow.rb +193 -0
 - data/test/test-table-offset-and-limit.rb +3 -1
 - data/vendor/local/bin/cv2pdb.exe +0 -0
 - data/vendor/local/bin/generate-pdb.bat +36 -0
 - data/vendor/local/bin/grndb.exe +0 -0
 - data/vendor/local/bin/groonga-benchmark.exe +0 -0
 - data/vendor/local/bin/groonga-suggest-create-dataset.exe +0 -0
 - data/vendor/local/bin/groonga.exe +0 -0
 - data/vendor/local/bin/libgcc_s_sjlj-1.dll +0 -0
 - data/vendor/local/bin/libgroonga-0.dll +0 -0
 - data/vendor/local/bin/libmecab-2.dll +0 -0
 - data/vendor/local/bin/libmsgpackc.dll +0 -0
 - data/vendor/local/bin/libonigmo-6.dll +0 -0
 - data/vendor/local/bin/libpcre-1.dll +0 -0
 - data/vendor/local/bin/libpcrecpp-0.dll +0 -0
 - data/vendor/local/bin/libpcreposix-0.dll +0 -0
 - data/vendor/local/bin/libstdc++-6.dll +0 -0
 - data/vendor/local/bin/lz4.exe +0 -0
 - data/vendor/local/bin/lz4c.exe +0 -0
 - data/vendor/local/bin/lz4cat +0 -0
 - data/vendor/local/bin/mecab.exe +0 -0
 - data/vendor/local/bin/pcre-config +1 -1
 - data/vendor/local/bin/pcregrep.exe +0 -0
 - data/vendor/local/bin/pcretest.exe +0 -0
 - data/vendor/local/bin/zlib1.dll +0 -0
 - data/vendor/local/etc/groonga/httpd/groonga-httpd.conf +1 -1
 - data/vendor/local/include/groonga/groonga.h +1 -0
 - data/vendor/local/include/groonga/groonga.hpp +21 -0
 - data/vendor/local/include/groonga/groonga/arrow.h +38 -0
 - data/vendor/local/include/groonga/groonga/arrow.hpp +21 -0
 - data/vendor/local/include/groonga/groonga/column.h +9 -0
 - data/vendor/local/include/groonga/groonga/expr.h +9 -1
 - data/vendor/local/include/groonga/groonga/groonga.h +19 -3
 - data/vendor/local/include/groonga/groonga/obj.h +3 -0
 - data/vendor/local/include/groonga/groonga/operator.h +2 -1
 - data/vendor/local/include/groonga/groonga/plugin.h +8 -0
 - data/vendor/local/include/groonga/groonga/portability.h +19 -1
 - data/vendor/local/include/groonga/groonga/table.h +14 -0
 - data/vendor/local/include/groonga/groonga/util.h +3 -0
 - data/vendor/local/include/groonga/groonga/window_function.h +2 -0
 - data/vendor/local/include/pcre.h +2 -2
 - data/vendor/local/include/pcre_stringpiece.h +2 -2
 - data/vendor/local/lib/groonga/plugins/functions/index_column.a +0 -0
 - data/vendor/local/lib/groonga/plugins/functions/index_column.dll +0 -0
 - data/vendor/local/lib/groonga/plugins/functions/index_column.dll.a +0 -0
 - data/vendor/local/lib/groonga/plugins/functions/index_column.la +41 -0
 - data/vendor/local/lib/groonga/plugins/functions/math.a +0 -0
 - data/vendor/local/lib/groonga/plugins/functions/math.dll +0 -0
 - data/vendor/local/lib/groonga/plugins/functions/math.dll.a +0 -0
 - data/vendor/local/lib/groonga/plugins/functions/math.la +41 -0
 - data/vendor/local/lib/groonga/plugins/functions/number.a +0 -0
 - data/vendor/local/lib/groonga/plugins/functions/number.dll +0 -0
 - data/vendor/local/lib/groonga/plugins/functions/number.dll.a +0 -0
 - data/vendor/local/lib/groonga/plugins/functions/number.la +1 -1
 - data/vendor/local/lib/groonga/plugins/functions/string.a +0 -0
 - data/vendor/local/lib/groonga/plugins/functions/string.dll +0 -0
 - data/vendor/local/lib/groonga/plugins/functions/string.dll.a +0 -0
 - data/vendor/local/lib/groonga/plugins/functions/string.la +1 -1
 - data/vendor/local/lib/groonga/plugins/functions/time.a +0 -0
 - data/vendor/local/lib/groonga/plugins/functions/time.dll +0 -0
 - data/vendor/local/lib/groonga/plugins/functions/time.dll.a +0 -0
 - data/vendor/local/lib/groonga/plugins/functions/time.la +1 -1
 - data/vendor/local/lib/groonga/plugins/functions/vector.a +0 -0
 - data/vendor/local/lib/groonga/plugins/functions/vector.dll +0 -0
 - data/vendor/local/lib/groonga/plugins/functions/vector.dll.a +0 -0
 - data/vendor/local/lib/groonga/plugins/functions/vector.la +1 -1
 - data/vendor/local/lib/groonga/plugins/normalizers/mysql.a +0 -0
 - data/vendor/local/lib/groonga/plugins/normalizers/mysql.dll +0 -0
 - data/vendor/local/lib/groonga/plugins/normalizers/mysql.dll.a +0 -0
 - data/vendor/local/lib/groonga/plugins/normalizers/mysql.la +1 -1
 - data/vendor/local/lib/groonga/plugins/query_expanders/tsv.a +0 -0
 - data/vendor/local/lib/groonga/plugins/query_expanders/tsv.dll +0 -0
 - data/vendor/local/lib/groonga/plugins/query_expanders/tsv.dll.a +0 -0
 - data/vendor/local/lib/groonga/plugins/query_expanders/tsv.la +1 -1
 - data/vendor/local/lib/groonga/plugins/ruby/eval.rb +1 -1
 - data/vendor/local/lib/groonga/plugins/sharding.rb +3 -0
 - data/vendor/local/lib/groonga/plugins/sharding/dynamic_columns.rb +152 -0
 - data/vendor/local/lib/groonga/plugins/sharding/keys_parsable.rb +12 -0
 - data/vendor/local/lib/groonga/plugins/sharding/logical_count.rb +149 -106
 - data/vendor/local/lib/groonga/plugins/sharding/logical_enumerator.rb +11 -3
 - data/vendor/local/lib/groonga/plugins/sharding/logical_range_filter.rb +80 -6
 - data/vendor/local/lib/groonga/plugins/sharding/logical_select.rb +43 -206
 - data/vendor/local/lib/groonga/plugins/sharding/range_expression_builder.rb +15 -0
 - data/vendor/local/lib/groonga/plugins/suggest/suggest.a +0 -0
 - data/vendor/local/lib/groonga/plugins/suggest/suggest.dll +0 -0
 - data/vendor/local/lib/groonga/plugins/suggest/suggest.dll.a +0 -0
 - data/vendor/local/lib/groonga/plugins/suggest/suggest.la +1 -1
 - data/vendor/local/lib/groonga/plugins/token_filters/stop_word.a +0 -0
 - data/vendor/local/lib/groonga/plugins/token_filters/stop_word.dll +0 -0
 - data/vendor/local/lib/groonga/plugins/token_filters/stop_word.dll.a +0 -0
 - data/vendor/local/lib/groonga/plugins/token_filters/stop_word.la +1 -1
 - data/vendor/local/lib/groonga/plugins/tokenizers/mecab.a +0 -0
 - data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll +0 -0
 - data/vendor/local/lib/groonga/plugins/tokenizers/mecab.dll.a +0 -0
 - data/vendor/local/lib/groonga/plugins/tokenizers/mecab.la +1 -1
 - data/vendor/local/lib/groonga/scripts/ruby/command_line/grndb.rb +163 -1
 - data/vendor/local/lib/groonga/scripts/ruby/command_line_parser.rb +12 -0
 - data/vendor/local/lib/groonga/scripts/ruby/expression_tree/function_call.rb +8 -3
 - data/vendor/local/lib/groonga/scripts/ruby/expression_tree_builder.rb +1 -0
 - data/{lib/groonga/table.rb → vendor/local/lib/groonga/scripts/ruby/groonga-log.rb} +6 -12
 - data/vendor/local/lib/groonga/scripts/ruby/groonga-log/parser.rb +81 -0
 - data/vendor/local/lib/groonga/scripts/ruby/groonga-log/statistic.rb +23 -0
 - data/vendor/local/lib/groonga/scripts/ruby/groonga-log/version.rb +3 -0
 - data/vendor/local/lib/groonga/scripts/ruby/initialize/post.rb +10 -0
 - data/vendor/local/lib/groonga/scripts/ruby/labeled_arguments.rb +21 -0
 - data/vendor/local/lib/groonga/scripts/ruby/logger/level.rb +8 -2
 - data/vendor/local/lib/groonga/scripts/ruby/object.rb +7 -0
 - data/vendor/local/lib/groonga/scripts/ruby/scan_info.rb +3 -0
 - data/vendor/local/lib/groonga/scripts/ruby/scan_info_builder.rb +2 -0
 - data/vendor/local/lib/groonga/scripts/ruby/scan_info_data.rb +40 -9
 - data/vendor/local/lib/groonga/scripts/ruby/table.rb +12 -2
 - data/vendor/local/lib/libgroonga.a +0 -0
 - data/vendor/local/lib/libgroonga.dll.a +0 -0
 - data/vendor/local/lib/libgroonga.la +1 -1
 - data/vendor/local/lib/liblz4.a +0 -0
 - data/vendor/local/lib/liblz4.dll +0 -0
 - data/vendor/local/lib/liblz4.dll.1 +0 -0
 - data/vendor/local/lib/liblz4.dll.1.5.0 +0 -0
 - data/vendor/local/lib/libmecab.a +0 -0
 - data/vendor/local/lib/libmecab.dll.a +0 -0
 - data/vendor/local/lib/libmecab.la +2 -2
 - data/vendor/local/lib/libmsgpackc.a +0 -0
 - data/vendor/local/lib/libmsgpackc.dll.a +0 -0
 - data/vendor/local/lib/libonigmo.a +0 -0
 - data/vendor/local/lib/libonigmo.dll.a +0 -0
 - data/vendor/local/lib/libpcre.a +0 -0
 - data/vendor/local/lib/libpcre.dll.a +0 -0
 - data/vendor/local/lib/libpcre.la +1 -1
 - data/vendor/local/lib/libpcrecpp.a +0 -0
 - data/vendor/local/lib/libpcrecpp.dll.a +0 -0
 - data/vendor/local/lib/libpcreposix.a +0 -0
 - data/vendor/local/lib/libpcreposix.dll.a +0 -0
 - data/vendor/local/lib/libpcreposix.la +1 -1
 - data/vendor/local/lib/libz.a +0 -0
 - data/vendor/local/lib/libz.dll.a +0 -0
 - data/vendor/local/lib/pkgconfig/groonga.pc +2 -2
 - data/vendor/local/lib/pkgconfig/libpcre.pc +1 -1
 - data/vendor/local/lib/pkgconfig/libpcrecpp.pc +1 -1
 - data/vendor/local/lib/pkgconfig/libpcreposix.pc +1 -1
 - data/vendor/local/libexec/mecab/mecab-cost-train.exe +0 -0
 - data/vendor/local/libexec/mecab/mecab-dict-gen.exe +0 -0
 - data/vendor/local/libexec/mecab/mecab-dict-index.exe +0 -0
 - data/vendor/local/libexec/mecab/mecab-system-eval.exe +0 -0
 - data/vendor/local/libexec/mecab/mecab-test-gen.exe +0 -0
 - data/vendor/local/share/doc/groonga/en/html/.buildinfo +1 -1
 - data/vendor/local/share/doc/groonga/en/html/_static/basic.css +47 -19
 - data/vendor/local/share/doc/groonga/en/html/_static/comment-bright.png +0 -0
 - data/vendor/local/share/doc/groonga/en/html/_static/comment-close.png +0 -0
 - data/vendor/local/share/doc/groonga/en/html/_static/comment.png +0 -0
 - data/vendor/local/share/doc/groonga/en/html/_static/doctools.js +1 -1
 - data/vendor/local/share/doc/groonga/en/html/_static/down-pressed.png +0 -0
 - data/vendor/local/share/doc/groonga/en/html/_static/down.png +0 -0
 - data/vendor/local/share/doc/groonga/en/html/_static/file.png +0 -0
 - data/vendor/local/share/doc/groonga/en/html/_static/{jquery-1.11.1.js → jquery-3.1.0.js} +4245 -4479
 - data/vendor/local/share/doc/groonga/en/html/_static/jquery.js +4 -4
 - data/vendor/local/share/doc/groonga/en/html/_static/minus.png +0 -0
 - data/vendor/local/share/doc/groonga/en/html/_static/plus.png +0 -0
 - data/vendor/local/share/doc/groonga/en/html/_static/searchtools.js +112 -5
 - data/vendor/local/share/doc/groonga/en/html/_static/up-pressed.png +0 -0
 - data/vendor/local/share/doc/groonga/en/html/_static/up.png +0 -0
 - data/vendor/local/share/doc/groonga/en/html/_static/websupport.js +1 -1
 - data/vendor/local/share/doc/groonga/en/html/characteristic.html +9 -19
 - data/vendor/local/share/doc/groonga/en/html/client.html +9 -19
 - data/vendor/local/share/doc/groonga/en/html/community.html +9 -19
 - data/vendor/local/share/doc/groonga/en/html/contribution.html +9 -19
 - data/vendor/local/share/doc/groonga/en/html/contribution/development.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/contribution/development/build.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/contribution/development/build/unix_autotools.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/contribution/development/build/unix_cmake.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/contribution/development/build/windows_cmake.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/contribution/development/com.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/contribution/development/cooperation.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/contribution/development/query.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/contribution/development/release.html +10 -21
 - data/vendor/local/share/doc/groonga/en/html/contribution/development/repository.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/contribution/development/test.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/contribution/documentation.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/contribution/documentation/c-api.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/contribution/documentation/i18n.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/contribution/documentation/introduction.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/contribution/report.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/development.html +13 -23
 - data/vendor/local/share/doc/groonga/en/html/development/travis-ci.html +15 -26
 - data/vendor/local/share/doc/groonga/en/html/genindex.html +819 -1560
 - data/vendor/local/share/doc/groonga/en/html/index.html +42 -45
 - data/vendor/local/share/doc/groonga/en/html/install.html +11 -20
 - data/vendor/local/share/doc/groonga/en/html/install/centos.html +14 -25
 - data/vendor/local/share/doc/groonga/en/html/install/debian.html +92 -28
 - data/vendor/local/share/doc/groonga/en/html/install/fedora.html +13 -24
 - data/vendor/local/share/doc/groonga/en/html/install/mac_os_x.html +13 -24
 - data/vendor/local/share/doc/groonga/en/html/install/others.html +13 -24
 - data/vendor/local/share/doc/groonga/en/html/install/solaris.html +12 -23
 - data/vendor/local/share/doc/groonga/en/html/install/ubuntu.html +15 -25
 - data/vendor/local/share/doc/groonga/en/html/install/windows.html +18 -29
 - data/vendor/local/share/doc/groonga/en/html/limitations.html +13 -23
 - data/vendor/local/share/doc/groonga/en/html/news.html +650 -43
 - data/vendor/local/share/doc/groonga/en/html/news/0.x.html +15 -25
 - data/vendor/local/share/doc/groonga/en/html/news/1.0.x.html +13 -23
 - data/vendor/local/share/doc/groonga/en/html/news/1.1.x.html +10 -20
 - data/vendor/local/share/doc/groonga/en/html/news/1.2.x.html +12 -22
 - data/vendor/local/share/doc/groonga/en/html/news/1.3.x.html +10 -20
 - data/vendor/local/share/doc/groonga/en/html/news/2.x.html +11 -21
 - data/vendor/local/share/doc/groonga/en/html/news/3.x.html +10 -20
 - data/vendor/local/share/doc/groonga/en/html/news/4.x.html +10 -20
 - data/vendor/local/share/doc/groonga/en/html/news/5.x.html +10 -20
 - data/vendor/local/share/doc/groonga/en/html/news/6.x.html +10 -20
 - data/vendor/local/share/doc/groonga/en/html/news/senna.html +10 -20
 - data/vendor/local/share/doc/groonga/en/html/objects.inv +0 -0
 - data/vendor/local/share/doc/groonga/en/html/reference.html +32 -40
 - data/vendor/local/share/doc/groonga/en/html/reference/alias.html +12 -24
 - data/vendor/local/share/doc/groonga/en/html/reference/api.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/api/global_configurations.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_cache.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_column.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_command_version.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_content_type.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_ctx.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_db.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_encoding.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_expr.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_geo.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_hook.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_ii.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_index_cursor.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_info.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_match_escalation.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_obj.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_proc.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_search.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_table.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_table_cursor.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_thread.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_type.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/api/grn_user_data.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/api/overview.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/api/plugin.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/cast.html +10 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/column.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/columns/index.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/columns/pseudo.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/columns/scalar.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/columns/vector.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/command.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/command/command_version.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/command/output_format.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/command/pretty_print.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/command/request_id.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/command/request_timeout.html +10 -21
 - data/vendor/local/share/doc/groonga/en/html/reference/command/return_code.html +10 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/cache_limit.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/check.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/clearlock.html +11 -22
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/column_copy.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/column_create.html +35 -37
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/column_list.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/column_remove.html +10 -21
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/column_rename.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/config_delete.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/config_get.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/config_set.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/database_unmap.html +10 -21
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/define_selector.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/defrag.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/delete.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/dump.html +56 -28
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/io_flush.html +42 -21
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/load.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/lock_acquire.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/lock_clear.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/lock_release.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/log_level.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/log_put.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/log_reopen.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_count.html +583 -107
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_parameters.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_range_filter.html +1143 -51
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_select.html +166 -29
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_shard_list.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/logical_table_remove.html +13 -24
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/normalize.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/normalizer_list.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/object_exist.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/object_inspect.html +12 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/object_list.html +138 -143
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/object_remove.html +14 -24
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/plugin_register.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/plugin_unregister.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/query_expand.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/quit.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/range_filter.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/register.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/reindex.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/request_cancel.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/ruby_eval.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/ruby_load.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/schema.html +95 -65
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/select.html +37 -25
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/shutdown.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/status.html +15 -26
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/suggest.html +14 -33
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/table_copy.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/table_create.html +11 -21
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/table_list.html +9 -60
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/table_remove.html +12 -23
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/table_rename.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/table_tokenize.html +15 -53
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/thread_limit.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/tokenize.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/tokenizer_list.html +9 -23
 - data/vendor/local/share/doc/groonga/en/html/reference/commands/truncate.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/configuration.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/executables.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/executables/grndb.html +118 -21
 - data/vendor/local/share/doc/groonga/en/html/reference/executables/grnslap.html +11 -22
 - data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-benchmark.html +21 -32
 - data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-httpd.html +17 -27
 - data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-server-http.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-create-dataset.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-httpd.html +26 -39
 - data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-learner.html +17 -28
 - data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga.html +44 -55
 - data/vendor/local/share/doc/groonga/en/html/reference/function.html +29 -39
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/between.html +56 -111
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/edit_distance.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/fuzzy_search.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_distance.html +11 -22
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_circle.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_rectangle.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/highlight_full.html +11 -22
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/highlight_html.html +11 -22
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/html_untag.html +10 -21
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/in_records.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/in_values.html +15 -26
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/math_abs.html +237 -0
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/now.html +30 -41
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/number_classify.html +27 -38
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/prefix_rk_search.html +37 -50
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/query.html +50 -61
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/rand.html +31 -42
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/snippet_html.html +36 -47
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/string_length.html +27 -38
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/string_substring.html +27 -38
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/sub_filter.html +35 -46
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_day.html +27 -38
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_hour.html +27 -38
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_minute.html +27 -38
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_month.html +27 -38
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_second.html +27 -38
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_week.html +27 -38
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/time_classify_year.html +27 -38
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/vector_new.html +29 -40
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/vector_size.html +32 -43
 - data/vendor/local/share/doc/groonga/en/html/reference/functions/vector_slice.html +23 -34
 - data/vendor/local/share/doc/groonga/en/html/reference/grn_expr.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/query_syntax.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/script_syntax.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/indexing.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/log.html +11 -22
 - data/vendor/local/share/doc/groonga/en/html/reference/normalizers.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/operations.html +13 -24
 - data/vendor/local/share/doc/groonga/en/html/reference/operations/geolocation_search.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/operations/prefix_rk_search.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/output.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/query_expanders.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/query_expanders/tsv.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/regular_expression.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/scorer.html +14 -25
 - data/vendor/local/share/doc/groonga/en/html/reference/scorers/scorer_tf_at_most.html +10 -21
 - data/vendor/local/share/doc/groonga/en/html/reference/scorers/scorer_tf_idf.html +10 -21
 - data/vendor/local/share/doc/groonga/en/html/reference/sharding.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/suggest.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/suggest/completion.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/suggest/correction.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/suggest/introduction.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/suggest/suggestion.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/tables.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/token_filters.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/tokenizers.html +22 -37
 - data/vendor/local/share/doc/groonga/en/html/reference/tuning.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/types.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/reference/window_function.html +16 -26
 - data/vendor/local/share/doc/groonga/en/html/reference/window_functions/record_number.html +14 -25
 - data/vendor/local/share/doc/groonga/en/html/reference/window_functions/window_count.html +152 -0
 - data/vendor/local/share/doc/groonga/en/html/reference/window_functions/window_record_number.html +28 -39
 - data/vendor/local/share/doc/groonga/en/html/reference/window_functions/window_sum.html +23 -34
 - data/vendor/local/share/doc/groonga/en/html/search.html +9 -12
 - data/vendor/local/share/doc/groonga/en/html/searchindex.js +1 -1
 - data/vendor/local/share/doc/groonga/en/html/server.html +9 -19
 - data/vendor/local/share/doc/groonga/en/html/server/gqtp.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/server/http.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/server/http/comparison.html +10 -21
 - data/vendor/local/share/doc/groonga/en/html/server/http/groonga-httpd.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/server/http/groonga.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/server/memcached.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/server/package.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/spec.html +9 -19
 - data/vendor/local/share/doc/groonga/en/html/spec/gqtp.html +17 -27
 - data/vendor/local/share/doc/groonga/en/html/spec/search.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/troubleshooting.html +18 -24
 - data/vendor/local/share/doc/groonga/en/html/troubleshooting/different_results_with_the_same_keyword.html +20 -31
 - data/vendor/local/share/doc/groonga/en/html/troubleshooting/how_to_analyze_error_message.html +188 -0
 - data/vendor/local/share/doc/groonga/en/html/troubleshooting/mmap_cannot_allocate_memory.html +22 -33
 - data/vendor/local/share/doc/groonga/en/html/tutorial.html +9 -19
 - data/vendor/local/share/doc/groonga/en/html/tutorial/data.html +10 -21
 - data/vendor/local/share/doc/groonga/en/html/tutorial/drilldown.html +12 -23
 - data/vendor/local/share/doc/groonga/en/html/tutorial/index.html +10 -21
 - data/vendor/local/share/doc/groonga/en/html/tutorial/introduction.html +21 -31
 - data/vendor/local/share/doc/groonga/en/html/tutorial/lexicon.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/tutorial/match_columns.html +174 -22
 - data/vendor/local/share/doc/groonga/en/html/tutorial/micro_blog.html +10 -81
 - data/vendor/local/share/doc/groonga/en/html/tutorial/network.html +16 -26
 - data/vendor/local/share/doc/groonga/en/html/tutorial/patricia_trie.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/tutorial/query_expansion.html +9 -20
 - data/vendor/local/share/doc/groonga/en/html/tutorial/search.html +14 -25
 - data/vendor/local/share/doc/groonga/ja/html/.buildinfo +1 -1
 - data/vendor/local/share/doc/groonga/ja/html/_static/basic.css +47 -19
 - data/vendor/local/share/doc/groonga/ja/html/_static/comment-bright.png +0 -0
 - data/vendor/local/share/doc/groonga/ja/html/_static/comment-close.png +0 -0
 - data/vendor/local/share/doc/groonga/ja/html/_static/comment.png +0 -0
 - data/vendor/local/share/doc/groonga/ja/html/_static/doctools.js +1 -1
 - data/vendor/local/share/doc/groonga/ja/html/_static/down-pressed.png +0 -0
 - data/vendor/local/share/doc/groonga/ja/html/_static/down.png +0 -0
 - data/vendor/local/share/doc/groonga/ja/html/_static/file.png +0 -0
 - data/vendor/local/share/doc/groonga/ja/html/_static/{jquery-1.11.1.js → jquery-3.1.0.js} +4245 -4479
 - data/vendor/local/share/doc/groonga/ja/html/_static/jquery.js +4 -4
 - data/vendor/local/share/doc/groonga/ja/html/_static/minus.png +0 -0
 - data/vendor/local/share/doc/groonga/ja/html/_static/plus.png +0 -0
 - data/vendor/local/share/doc/groonga/ja/html/_static/searchtools.js +112 -5
 - data/vendor/local/share/doc/groonga/ja/html/_static/up-pressed.png +0 -0
 - data/vendor/local/share/doc/groonga/ja/html/_static/up.png +0 -0
 - data/vendor/local/share/doc/groonga/ja/html/_static/websupport.js +1 -1
 - data/vendor/local/share/doc/groonga/ja/html/characteristic.html +9 -19
 - data/vendor/local/share/doc/groonga/ja/html/client.html +9 -19
 - data/vendor/local/share/doc/groonga/ja/html/community.html +11 -23
 - data/vendor/local/share/doc/groonga/ja/html/contribution.html +12 -25
 - data/vendor/local/share/doc/groonga/ja/html/contribution/development.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/contribution/development/build.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/contribution/development/build/unix_autotools.html +13 -28
 - data/vendor/local/share/doc/groonga/ja/html/contribution/development/build/unix_cmake.html +12 -26
 - data/vendor/local/share/doc/groonga/ja/html/contribution/development/build/windows_cmake.html +16 -34
 - data/vendor/local/share/doc/groonga/ja/html/contribution/development/com.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/contribution/development/cooperation.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/contribution/development/query.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/contribution/development/release.html +10 -21
 - data/vendor/local/share/doc/groonga/ja/html/contribution/development/repository.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/contribution/development/test.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/contribution/documentation.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/c-api.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/i18n.html +20 -42
 - data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/introduction.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/contribution/report.html +11 -24
 - data/vendor/local/share/doc/groonga/ja/html/development.html +13 -23
 - data/vendor/local/share/doc/groonga/ja/html/development/travis-ci.html +19 -38
 - data/vendor/local/share/doc/groonga/ja/html/genindex.html +819 -1560
 - data/vendor/local/share/doc/groonga/ja/html/index.html +41 -44
 - data/vendor/local/share/doc/groonga/ja/html/install.html +11 -20
 - data/vendor/local/share/doc/groonga/ja/html/install/centos.html +18 -33
 - data/vendor/local/share/doc/groonga/ja/html/install/debian.html +84 -32
 - data/vendor/local/share/doc/groonga/ja/html/install/fedora.html +15 -28
 - data/vendor/local/share/doc/groonga/ja/html/install/mac_os_x.html +13 -24
 - data/vendor/local/share/doc/groonga/ja/html/install/others.html +28 -55
 - data/vendor/local/share/doc/groonga/ja/html/install/solaris.html +12 -23
 - data/vendor/local/share/doc/groonga/ja/html/install/ubuntu.html +17 -29
 - data/vendor/local/share/doc/groonga/ja/html/install/windows.html +18 -29
 - data/vendor/local/share/doc/groonga/ja/html/limitations.html +17 -35
 - data/vendor/local/share/doc/groonga/ja/html/news.html +516 -158
 - data/vendor/local/share/doc/groonga/ja/html/news/0.x.html +15 -25
 - data/vendor/local/share/doc/groonga/ja/html/news/1.0.x.html +12 -22
 - data/vendor/local/share/doc/groonga/ja/html/news/1.1.x.html +10 -20
 - data/vendor/local/share/doc/groonga/ja/html/news/1.2.x.html +144 -288
 - data/vendor/local/share/doc/groonga/ja/html/news/1.3.x.html +36 -72
 - data/vendor/local/share/doc/groonga/ja/html/news/2.x.html +266 -532
 - data/vendor/local/share/doc/groonga/ja/html/news/3.x.html +224 -441
 - data/vendor/local/share/doc/groonga/ja/html/news/4.x.html +258 -516
 - data/vendor/local/share/doc/groonga/ja/html/news/5.x.html +282 -562
 - data/vendor/local/share/doc/groonga/ja/html/news/6.x.html +213 -426
 - data/vendor/local/share/doc/groonga/ja/html/news/senna.html +10 -20
 - data/vendor/local/share/doc/groonga/ja/html/objects.inv +0 -0
 - data/vendor/local/share/doc/groonga/ja/html/reference.html +32 -40
 - data/vendor/local/share/doc/groonga/ja/html/reference/alias.html +14 -28
 - data/vendor/local/share/doc/groonga/ja/html/reference/api.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/global_configurations.html +11 -24
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_cache.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_column.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_command_version.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_content_type.html +10 -22
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_ctx.html +15 -32
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_db.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_encoding.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_expr.html +11 -24
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_geo.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_hook.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_ii.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_index_cursor.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_info.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_match_escalation.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_obj.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_proc.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_search.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_table.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_table_cursor.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_thread.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_type.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_user_data.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/overview.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/api/plugin.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/cast.html +10 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/column.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/columns/index.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/columns/pseudo.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/columns/scalar.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/columns/vector.html +15 -32
 - data/vendor/local/share/doc/groonga/ja/html/reference/command.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/command/command_version.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/command/output_format.html +10 -22
 - data/vendor/local/share/doc/groonga/ja/html/reference/command/pretty_print.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/command/request_id.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/command/request_timeout.html +10 -21
 - data/vendor/local/share/doc/groonga/ja/html/reference/command/return_code.html +12 -24
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/cache_limit.html +11 -24
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/check.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/clearlock.html +11 -22
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_copy.html +31 -64
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_create.html +56 -85
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_list.html +29 -60
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_remove.html +10 -21
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_rename.html +14 -30
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/config_delete.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/config_get.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/config_set.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/database_unmap.html +10 -21
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/define_selector.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/defrag.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/delete.html +15 -32
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/dump.html +55 -28
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/io_flush.html +45 -45
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/load.html +15 -32
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/lock_acquire.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/lock_clear.html +11 -24
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/lock_release.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_level.html +15 -32
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_put.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_reopen.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_count.html +498 -106
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_parameters.html +13 -27
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_range_filter.html +1051 -56
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_select.html +166 -56
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_shard_list.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/logical_table_remove.html +33 -63
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/normalize.html +17 -36
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/normalizer_list.html +13 -28
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/object_exist.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/object_inspect.html +54 -104
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/object_list.html +183 -233
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/object_remove.html +14 -24
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/plugin_register.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/plugin_unregister.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/query_expand.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/quit.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/range_filter.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/register.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/reindex.html +11 -24
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/request_cancel.html +14 -30
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/ruby_eval.html +10 -22
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/ruby_load.html +10 -22
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/schema.html +136 -147
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/select.html +145 -271
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/shutdown.html +10 -22
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/status.html +23 -42
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/suggest.html +28 -61
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_copy.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_create.html +32 -65
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_list.html +9 -60
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_remove.html +22 -43
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_rename.html +12 -26
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_tokenize.html +15 -53
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/thread_limit.html +11 -24
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/tokenize.html +18 -38
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/tokenizer_list.html +13 -31
 - data/vendor/local/share/doc/groonga/ja/html/reference/commands/truncate.html +11 -24
 - data/vendor/local/share/doc/groonga/ja/html/reference/configuration.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/executables.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/executables/grndb.html +113 -29
 - data/vendor/local/share/doc/groonga/ja/html/reference/executables/grnslap.html +11 -22
 - data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-benchmark.html +21 -32
 - data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-httpd.html +20 -33
 - data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-server-http.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-create-dataset.html +10 -22
 - data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-httpd.html +70 -127
 - data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-learner.html +17 -28
 - data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga.html +71 -109
 - data/vendor/local/share/doc/groonga/ja/html/reference/function.html +29 -39
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/between.html +46 -102
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/edit_distance.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/fuzzy_search.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_distance.html +14 -28
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_circle.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_rectangle.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/highlight_full.html +11 -22
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/highlight_html.html +11 -22
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/html_untag.html +10 -21
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/in_records.html +23 -48
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/in_values.html +16 -27
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/math_abs.html +237 -0
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/now.html +30 -41
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/number_classify.html +27 -38
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/prefix_rk_search.html +37 -50
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/query.html +64 -89
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/rand.html +31 -42
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/snippet_html.html +42 -59
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/string_length.html +27 -38
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/string_substring.html +27 -38
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/sub_filter.html +38 -52
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_day.html +27 -38
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_hour.html +27 -38
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_minute.html +27 -38
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_month.html +27 -38
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_second.html +27 -38
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_week.html +27 -38
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/time_classify_year.html +27 -38
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/vector_new.html +29 -40
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/vector_size.html +32 -43
 - data/vendor/local/share/doc/groonga/ja/html/reference/functions/vector_slice.html +23 -34
 - data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr.html +13 -28
 - data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/query_syntax.html +18 -38
 - data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/script_syntax.html +17 -36
 - data/vendor/local/share/doc/groonga/ja/html/reference/indexing.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/log.html +37 -74
 - data/vendor/local/share/doc/groonga/ja/html/reference/normalizers.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/operations.html +13 -24
 - data/vendor/local/share/doc/groonga/ja/html/reference/operations/geolocation_search.html +18 -38
 - data/vendor/local/share/doc/groonga/ja/html/reference/operations/prefix_rk_search.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/output.html +12 -26
 - data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders/tsv.html +15 -32
 - data/vendor/local/share/doc/groonga/ja/html/reference/regular_expression.html +29 -60
 - data/vendor/local/share/doc/groonga/ja/html/reference/scorer.html +16 -29
 - data/vendor/local/share/doc/groonga/ja/html/reference/scorers/scorer_tf_at_most.html +10 -21
 - data/vendor/local/share/doc/groonga/ja/html/reference/scorers/scorer_tf_idf.html +10 -21
 - data/vendor/local/share/doc/groonga/ja/html/reference/sharding.html +16 -34
 - data/vendor/local/share/doc/groonga/ja/html/reference/suggest.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/suggest/completion.html +34 -70
 - data/vendor/local/share/doc/groonga/ja/html/reference/suggest/correction.html +22 -46
 - data/vendor/local/share/doc/groonga/ja/html/reference/suggest/introduction.html +16 -34
 - data/vendor/local/share/doc/groonga/ja/html/reference/suggest/suggestion.html +19 -40
 - data/vendor/local/share/doc/groonga/ja/html/reference/tables.html +31 -64
 - data/vendor/local/share/doc/groonga/ja/html/reference/token_filters.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers.html +42 -77
 - data/vendor/local/share/doc/groonga/ja/html/reference/tuning.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/types.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/reference/window_function.html +16 -26
 - data/vendor/local/share/doc/groonga/ja/html/reference/window_functions/record_number.html +14 -25
 - data/vendor/local/share/doc/groonga/ja/html/reference/window_functions/window_count.html +153 -0
 - data/vendor/local/share/doc/groonga/ja/html/reference/window_functions/window_record_number.html +28 -39
 - data/vendor/local/share/doc/groonga/ja/html/reference/window_functions/window_sum.html +23 -34
 - data/vendor/local/share/doc/groonga/ja/html/search.html +9 -12
 - data/vendor/local/share/doc/groonga/ja/html/searchindex.js +1 -1
 - data/vendor/local/share/doc/groonga/ja/html/server.html +9 -19
 - data/vendor/local/share/doc/groonga/ja/html/server/gqtp.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/server/http.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/server/http/comparison.html +47 -95
 - data/vendor/local/share/doc/groonga/ja/html/server/http/groonga-httpd.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/server/http/groonga.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/server/memcached.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/server/package.html +26 -54
 - data/vendor/local/share/doc/groonga/ja/html/spec.html +9 -19
 - data/vendor/local/share/doc/groonga/ja/html/spec/gqtp.html +50 -93
 - data/vendor/local/share/doc/groonga/ja/html/spec/search.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/troubleshooting.html +18 -24
 - data/vendor/local/share/doc/groonga/ja/html/troubleshooting/different_results_with_the_same_keyword.html +14 -25
 - data/vendor/local/share/doc/groonga/ja/html/troubleshooting/how_to_analyze_error_message.html +186 -0
 - data/vendor/local/share/doc/groonga/ja/html/troubleshooting/mmap_cannot_allocate_memory.html +22 -35
 - data/vendor/local/share/doc/groonga/ja/html/tutorial.html +9 -19
 - data/vendor/local/share/doc/groonga/ja/html/tutorial/data.html +12 -25
 - data/vendor/local/share/doc/groonga/ja/html/tutorial/drilldown.html +15 -29
 - data/vendor/local/share/doc/groonga/ja/html/tutorial/index.html +10 -21
 - data/vendor/local/share/doc/groonga/ja/html/tutorial/introduction.html +29 -47
 - data/vendor/local/share/doc/groonga/ja/html/tutorial/lexicon.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/tutorial/match_columns.html +177 -28
 - data/vendor/local/share/doc/groonga/ja/html/tutorial/micro_blog.html +34 -129
 - data/vendor/local/share/doc/groonga/ja/html/tutorial/network.html +16 -26
 - data/vendor/local/share/doc/groonga/ja/html/tutorial/patricia_trie.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/tutorial/query_expansion.html +9 -20
 - data/vendor/local/share/doc/groonga/ja/html/tutorial/search.html +18 -33
 - data/vendor/local/share/doc/pcre/AUTHORS +3 -3
 - data/vendor/local/share/doc/pcre/ChangeLog +94 -0
 - data/vendor/local/share/doc/pcre/LICENCE +3 -3
 - data/vendor/local/share/doc/pcre/NEWS +12 -0
 - data/vendor/local/share/doc/pcre/html/pcrecompat.html +1 -1
 - data/vendor/local/share/doc/pcre/html/pcrejit.html +52 -5
 - data/vendor/local/share/doc/pcre/html/pcrepattern.html +20 -17
 - data/vendor/local/share/doc/pcre/html/pcretest.html +7 -2
 - data/vendor/local/share/doc/pcre/pcre.txt +1103 -1055
 - data/vendor/local/share/doc/pcre/pcretest.txt +6 -2
 - data/vendor/local/share/groonga/groonga-log/README.md +44 -0
 - data/vendor/local/share/groonga/groonga-log/lgpl-2.1.txt +502 -0
 - data/vendor/local/share/groonga/mruby/LEGAL +4 -0
 - data/vendor/local/share/license/cv2pdb/LICENSE +201 -0
 - data/vendor/local/share/license/cv2pdb/README +138 -0
 - data/vendor/local/share/license/groonga-log/README.md +44 -0
 - data/vendor/local/share/license/groonga-log/lgpl-2.1.txt +502 -0
 - data/vendor/local/share/license/pcre/LICENCE +3 -3
 - data/vendor/local/share/man/man1/pcretest.1 +7 -3
 - data/vendor/local/share/man/man3/pcrecompat.3 +1 -1
 - data/vendor/local/share/man/man3/pcrejit.3 +48 -6
 - data/vendor/local/share/man/man3/pcrepattern.3 +20 -17
 - metadata +102 -559
 - data/lib/groonga/statistic-measurer.rb +0 -37
 - data/test/test-statistic-measurer.rb +0 -55
 - data/vendor/local/share/doc/groonga/en/html/_sources/characteristic.txt +0 -70
 - data/vendor/local/share/doc/groonga/en/html/_sources/client.txt +0 -19
 - data/vendor/local/share/doc/groonga/en/html/_sources/community.txt +0 -49
 - data/vendor/local/share/doc/groonga/en/html/_sources/contribution.txt +0 -26
 - data/vendor/local/share/doc/groonga/en/html/_sources/contribution/development.txt +0 -14
 - data/vendor/local/share/doc/groonga/en/html/_sources/contribution/development/build.txt +0 -19
 - data/vendor/local/share/doc/groonga/en/html/_sources/contribution/development/build/unix_autotools.txt +0 -101
 - data/vendor/local/share/doc/groonga/en/html/_sources/contribution/development/build/unix_cmake.txt +0 -94
 - data/vendor/local/share/doc/groonga/en/html/_sources/contribution/development/build/windows_cmake.txt +0 -93
 - data/vendor/local/share/doc/groonga/en/html/_sources/contribution/development/com.txt +0 -20
 - data/vendor/local/share/doc/groonga/en/html/_sources/contribution/development/cooperation.txt +0 -75
 - data/vendor/local/share/doc/groonga/en/html/_sources/contribution/development/query.txt +0 -214
 - data/vendor/local/share/doc/groonga/en/html/_sources/contribution/development/release.txt +0 -790
 - data/vendor/local/share/doc/groonga/en/html/_sources/contribution/development/repository.txt +0 -16
 - data/vendor/local/share/doc/groonga/en/html/_sources/contribution/development/test.txt +0 -120
 - data/vendor/local/share/doc/groonga/en/html/_sources/contribution/documentation.txt +0 -18
 - data/vendor/local/share/doc/groonga/en/html/_sources/contribution/documentation/c-api.txt +0 -14
 - data/vendor/local/share/doc/groonga/en/html/_sources/contribution/documentation/i18n.txt +0 -200
 - data/vendor/local/share/doc/groonga/en/html/_sources/contribution/documentation/introduction.txt +0 -81
 - data/vendor/local/share/doc/groonga/en/html/_sources/contribution/report.txt +0 -27
 - data/vendor/local/share/doc/groonga/en/html/_sources/development.txt +0 -16
 - data/vendor/local/share/doc/groonga/en/html/_sources/development/travis-ci.txt +0 -66
 - data/vendor/local/share/doc/groonga/en/html/_sources/index.txt +0 -33
 - data/vendor/local/share/doc/groonga/en/html/_sources/install.txt +0 -28
 - data/vendor/local/share/doc/groonga/en/html/_sources/install/centos.txt +0 -106
 - data/vendor/local/share/doc/groonga/en/html/_sources/install/debian.txt +0 -107
 - data/vendor/local/share/doc/groonga/en/html/_sources/install/fedora.txt +0 -97
 - data/vendor/local/share/doc/groonga/en/html/_sources/install/mac_os_x.txt +0 -66
 - data/vendor/local/share/doc/groonga/en/html/_sources/install/others.txt +0 -273
 - data/vendor/local/share/doc/groonga/en/html/_sources/install/solaris.txt +0 -43
 - data/vendor/local/share/doc/groonga/en/html/_sources/install/ubuntu.txt +0 -99
 - data/vendor/local/share/doc/groonga/en/html/_sources/install/windows.txt +0 -92
 - data/vendor/local/share/doc/groonga/en/html/_sources/limitations.txt +0 -58
 - data/vendor/local/share/doc/groonga/en/html/_sources/news.txt +0 -315
 - data/vendor/local/share/doc/groonga/en/html/_sources/news/0.x.txt +0 -126
 - data/vendor/local/share/doc/groonga/en/html/_sources/news/1.0.x.txt +0 -289
 - data/vendor/local/share/doc/groonga/en/html/_sources/news/1.1.x.txt +0 -31
 - data/vendor/local/share/doc/groonga/en/html/_sources/news/1.2.x.txt +0 -390
 - data/vendor/local/share/doc/groonga/en/html/_sources/news/1.3.x.txt +0 -52
 - data/vendor/local/share/doc/groonga/en/html/_sources/news/2.x.txt +0 -623
 - data/vendor/local/share/doc/groonga/en/html/_sources/news/3.x.txt +0 -539
 - data/vendor/local/share/doc/groonga/en/html/_sources/news/4.x.txt +0 -689
 - data/vendor/local/share/doc/groonga/en/html/_sources/news/5.x.txt +0 -1250
 - data/vendor/local/share/doc/groonga/en/html/_sources/news/6.x.txt +0 -1086
 - data/vendor/local/share/doc/groonga/en/html/_sources/news/senna.txt +0 -109
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference.txt +0 -35
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/alias.txt +0 -164
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/api.txt +0 -18
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/global_configurations.txt +0 -49
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_cache.txt +0 -114
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_column.txt +0 -198
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_command_version.txt +0 -37
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_content_type.txt +0 -39
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_ctx.txt +0 -195
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_db.txt +0 -134
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_encoding.txt +0 -49
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_expr.txt +0 -136
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_geo.txt +0 -55
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_hook.txt +0 -67
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_ii.txt +0 -35
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_index_cursor.txt +0 -44
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_info.txt +0 -56
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_match_escalation.txt +0 -39
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_obj.txt +0 -269
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_proc.txt +0 -56
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_search.txt +0 -31
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_table.txt +0 -219
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_table_cursor.txt +0 -109
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_thread.txt +0 -122
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_type.txt +0 -31
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_user_data.txt +0 -29
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/overview.txt +0 -54
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/plugin.txt +0 -156
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/cast.txt +0 -8
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/column.txt +0 -34
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/columns/index.txt +0 -19
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/columns/pseudo.txt +0 -40
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/columns/scalar.txt +0 -19
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/columns/vector.txt +0 -332
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/command.txt +0 -23
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/command/command_version.txt +0 -75
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/command/output_format.txt +0 -228
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/command/pretty_print.txt +0 -45
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/command/request_id.txt +0 -41
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/command/request_timeout.txt +0 -78
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/command/return_code.txt +0 -117
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/cache_limit.txt +0 -87
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/check.txt +0 -161
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/clearlock.txt +0 -60
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/column_copy.txt +0 -381
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/column_create.txt +0 -800
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/column_list.txt +0 -209
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/column_remove.txt +0 -57
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/column_rename.txt +0 -101
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/config_delete.txt +0 -95
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/config_get.txt +0 -96
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/config_set.txt +0 -96
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/database_unmap.txt +0 -85
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/define_selector.txt +0 -110
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/defrag.txt +0 -55
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/delete.txt +0 -122
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/dump.txt +0 -202
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/io_flush.txt +0 -266
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/load.txt +0 -100
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/lock_acquire.txt +0 -102
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/lock_clear.txt +0 -90
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/lock_release.txt +0 -98
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/log_level.txt +0 -87
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/log_put.txt +0 -65
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/log_reopen.txt +0 -62
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/logical_count.txt +0 -171
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/logical_parameters.txt +0 -134
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/logical_range_filter.txt +0 -195
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/logical_select.txt +0 -1359
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/logical_shard_list.txt +0 -103
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/logical_table_remove.txt +0 -541
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/normalize.txt +0 -155
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/normalizer_list.txt +0 -64
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/object_exist.txt +0 -95
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/object_inspect.txt +0 -899
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/object_list.txt +0 -405
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/object_remove.txt +0 -140
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/plugin_register.txt +0 -64
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/plugin_unregister.txt +0 -63
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/query_expand.txt +0 -38
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/quit.txt +0 -38
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/range_filter.txt +0 -28
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/register.txt +0 -69
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/reindex.txt +0 -142
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/request_cancel.txt +0 -134
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/ruby_eval.txt +0 -71
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/ruby_load.txt +0 -71
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/schema.txt +0 -627
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/select.txt +0 -2776
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/shutdown.txt +0 -113
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/status.txt +0 -151
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/suggest.txt +0 -271
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/table_copy.txt +0 -64
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/table_create.txt +0 -380
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/table_list.txt +0 -81
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/table_remove.txt +0 -309
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/table_rename.txt +0 -90
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/table_tokenize.txt +0 -120
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/thread_limit.txt +0 -110
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/tokenize.txt +0 -248
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/tokenizer_list.txt +0 -63
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/truncate.txt +0 -95
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/configuration.txt +0 -50
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/executables.txt +0 -14
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/executables/grndb.txt +0 -117
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/executables/grnslap.txt +0 -68
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/executables/groonga-benchmark.txt +0 -287
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/executables/groonga-httpd.txt +0 -552
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/executables/groonga-server-http.txt +0 -57
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/executables/groonga-suggest-create-dataset.txt +0 -63
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/executables/groonga-suggest-httpd.txt +0 -470
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/executables/groonga-suggest-learner.txt +0 -94
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/executables/groonga.txt +0 -473
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/function.txt +0 -20
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/between.txt +0 -105
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/edit_distance.txt +0 -48
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/fuzzy_search.txt +0 -23
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/geo_distance.txt +0 -300
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/geo_in_circle.txt +0 -81
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/geo_in_rectangle.txt +0 -55
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/highlight_full.txt +0 -127
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/highlight_html.txt +0 -105
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/html_untag.txt +0 -80
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/in_records.txt +0 -195
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/in_values.txt +0 -82
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/now.txt +0 -36
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/number_classify.txt +0 -20
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/prefix_rk_search.txt +0 -158
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/query.txt +0 -254
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/rand.txt +0 -43
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/snippet_html.txt +0 -114
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/string_length.txt +0 -33
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/string_substring.txt +0 -27
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/sub_filter.txt +0 -137
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/time_classify_day.txt +0 -18
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/time_classify_hour.txt +0 -18
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/time_classify_minute.txt +0 -18
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/time_classify_month.txt +0 -20
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/time_classify_second.txt +0 -18
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/time_classify_week.txt +0 -18
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/time_classify_year.txt +0 -18
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/vector_new.txt +0 -38
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/vector_size.txt +0 -76
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/vector_slice.txt +0 -27
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/grn_expr.txt +0 -59
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/grn_expr/query_syntax.txt +0 -652
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/grn_expr/script_syntax.txt +0 -1126
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/indexing.txt +0 -112
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/log.txt +0 -236
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/normalizers.txt +0 -133
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/operations.txt +0 -16
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/operations/geolocation_search.txt +0 -52
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/operations/prefix_rk_search.txt +0 -76
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/output.txt +0 -164
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/query_expanders.txt +0 -12
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/query_expanders/tsv.txt +0 -153
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/regular_expression.txt +0 -436
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/scorer.txt +0 -218
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/scorers/scorer_tf_at_most.txt +0 -136
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/scorers/scorer_tf_idf.txt +0 -157
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/sharding.txt +0 -104
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/suggest.txt +0 -17
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/suggest/completion.txt +0 -271
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/suggest/correction.txt +0 -148
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/suggest/introduction.txt +0 -96
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/suggest/suggestion.txt +0 -132
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/tables.txt +0 -216
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/token_filters.txt +0 -120
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/tokenizers.txt +0 -517
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/tuning.txt +0 -177
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/types.txt +0 -170
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/window_function.txt +0 -22
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/window_functions/record_number.txt +0 -28
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/window_functions/window_record_number.txt +0 -25
 - data/vendor/local/share/doc/groonga/en/html/_sources/reference/window_functions/window_sum.txt +0 -25
 - data/vendor/local/share/doc/groonga/en/html/_sources/server.txt +0 -15
 - data/vendor/local/share/doc/groonga/en/html/_sources/server/gqtp.txt +0 -48
 - data/vendor/local/share/doc/groonga/en/html/_sources/server/http.txt +0 -25
 - data/vendor/local/share/doc/groonga/en/html/_sources/server/http/comparison.txt +0 -298
 - data/vendor/local/share/doc/groonga/en/html/_sources/server/http/groonga-httpd.txt +0 -8
 - data/vendor/local/share/doc/groonga/en/html/_sources/server/http/groonga.txt +0 -8
 - data/vendor/local/share/doc/groonga/en/html/_sources/server/memcached.txt +0 -16
 - data/vendor/local/share/doc/groonga/en/html/_sources/server/package.txt +0 -209
 - data/vendor/local/share/doc/groonga/en/html/_sources/spec.txt +0 -13
 - data/vendor/local/share/doc/groonga/en/html/_sources/spec/gqtp.txt +0 -280
 - data/vendor/local/share/doc/groonga/en/html/_sources/spec/search.txt +0 -115
 - data/vendor/local/share/doc/groonga/en/html/_sources/troubleshooting.txt +0 -13
 - data/vendor/local/share/doc/groonga/en/html/_sources/troubleshooting/different_results_with_the_same_keyword.txt +0 -135
 - data/vendor/local/share/doc/groonga/en/html/_sources/troubleshooting/mmap_cannot_allocate_memory.txt +0 -45
 - data/vendor/local/share/doc/groonga/en/html/_sources/tutorial.txt +0 -22
 - data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/data.txt +0 -173
 - data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/drilldown.txt +0 -130
 - data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/index.txt +0 -123
 - data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/introduction.txt +0 -294
 - data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/lexicon.txt +0 -12
 - data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/match_columns.txt +0 -234
 - data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/micro_blog.txt +0 -539
 - data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/network.txt +0 -64
 - data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/patricia_trie.txt +0 -58
 - data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/query_expansion.txt +0 -69
 - data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/search.txt +0 -123
 - data/vendor/local/share/doc/groonga/ja/html/_sources/characteristic.txt +0 -70
 - data/vendor/local/share/doc/groonga/ja/html/_sources/client.txt +0 -19
 - data/vendor/local/share/doc/groonga/ja/html/_sources/community.txt +0 -49
 - data/vendor/local/share/doc/groonga/ja/html/_sources/contribution.txt +0 -26
 - data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/development.txt +0 -14
 - data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/development/build.txt +0 -19
 - data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/development/build/unix_autotools.txt +0 -101
 - data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/development/build/unix_cmake.txt +0 -94
 - data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/development/build/windows_cmake.txt +0 -93
 - data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/development/com.txt +0 -20
 - data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/development/cooperation.txt +0 -75
 - data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/development/query.txt +0 -214
 - data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/development/release.txt +0 -790
 - data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/development/repository.txt +0 -16
 - data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/development/test.txt +0 -120
 - data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/documentation.txt +0 -18
 - data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/documentation/c-api.txt +0 -14
 - data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/documentation/i18n.txt +0 -200
 - data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/documentation/introduction.txt +0 -81
 - data/vendor/local/share/doc/groonga/ja/html/_sources/contribution/report.txt +0 -27
 - data/vendor/local/share/doc/groonga/ja/html/_sources/development.txt +0 -16
 - data/vendor/local/share/doc/groonga/ja/html/_sources/development/travis-ci.txt +0 -66
 - data/vendor/local/share/doc/groonga/ja/html/_sources/index.txt +0 -33
 - data/vendor/local/share/doc/groonga/ja/html/_sources/install.txt +0 -28
 - data/vendor/local/share/doc/groonga/ja/html/_sources/install/centos.txt +0 -106
 - data/vendor/local/share/doc/groonga/ja/html/_sources/install/debian.txt +0 -107
 - data/vendor/local/share/doc/groonga/ja/html/_sources/install/fedora.txt +0 -97
 - data/vendor/local/share/doc/groonga/ja/html/_sources/install/mac_os_x.txt +0 -66
 - data/vendor/local/share/doc/groonga/ja/html/_sources/install/others.txt +0 -273
 - data/vendor/local/share/doc/groonga/ja/html/_sources/install/solaris.txt +0 -43
 - data/vendor/local/share/doc/groonga/ja/html/_sources/install/ubuntu.txt +0 -99
 - data/vendor/local/share/doc/groonga/ja/html/_sources/install/windows.txt +0 -92
 - data/vendor/local/share/doc/groonga/ja/html/_sources/limitations.txt +0 -58
 - data/vendor/local/share/doc/groonga/ja/html/_sources/news.txt +0 -315
 - data/vendor/local/share/doc/groonga/ja/html/_sources/news/0.x.txt +0 -126
 - data/vendor/local/share/doc/groonga/ja/html/_sources/news/1.0.x.txt +0 -289
 - data/vendor/local/share/doc/groonga/ja/html/_sources/news/1.1.x.txt +0 -31
 - data/vendor/local/share/doc/groonga/ja/html/_sources/news/1.2.x.txt +0 -390
 - data/vendor/local/share/doc/groonga/ja/html/_sources/news/1.3.x.txt +0 -52
 - data/vendor/local/share/doc/groonga/ja/html/_sources/news/2.x.txt +0 -623
 - data/vendor/local/share/doc/groonga/ja/html/_sources/news/3.x.txt +0 -539
 - data/vendor/local/share/doc/groonga/ja/html/_sources/news/4.x.txt +0 -689
 - data/vendor/local/share/doc/groonga/ja/html/_sources/news/5.x.txt +0 -1250
 - data/vendor/local/share/doc/groonga/ja/html/_sources/news/6.x.txt +0 -1086
 - data/vendor/local/share/doc/groonga/ja/html/_sources/news/senna.txt +0 -109
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference.txt +0 -35
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/alias.txt +0 -164
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api.txt +0 -18
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/global_configurations.txt +0 -49
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_cache.txt +0 -114
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_column.txt +0 -198
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_command_version.txt +0 -37
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_content_type.txt +0 -39
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_ctx.txt +0 -195
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_db.txt +0 -134
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_encoding.txt +0 -49
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_expr.txt +0 -136
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_geo.txt +0 -55
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_hook.txt +0 -67
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_ii.txt +0 -35
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_index_cursor.txt +0 -44
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_info.txt +0 -56
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_match_escalation.txt +0 -39
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_obj.txt +0 -269
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_proc.txt +0 -56
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_search.txt +0 -31
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_table.txt +0 -219
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_table_cursor.txt +0 -109
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_thread.txt +0 -122
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_type.txt +0 -31
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_user_data.txt +0 -29
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/overview.txt +0 -54
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/plugin.txt +0 -156
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/cast.txt +0 -8
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/column.txt +0 -34
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/columns/index.txt +0 -19
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/columns/pseudo.txt +0 -40
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/columns/scalar.txt +0 -19
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/columns/vector.txt +0 -332
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/command.txt +0 -23
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/command/command_version.txt +0 -75
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/command/output_format.txt +0 -228
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/command/pretty_print.txt +0 -45
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/command/request_id.txt +0 -41
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/command/request_timeout.txt +0 -78
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/command/return_code.txt +0 -117
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/cache_limit.txt +0 -87
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/check.txt +0 -161
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/clearlock.txt +0 -60
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/column_copy.txt +0 -381
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/column_create.txt +0 -800
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/column_list.txt +0 -209
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/column_remove.txt +0 -57
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/column_rename.txt +0 -101
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/config_delete.txt +0 -95
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/config_get.txt +0 -96
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/config_set.txt +0 -96
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/database_unmap.txt +0 -85
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/define_selector.txt +0 -110
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/defrag.txt +0 -55
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/delete.txt +0 -122
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/dump.txt +0 -202
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/io_flush.txt +0 -266
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/load.txt +0 -100
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/lock_acquire.txt +0 -102
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/lock_clear.txt +0 -90
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/lock_release.txt +0 -98
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/log_level.txt +0 -87
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/log_put.txt +0 -65
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/log_reopen.txt +0 -62
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/logical_count.txt +0 -171
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/logical_parameters.txt +0 -134
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/logical_range_filter.txt +0 -195
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/logical_select.txt +0 -1359
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/logical_shard_list.txt +0 -103
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/logical_table_remove.txt +0 -541
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/normalize.txt +0 -155
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/normalizer_list.txt +0 -64
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/object_exist.txt +0 -95
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/object_inspect.txt +0 -899
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/object_list.txt +0 -405
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/object_remove.txt +0 -140
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/plugin_register.txt +0 -64
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/plugin_unregister.txt +0 -63
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/query_expand.txt +0 -38
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/quit.txt +0 -38
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/range_filter.txt +0 -28
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/register.txt +0 -69
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/reindex.txt +0 -142
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/request_cancel.txt +0 -134
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/ruby_eval.txt +0 -71
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/ruby_load.txt +0 -71
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/schema.txt +0 -627
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/select.txt +0 -2776
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/shutdown.txt +0 -113
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/status.txt +0 -151
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/suggest.txt +0 -271
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/table_copy.txt +0 -64
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/table_create.txt +0 -380
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/table_list.txt +0 -81
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/table_remove.txt +0 -309
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/table_rename.txt +0 -90
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/table_tokenize.txt +0 -120
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/thread_limit.txt +0 -110
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/tokenize.txt +0 -248
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/tokenizer_list.txt +0 -63
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/truncate.txt +0 -95
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/configuration.txt +0 -50
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/executables.txt +0 -14
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/executables/grndb.txt +0 -117
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/executables/grnslap.txt +0 -68
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/executables/groonga-benchmark.txt +0 -287
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/executables/groonga-httpd.txt +0 -552
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/executables/groonga-server-http.txt +0 -57
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/executables/groonga-suggest-create-dataset.txt +0 -63
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/executables/groonga-suggest-httpd.txt +0 -470
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/executables/groonga-suggest-learner.txt +0 -94
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/executables/groonga.txt +0 -473
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/function.txt +0 -20
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/between.txt +0 -105
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/edit_distance.txt +0 -48
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/fuzzy_search.txt +0 -23
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/geo_distance.txt +0 -300
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/geo_in_circle.txt +0 -81
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/geo_in_rectangle.txt +0 -55
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/highlight_full.txt +0 -127
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/highlight_html.txt +0 -105
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/html_untag.txt +0 -80
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/in_records.txt +0 -195
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/in_values.txt +0 -82
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/now.txt +0 -36
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/number_classify.txt +0 -20
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/prefix_rk_search.txt +0 -158
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/query.txt +0 -254
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/rand.txt +0 -43
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/snippet_html.txt +0 -114
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/string_length.txt +0 -33
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/string_substring.txt +0 -27
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/sub_filter.txt +0 -137
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/time_classify_day.txt +0 -18
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/time_classify_hour.txt +0 -18
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/time_classify_minute.txt +0 -18
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/time_classify_month.txt +0 -20
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/time_classify_second.txt +0 -18
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/time_classify_week.txt +0 -18
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/time_classify_year.txt +0 -18
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/vector_new.txt +0 -38
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/vector_size.txt +0 -76
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/vector_slice.txt +0 -27
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/grn_expr.txt +0 -59
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/grn_expr/query_syntax.txt +0 -652
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/grn_expr/script_syntax.txt +0 -1126
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/indexing.txt +0 -112
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/log.txt +0 -236
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/normalizers.txt +0 -133
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/operations.txt +0 -16
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/operations/geolocation_search.txt +0 -52
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/operations/prefix_rk_search.txt +0 -76
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/output.txt +0 -164
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/query_expanders.txt +0 -12
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/query_expanders/tsv.txt +0 -153
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/regular_expression.txt +0 -436
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/scorer.txt +0 -218
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/scorers/scorer_tf_at_most.txt +0 -136
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/scorers/scorer_tf_idf.txt +0 -157
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/sharding.txt +0 -104
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/suggest.txt +0 -17
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/suggest/completion.txt +0 -271
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/suggest/correction.txt +0 -148
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/suggest/introduction.txt +0 -96
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/suggest/suggestion.txt +0 -132
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/tables.txt +0 -216
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/token_filters.txt +0 -120
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/tokenizers.txt +0 -517
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/tuning.txt +0 -177
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/types.txt +0 -170
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/window_function.txt +0 -22
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/window_functions/record_number.txt +0 -28
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/window_functions/window_record_number.txt +0 -25
 - data/vendor/local/share/doc/groonga/ja/html/_sources/reference/window_functions/window_sum.txt +0 -25
 - data/vendor/local/share/doc/groonga/ja/html/_sources/server.txt +0 -15
 - data/vendor/local/share/doc/groonga/ja/html/_sources/server/gqtp.txt +0 -48
 - data/vendor/local/share/doc/groonga/ja/html/_sources/server/http.txt +0 -25
 - data/vendor/local/share/doc/groonga/ja/html/_sources/server/http/comparison.txt +0 -298
 - data/vendor/local/share/doc/groonga/ja/html/_sources/server/http/groonga-httpd.txt +0 -8
 - data/vendor/local/share/doc/groonga/ja/html/_sources/server/http/groonga.txt +0 -8
 - data/vendor/local/share/doc/groonga/ja/html/_sources/server/memcached.txt +0 -16
 - data/vendor/local/share/doc/groonga/ja/html/_sources/server/package.txt +0 -209
 - data/vendor/local/share/doc/groonga/ja/html/_sources/spec.txt +0 -13
 - data/vendor/local/share/doc/groonga/ja/html/_sources/spec/gqtp.txt +0 -280
 - data/vendor/local/share/doc/groonga/ja/html/_sources/spec/search.txt +0 -115
 - data/vendor/local/share/doc/groonga/ja/html/_sources/troubleshooting.txt +0 -13
 - data/vendor/local/share/doc/groonga/ja/html/_sources/troubleshooting/different_results_with_the_same_keyword.txt +0 -135
 - data/vendor/local/share/doc/groonga/ja/html/_sources/troubleshooting/mmap_cannot_allocate_memory.txt +0 -45
 - data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial.txt +0 -22
 - data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/data.txt +0 -173
 - data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/drilldown.txt +0 -130
 - data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/index.txt +0 -123
 - data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/introduction.txt +0 -294
 - data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/lexicon.txt +0 -12
 - data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/match_columns.txt +0 -234
 - data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/micro_blog.txt +0 -539
 - data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/network.txt +0 -64
 - data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/patricia_trie.txt +0 -58
 - data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/query_expansion.txt +0 -69
 - data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/search.txt +0 -123
 
| 
         @@ -1,2776 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            .. -*- rst -*-
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            .. highlightlang:: none
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       6 
     | 
    
         
            -
            .. database: commands_select
         
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
            ``select``
         
     | 
| 
       9 
     | 
    
         
            -
            ==========
         
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
            Summary
         
     | 
| 
       12 
     | 
    
         
            -
            -------
         
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
            ``select`` searches records that are matched to specified conditions
         
     | 
| 
       15 
     | 
    
         
            -
            from a table and then outputs them.
         
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
            ``select`` is the most important command in groonga. You need to
         
     | 
| 
       18 
     | 
    
         
            -
            understand ``select`` to use the full power of Groonga.
         
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
       20 
     | 
    
         
            -
            Syntax
         
     | 
| 
       21 
     | 
    
         
            -
            ------
         
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
            This command takes many parameters.
         
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
            The required parameter is only ``table``. Other parameters are
         
     | 
| 
       26 
     | 
    
         
            -
            optional::
         
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
              select table
         
     | 
| 
       29 
     | 
    
         
            -
                     [match_columns=null]
         
     | 
| 
       30 
     | 
    
         
            -
                     [query=null]
         
     | 
| 
       31 
     | 
    
         
            -
                     [filter=null]
         
     | 
| 
       32 
     | 
    
         
            -
                     [scorer=null]
         
     | 
| 
       33 
     | 
    
         
            -
                     [sortby=null]
         
     | 
| 
       34 
     | 
    
         
            -
                     [output_columns="_id, _key, *"]
         
     | 
| 
       35 
     | 
    
         
            -
                     [offset=0]
         
     | 
| 
       36 
     | 
    
         
            -
                     [limit=10]
         
     | 
| 
       37 
     | 
    
         
            -
                     [drilldown=null]
         
     | 
| 
       38 
     | 
    
         
            -
                     [drilldown_sortby=null]
         
     | 
| 
       39 
     | 
    
         
            -
                     [drilldown_output_columns="_key, _nsubrecs"]
         
     | 
| 
       40 
     | 
    
         
            -
                     [drilldown_offset=0]
         
     | 
| 
       41 
     | 
    
         
            -
                     [drilldown_limit=10]
         
     | 
| 
       42 
     | 
    
         
            -
                     [cache=yes]
         
     | 
| 
       43 
     | 
    
         
            -
                     [match_escalation_threshold=0]
         
     | 
| 
       44 
     | 
    
         
            -
                     [query_expansion=null]
         
     | 
| 
       45 
     | 
    
         
            -
                     [query_flags=ALLOW_PRAGMA|ALLOW_COLUMN]
         
     | 
| 
       46 
     | 
    
         
            -
                     [query_expander=null]
         
     | 
| 
       47 
     | 
    
         
            -
                     [adjuster=null]
         
     | 
| 
       48 
     | 
    
         
            -
                     [drilldown_calc_types=NONE]
         
     | 
| 
       49 
     | 
    
         
            -
                     [drilldown_calc_target=null]
         
     | 
| 
       50 
     | 
    
         
            -
                     [drilldown_filter=null]
         
     | 
| 
       51 
     | 
    
         
            -
                     [sort_keys=null]
         
     | 
| 
       52 
     | 
    
         
            -
                     [drilldown_sort_keys=null]
         
     | 
| 
       53 
     | 
    
         
            -
             
     | 
| 
       54 
     | 
    
         
            -
            This command has the following named parameters for dynamic columns:
         
     | 
| 
       55 
     | 
    
         
            -
             
     | 
| 
       56 
     | 
    
         
            -
               * ``columns[${NAME}].stage=null``
         
     | 
| 
       57 
     | 
    
         
            -
               * ``columns[${NAME}].flags=COLUMN_SCALAR``
         
     | 
| 
       58 
     | 
    
         
            -
               * ``columns[${NAME}].type=null``
         
     | 
| 
       59 
     | 
    
         
            -
               * ``columns[${NAME}].value=null``
         
     | 
| 
       60 
     | 
    
         
            -
               * ``columns[${NAME}].window.sort_keys=null``
         
     | 
| 
       61 
     | 
    
         
            -
               * ``columns[${NAME}].window.group_keys=null``
         
     | 
| 
       62 
     | 
    
         
            -
             
     | 
| 
       63 
     | 
    
         
            -
            You can use one or more alphabets, digits, ``_`` for ``${NAME}``. For
         
     | 
| 
       64 
     | 
    
         
            -
            example, ``column1`` is a valid ``${NAME}``. This is the same rule as
         
     | 
| 
       65 
     | 
    
         
            -
            normal column. See also :ref:`column-create-name`.
         
     | 
| 
       66 
     | 
    
         
            -
             
     | 
| 
       67 
     | 
    
         
            -
            Parameters that have the same ``${NAME}`` are grouped.
         
     | 
| 
       68 
     | 
    
         
            -
             
     | 
| 
       69 
     | 
    
         
            -
            For example, the following parameters specify one dynamic column:
         
     | 
| 
       70 
     | 
    
         
            -
             
     | 
| 
       71 
     | 
    
         
            -
              * ``--columns[name].stage initial``
         
     | 
| 
       72 
     | 
    
         
            -
              * ``--columns[name].type UInt32``
         
     | 
| 
       73 
     | 
    
         
            -
              * ``--columns[name].value 29``
         
     | 
| 
       74 
     | 
    
         
            -
             
     | 
| 
       75 
     | 
    
         
            -
            The following parameters specify two dynamic columns:
         
     | 
| 
       76 
     | 
    
         
            -
             
     | 
| 
       77 
     | 
    
         
            -
              * ``--columns[name1].stage initial``
         
     | 
| 
       78 
     | 
    
         
            -
              * ``--columns[name1].type UInt32``
         
     | 
| 
       79 
     | 
    
         
            -
              * ``--columns[name1].value 29``
         
     | 
| 
       80 
     | 
    
         
            -
              * ``--columns[name2].stage filtered``
         
     | 
| 
       81 
     | 
    
         
            -
              * ``--columns[name2].type Float``
         
     | 
| 
       82 
     | 
    
         
            -
              * ``--columns[name2].value '_score * 0.1'``
         
     | 
| 
       83 
     | 
    
         
            -
             
     | 
| 
       84 
     | 
    
         
            -
            This command has the following named parameters for advanced drilldown:
         
     | 
| 
       85 
     | 
    
         
            -
             
     | 
| 
       86 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].keys=null``
         
     | 
| 
       87 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].sort_keys=null``
         
     | 
| 
       88 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].output_columns="_key, _nsubrecs"``
         
     | 
| 
       89 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].offset=0``
         
     | 
| 
       90 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].limit=10``
         
     | 
| 
       91 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].calc_types=NONE``
         
     | 
| 
       92 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].calc_target=null``
         
     | 
| 
       93 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].filter=null``
         
     | 
| 
       94 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].columns[${NAME}].stage=null``
         
     | 
| 
       95 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].columns[${NAME}].flags=COLUMN_SCALAR``
         
     | 
| 
       96 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].columns[${NAME}].type=null``
         
     | 
| 
       97 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].columns[${NAME}].value=null``
         
     | 
| 
       98 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].columns[${NAME}].window.sort_keys=null``
         
     | 
| 
       99 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].columns[${NAME}].window.group_keys=null``
         
     | 
| 
       100 
     | 
    
         
            -
             
     | 
| 
       101 
     | 
    
         
            -
            .. deprecated:: 6.0.3
         
     | 
| 
       102 
     | 
    
         
            -
             
     | 
| 
       103 
     | 
    
         
            -
               ``drilldown[...]`` syntax is deprecated, Use ``drilldowns[...]``
         
     | 
| 
       104 
     | 
    
         
            -
               instead.
         
     | 
| 
       105 
     | 
    
         
            -
             
     | 
| 
       106 
     | 
    
         
            -
            You can use one or more alphabets, digits, ``_`` and ``.`` for
         
     | 
| 
       107 
     | 
    
         
            -
            ``${LABEL}``. For example, ``parent.sub1`` is a valid ``${LABEL}``.
         
     | 
| 
       108 
     | 
    
         
            -
             
     | 
| 
       109 
     | 
    
         
            -
            Parameters that have the same ``${LABEL}`` are grouped.
         
     | 
| 
       110 
     | 
    
         
            -
             
     | 
| 
       111 
     | 
    
         
            -
            For example, the following parameters specify one drilldown:
         
     | 
| 
       112 
     | 
    
         
            -
             
     | 
| 
       113 
     | 
    
         
            -
              * ``--drilldowns[label].keys column``
         
     | 
| 
       114 
     | 
    
         
            -
              * ``--drilldowns[label].sort_keys -_nsubrecs``
         
     | 
| 
       115 
     | 
    
         
            -
             
     | 
| 
       116 
     | 
    
         
            -
            The following parameters specify two drilldowns:
         
     | 
| 
       117 
     | 
    
         
            -
             
     | 
| 
       118 
     | 
    
         
            -
              * ``--drilldowns[label1].keys column1``
         
     | 
| 
       119 
     | 
    
         
            -
              * ``--drilldowns[label1].sort_keys -_nsubrecs``
         
     | 
| 
       120 
     | 
    
         
            -
              * ``--drilldowns[label2].keys column2``
         
     | 
| 
       121 
     | 
    
         
            -
              * ``--drilldowns[label2].sort_keys _key``
         
     | 
| 
       122 
     | 
    
         
            -
             
     | 
| 
       123 
     | 
    
         
            -
            Usage
         
     | 
| 
       124 
     | 
    
         
            -
            -----
         
     | 
| 
       125 
     | 
    
         
            -
             
     | 
| 
       126 
     | 
    
         
            -
            Let's learn about ``select`` usage with examples. This section shows
         
     | 
| 
       127 
     | 
    
         
            -
            many popular usages.
         
     | 
| 
       128 
     | 
    
         
            -
             
     | 
| 
       129 
     | 
    
         
            -
            Here are a schema definition and sample data to show usage.
         
     | 
| 
       130 
     | 
    
         
            -
             
     | 
| 
       131 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       132 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/usage_setup.log
         
     | 
| 
       133 
     | 
    
         
            -
            .. table_create Entries TABLE_HASH_KEY ShortText
         
     | 
| 
       134 
     | 
    
         
            -
            .. column_create Entries content COLUMN_SCALAR Text
         
     | 
| 
       135 
     | 
    
         
            -
            .. column_create Entries n_likes COLUMN_SCALAR UInt32
         
     | 
| 
       136 
     | 
    
         
            -
            .. column_create Entries tag COLUMN_SCALAR ShortText
         
     | 
| 
       137 
     | 
    
         
            -
            .. table_create Terms TABLE_PAT_KEY ShortText --default_tokenizer TokenBigram --normalizer NormalizerAuto
         
     | 
| 
       138 
     | 
    
         
            -
            .. column_create Terms entries_key_index COLUMN_INDEX|WITH_POSITION Entries _key
         
     | 
| 
       139 
     | 
    
         
            -
            .. column_create Terms entries_content_index COLUMN_INDEX|WITH_POSITION Entries content
         
     | 
| 
       140 
     | 
    
         
            -
            .. load --table Entries
         
     | 
| 
       141 
     | 
    
         
            -
            .. [
         
     | 
| 
       142 
     | 
    
         
            -
            .. {"_key":    "The first post!",
         
     | 
| 
       143 
     | 
    
         
            -
            ..  "content": "Welcome! This is my first post!",
         
     | 
| 
       144 
     | 
    
         
            -
            ..  "n_likes": 5,
         
     | 
| 
       145 
     | 
    
         
            -
            ..  "tag": "Hello"},
         
     | 
| 
       146 
     | 
    
         
            -
            .. {"_key":    "Groonga",
         
     | 
| 
       147 
     | 
    
         
            -
            ..  "content": "I started to use Groonga. It's very fast!",
         
     | 
| 
       148 
     | 
    
         
            -
            ..  "n_likes": 10,
         
     | 
| 
       149 
     | 
    
         
            -
            ..  "tag": "Groonga"},
         
     | 
| 
       150 
     | 
    
         
            -
            .. {"_key":    "Mroonga",
         
     | 
| 
       151 
     | 
    
         
            -
            ..  "content": "I also started to use Mroonga. It's also very fast! Really fast!",
         
     | 
| 
       152 
     | 
    
         
            -
            ..  "n_likes": 15,
         
     | 
| 
       153 
     | 
    
         
            -
            ..  "tag": "Groonga"},
         
     | 
| 
       154 
     | 
    
         
            -
            .. {"_key":    "Good-bye Senna",
         
     | 
| 
       155 
     | 
    
         
            -
            ..  "content": "I migrated all Senna system!",
         
     | 
| 
       156 
     | 
    
         
            -
            ..  "n_likes": 3,
         
     | 
| 
       157 
     | 
    
         
            -
            ..  "tag": "Senna"},
         
     | 
| 
       158 
     | 
    
         
            -
            .. {"_key":    "Good-bye Tritonn",
         
     | 
| 
       159 
     | 
    
         
            -
            ..  "content": "I also migrated all Tritonn system!",
         
     | 
| 
       160 
     | 
    
         
            -
            ..  "n_likes": 3,
         
     | 
| 
       161 
     | 
    
         
            -
            ..  "tag": "Senna"}
         
     | 
| 
       162 
     | 
    
         
            -
            .. ]
         
     | 
| 
       163 
     | 
    
         
            -
             
     | 
| 
       164 
     | 
    
         
            -
            There is a table, ``Entries``, for blog entries. An entry has title,
         
     | 
| 
       165 
     | 
    
         
            -
            content, the number of likes for the entry and tag. Title is key of
         
     | 
| 
       166 
     | 
    
         
            -
            ``Entries``. Content is value of ``Entries.content`` column. The
         
     | 
| 
       167 
     | 
    
         
            -
            number of likes is value of ``Entries.n_likes`` column. Tag is value
         
     | 
| 
       168 
     | 
    
         
            -
            of ``Entries.tag`` column.
         
     | 
| 
       169 
     | 
    
         
            -
             
     | 
| 
       170 
     | 
    
         
            -
            ``Entries._key`` column and ``Entries.content`` column are indexed
         
     | 
| 
       171 
     | 
    
         
            -
            using ``TokenBigram`` tokenizer. So both ``Entries._key`` and
         
     | 
| 
       172 
     | 
    
         
            -
            ``Entries.content`` are fulltext search ready.
         
     | 
| 
       173 
     | 
    
         
            -
             
     | 
| 
       174 
     | 
    
         
            -
            OK. The schema and data for examples are ready.
         
     | 
| 
       175 
     | 
    
         
            -
             
     | 
| 
       176 
     | 
    
         
            -
            .. _select-simple-usage:
         
     | 
| 
       177 
     | 
    
         
            -
             
     | 
| 
       178 
     | 
    
         
            -
            Simple usage
         
     | 
| 
       179 
     | 
    
         
            -
            ^^^^^^^^^^^^
         
     | 
| 
       180 
     | 
    
         
            -
             
     | 
| 
       181 
     | 
    
         
            -
            Here is the most simple usage with the above schema and data. It outputs
         
     | 
| 
       182 
     | 
    
         
            -
            all records in ``Entries`` table.
         
     | 
| 
       183 
     | 
    
         
            -
             
     | 
| 
       184 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       185 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/simple_usage.log
         
     | 
| 
       186 
     | 
    
         
            -
            .. select Entries
         
     | 
| 
       187 
     | 
    
         
            -
             
     | 
| 
       188 
     | 
    
         
            -
            Why does the command output all records? There are two reasons. The
         
     | 
| 
       189 
     | 
    
         
            -
            first reason is that the command doesn't specify any search
         
     | 
| 
       190 
     | 
    
         
            -
            conditions. No search condition means all records are matched. The
         
     | 
| 
       191 
     | 
    
         
            -
            second reason is that the number of all records is 5. ``select``
         
     | 
| 
       192 
     | 
    
         
            -
            command outputs 10 records at a maximum by default. There are only 5
         
     | 
| 
       193 
     | 
    
         
            -
            records. It is less than 10. So the command outputs all records.
         
     | 
| 
       194 
     | 
    
         
            -
             
     | 
| 
       195 
     | 
    
         
            -
            Search conditions
         
     | 
| 
       196 
     | 
    
         
            -
            ^^^^^^^^^^^^^^^^^
         
     | 
| 
       197 
     | 
    
         
            -
             
     | 
| 
       198 
     | 
    
         
            -
            Search conditions are specified by ``query`` or ``filter``. You can
         
     | 
| 
       199 
     | 
    
         
            -
            also specify both ``query`` and ``filter``. It means that selected
         
     | 
| 
       200 
     | 
    
         
            -
            records must be matched against both ``query`` and ``filter``.
         
     | 
| 
       201 
     | 
    
         
            -
             
     | 
| 
       202 
     | 
    
         
            -
            Search condition: ``query``
         
     | 
| 
       203 
     | 
    
         
            -
            """""""""""""""""""""""""""
         
     | 
| 
       204 
     | 
    
         
            -
             
     | 
| 
       205 
     | 
    
         
            -
            ``query`` is designed for search box in Web page. Imagine a search box
         
     | 
| 
       206 
     | 
    
         
            -
            in google.com. You specify search conditions for ``query`` as space
         
     | 
| 
       207 
     | 
    
         
            -
            separated keywords. For example, ``search engine`` means a matched
         
     | 
| 
       208 
     | 
    
         
            -
            record should contain two words, ``search`` and ``engine``.
         
     | 
| 
       209 
     | 
    
         
            -
             
     | 
| 
       210 
     | 
    
         
            -
            Normally, ``query`` parameter is used for specifying fulltext search
         
     | 
| 
       211 
     | 
    
         
            -
            conditions. It can be used for non fulltext search conditions but
         
     | 
| 
       212 
     | 
    
         
            -
            ``filter`` is used for the propose.
         
     | 
| 
       213 
     | 
    
         
            -
             
     | 
| 
       214 
     | 
    
         
            -
            ``query`` parameter is used with ``match_columns`` parameter when
         
     | 
| 
       215 
     | 
    
         
            -
            ``query`` parameter is used for specifying fulltext search
         
     | 
| 
       216 
     | 
    
         
            -
            conditions. ``match_columns`` specifies which columnes and indexes are
         
     | 
| 
       217 
     | 
    
         
            -
            matched against ``query``.
         
     | 
| 
       218 
     | 
    
         
            -
             
     | 
| 
       219 
     | 
    
         
            -
            Here is a simple ``query`` usage example.
         
     | 
| 
       220 
     | 
    
         
            -
             
     | 
| 
       221 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       222 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/simple_query.log
         
     | 
| 
       223 
     | 
    
         
            -
            .. select Entries --match_columns content --query fast
         
     | 
| 
       224 
     | 
    
         
            -
             
     | 
| 
       225 
     | 
    
         
            -
            The ``select`` command searches records that contain a word ``fast``
         
     | 
| 
       226 
     | 
    
         
            -
            in ``content`` column value from ``Entries`` table.
         
     | 
| 
       227 
     | 
    
         
            -
             
     | 
| 
       228 
     | 
    
         
            -
            ``query`` has query syntax but its deatils aren't described here. See
         
     | 
| 
       229 
     | 
    
         
            -
            :doc:`/reference/grn_expr/query_syntax` for datails.
         
     | 
| 
       230 
     | 
    
         
            -
             
     | 
| 
       231 
     | 
    
         
            -
            Search condition: ``filter``
         
     | 
| 
       232 
     | 
    
         
            -
            """"""""""""""""""""""""""""
         
     | 
| 
       233 
     | 
    
         
            -
             
     | 
| 
       234 
     | 
    
         
            -
            ``filter`` is designed for complex search conditions. You specify
         
     | 
| 
       235 
     | 
    
         
            -
            search conditions for ``filter`` as ECMAScript like syntax.
         
     | 
| 
       236 
     | 
    
         
            -
             
     | 
| 
       237 
     | 
    
         
            -
            Here is a simple ``filter`` usage example.
         
     | 
| 
       238 
     | 
    
         
            -
             
     | 
| 
       239 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       240 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/simple_filter.log
         
     | 
| 
       241 
     | 
    
         
            -
            .. select Entries --filter 'content @ "fast" && _key == "Groonga"'
         
     | 
| 
       242 
     | 
    
         
            -
             
     | 
| 
       243 
     | 
    
         
            -
            The ``select`` command searches records that contain a word ``fast``
         
     | 
| 
       244 
     | 
    
         
            -
            in ``content`` column value and has ``Groonga`` as ``_key`` from
         
     | 
| 
       245 
     | 
    
         
            -
            ``Entries`` table. There are three operators in the command, ``@``,
         
     | 
| 
       246 
     | 
    
         
            -
            ``&&`` and ``==``. ``@`` is fulltext search operator. ``&&`` and
         
     | 
| 
       247 
     | 
    
         
            -
            ``==`` are the same as ECMAScript. ``&&`` is logical AND operator and
         
     | 
| 
       248 
     | 
    
         
            -
            ``==`` is equality operator.
         
     | 
| 
       249 
     | 
    
         
            -
             
     | 
| 
       250 
     | 
    
         
            -
            ``filter`` has more operators and syntax like grouping by ``(...)``
         
     | 
| 
       251 
     | 
    
         
            -
            its details aren't described here. See
         
     | 
| 
       252 
     | 
    
         
            -
            :doc:`/reference/grn_expr/script_syntax` for datails.
         
     | 
| 
       253 
     | 
    
         
            -
             
     | 
| 
       254 
     | 
    
         
            -
            Paging
         
     | 
| 
       255 
     | 
    
         
            -
            ^^^^^^
         
     | 
| 
       256 
     | 
    
         
            -
             
     | 
| 
       257 
     | 
    
         
            -
            You can specify range of outputted records by ``offset`` and ``limit``.
         
     | 
| 
       258 
     | 
    
         
            -
            Here is an example to output only the 2nd record.
         
     | 
| 
       259 
     | 
    
         
            -
             
     | 
| 
       260 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       261 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/paging.log
         
     | 
| 
       262 
     | 
    
         
            -
            .. select Entries --offset 1 --limit 1
         
     | 
| 
       263 
     | 
    
         
            -
             
     | 
| 
       264 
     | 
    
         
            -
            ``offset`` is zero-based. ``--offset 1`` means output range is
         
     | 
| 
       265 
     | 
    
         
            -
            started from the 2nd record.
         
     | 
| 
       266 
     | 
    
         
            -
             
     | 
| 
       267 
     | 
    
         
            -
            ``limit`` specifies the max number of output records. ``--limit 1``
         
     | 
| 
       268 
     | 
    
         
            -
            means the number of output records is 1 at a maximium. If no records
         
     | 
| 
       269 
     | 
    
         
            -
            are matched, ``select`` command outputs no records.
         
     | 
| 
       270 
     | 
    
         
            -
             
     | 
| 
       271 
     | 
    
         
            -
            The total number of records
         
     | 
| 
       272 
     | 
    
         
            -
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
         
     | 
| 
       273 
     | 
    
         
            -
             
     | 
| 
       274 
     | 
    
         
            -
            You can use ``--limit 0`` to retrieve the total number of recrods
         
     | 
| 
       275 
     | 
    
         
            -
            without any contents of records.
         
     | 
| 
       276 
     | 
    
         
            -
             
     | 
| 
       277 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       278 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/no_limit.log
         
     | 
| 
       279 
     | 
    
         
            -
            .. select Entries --limit 0
         
     | 
| 
       280 
     | 
    
         
            -
             
     | 
| 
       281 
     | 
    
         
            -
            ``--limit 0`` is also useful for retrieving only the number of matched
         
     | 
| 
       282 
     | 
    
         
            -
            records.
         
     | 
| 
       283 
     | 
    
         
            -
             
     | 
| 
       284 
     | 
    
         
            -
            Drilldown
         
     | 
| 
       285 
     | 
    
         
            -
            ^^^^^^^^^
         
     | 
| 
       286 
     | 
    
         
            -
             
     | 
| 
       287 
     | 
    
         
            -
            You can get additional grouped results against the search result in
         
     | 
| 
       288 
     | 
    
         
            -
            one ``select``. You need to use two or more ``SELECT`` s in SQL but
         
     | 
| 
       289 
     | 
    
         
            -
            ``select`` in Groonga can do it in one ``select``.
         
     | 
| 
       290 
     | 
    
         
            -
             
     | 
| 
       291 
     | 
    
         
            -
            This feature is called as `drilldown
         
     | 
| 
       292 
     | 
    
         
            -
            <http://en.wikipedia.org/wiki/Drill_down>`_ in Groonga. It's also
         
     | 
| 
       293 
     | 
    
         
            -
            called as `faceted search
         
     | 
| 
       294 
     | 
    
         
            -
            <http://en.wikipedia.org/wiki/Faceted_search>`_ in other search
         
     | 
| 
       295 
     | 
    
         
            -
            engine.
         
     | 
| 
       296 
     | 
    
         
            -
             
     | 
| 
       297 
     | 
    
         
            -
            For example, think about the following situation.
         
     | 
| 
       298 
     | 
    
         
            -
             
     | 
| 
       299 
     | 
    
         
            -
            You search entries that has ``fast`` word:
         
     | 
| 
       300 
     | 
    
         
            -
             
     | 
| 
       301 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       302 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/usage_drilldown_only_query.log
         
     | 
| 
       303 
     | 
    
         
            -
            .. select Entries --filter 'content @ "fast"'
         
     | 
| 
       304 
     | 
    
         
            -
             
     | 
| 
       305 
     | 
    
         
            -
            You want to use ``tag`` for additional search condition like
         
     | 
| 
       306 
     | 
    
         
            -
            ``--filter 'content @ "fast" && tag == "???"``. But you don't know
         
     | 
| 
       307 
     | 
    
         
            -
            suitable tag until you see the result of ``content @ "fast"``.
         
     | 
| 
       308 
     | 
    
         
            -
             
     | 
| 
       309 
     | 
    
         
            -
            If you know the number of matched records of each available tag, you
         
     | 
| 
       310 
     | 
    
         
            -
            can choose suitable tag. You can use drilldown for the case:
         
     | 
| 
       311 
     | 
    
         
            -
             
     | 
| 
       312 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       313 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/usage_drilldown.log
         
     | 
| 
       314 
     | 
    
         
            -
            .. select Entries --filter 'content @ "fast"' --drilldown tag
         
     | 
| 
       315 
     | 
    
         
            -
             
     | 
| 
       316 
     | 
    
         
            -
            ``--drilldown tag`` returns a list of pair of available tag and the
         
     | 
| 
       317 
     | 
    
         
            -
            number of matched records. You can avoid "no hit search" case by
         
     | 
| 
       318 
     | 
    
         
            -
            choosing a tag from the list. You can also avoid "too many search
         
     | 
| 
       319 
     | 
    
         
            -
            results" case by choosing a tag that the number of matched records is
         
     | 
| 
       320 
     | 
    
         
            -
            few from the list.
         
     | 
| 
       321 
     | 
    
         
            -
             
     | 
| 
       322 
     | 
    
         
            -
            You can create the following UI with the drilldown results:
         
     | 
| 
       323 
     | 
    
         
            -
             
     | 
| 
       324 
     | 
    
         
            -
              * Links to narrow search results. (Users don't need to input a
         
     | 
| 
       325 
     | 
    
         
            -
                search query by their keyboard. They just click a link.)
         
     | 
| 
       326 
     | 
    
         
            -
             
     | 
| 
       327 
     | 
    
         
            -
            Most EC sites use the UI. See side menu at Amazon.
         
     | 
| 
       328 
     | 
    
         
            -
             
     | 
| 
       329 
     | 
    
         
            -
            Groonga supports not only counting grouped records but also finding
         
     | 
| 
       330 
     | 
    
         
            -
            the maximum and/or minimum value from grouped records, summing values
         
     | 
| 
       331 
     | 
    
         
            -
            in grouped records and so on. See
         
     | 
| 
       332 
     | 
    
         
            -
            :ref:`select-drilldown-related-parameters` for details.
         
     | 
| 
       333 
     | 
    
         
            -
             
     | 
| 
       334 
     | 
    
         
            -
            Dynamic column
         
     | 
| 
       335 
     | 
    
         
            -
            ^^^^^^^^^^^^^^
         
     | 
| 
       336 
     | 
    
         
            -
             
     | 
| 
       337 
     | 
    
         
            -
            You can create zero or more columns dynamically while a ``select``
         
     | 
| 
       338 
     | 
    
         
            -
            execution. You can use them for drilldown by computed value, window
         
     | 
| 
       339 
     | 
    
         
            -
            function and so on.
         
     | 
| 
       340 
     | 
    
         
            -
             
     | 
| 
       341 
     | 
    
         
            -
            Here is an example that uses dynamic column for drilldown by computed
         
     | 
| 
       342 
     | 
    
         
            -
            value. This example creates a new column named
         
     | 
| 
       343 
     | 
    
         
            -
            ``n_likes_class``. ``n_likes_class`` column has classified value of
         
     | 
| 
       344 
     | 
    
         
            -
            ``Entry.n_likes`` value. This example classifies ``Entry.n_likes``
         
     | 
| 
       345 
     | 
    
         
            -
            column value ``10`` step and the lowest number in the class is the
         
     | 
| 
       346 
     | 
    
         
            -
            classified value. If a ``Entry.n_likes`` value is between ``0`` and
         
     | 
| 
       347 
     | 
    
         
            -
            ``9`` such as ``3`` and ``5``, ``n_likes_class`` value (classified
         
     | 
| 
       348 
     | 
    
         
            -
            value) is ``0``. If ``Entry.n_likes`` value is between ``10`` and
         
     | 
| 
       349 
     | 
    
         
            -
            ``19`` such as ``10`` and ``15``, ``n_likes_class`` value (classified
         
     | 
| 
       350 
     | 
    
         
            -
            value) is ``10``.
         
     | 
| 
       351 
     | 
    
         
            -
             
     | 
| 
       352 
     | 
    
         
            -
            You can use :doc:`/reference/functions/number_classify` function for
         
     | 
| 
       353 
     | 
    
         
            -
            the classification. You need to register ``functions/number`` plugin
         
     | 
| 
       354 
     | 
    
         
            -
            by :doc:`plugin_register` command to use
         
     | 
| 
       355 
     | 
    
         
            -
            :doc:`/reference/functions/number_classify` function.
         
     | 
| 
       356 
     | 
    
         
            -
             
     | 
| 
       357 
     | 
    
         
            -
            This example does drilldown by ``n_likes_class`` value. The drilldown
         
     | 
| 
       358 
     | 
    
         
            -
            result will help you to know data trend.
         
     | 
| 
       359 
     | 
    
         
            -
             
     | 
| 
       360 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       361 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/usage_dynamic_column.log
         
     | 
| 
       362 
     | 
    
         
            -
            .. plugin_register functions/number
         
     | 
| 
       363 
     | 
    
         
            -
            .. select \
         
     | 
| 
       364 
     | 
    
         
            -
            ..   --table Entries \
         
     | 
| 
       365 
     | 
    
         
            -
            ..   --columns[n_likes_class].stage initial \
         
     | 
| 
       366 
     | 
    
         
            -
            ..   --columns[n_likes_class].type UInt32 \
         
     | 
| 
       367 
     | 
    
         
            -
            ..   --columns[n_likes_class].value 'number_classify(n_likes, 10)' \
         
     | 
| 
       368 
     | 
    
         
            -
            ..   --drilldown n_likes_class \
         
     | 
| 
       369 
     | 
    
         
            -
            ..   --drilldown_sort_keys _nsubrecs \
         
     | 
| 
       370 
     | 
    
         
            -
            ..   --output_columns n_likes,n_likes_class
         
     | 
| 
       371 
     | 
    
         
            -
             
     | 
| 
       372 
     | 
    
         
            -
            See :ref:`select-dynamic-column-related-parameters` for details.
         
     | 
| 
       373 
     | 
    
         
            -
             
     | 
| 
       374 
     | 
    
         
            -
            Window function
         
     | 
| 
       375 
     | 
    
         
            -
            ^^^^^^^^^^^^^^^
         
     | 
| 
       376 
     | 
    
         
            -
             
     | 
| 
       377 
     | 
    
         
            -
            You can compute each record value from values of grouped records. For
         
     | 
| 
       378 
     | 
    
         
            -
            example, you can compute sums of each group and puts sums to each
         
     | 
| 
       379 
     | 
    
         
            -
            record. The difference against drilldown is drilldown can compute sums
         
     | 
| 
       380 
     | 
    
         
            -
            of each group but it puts sums to each group not record.
         
     | 
| 
       381 
     | 
    
         
            -
             
     | 
| 
       382 
     | 
    
         
            -
            Here is the result with window function. Each record has sum:
         
     | 
| 
       383 
     | 
    
         
            -
             
     | 
| 
       384 
     | 
    
         
            -
            .. list-table::
         
     | 
| 
       385 
     | 
    
         
            -
               :header-rows: 1
         
     | 
| 
       386 
     | 
    
         
            -
             
     | 
| 
       387 
     | 
    
         
            -
               * - Group No.
         
     | 
| 
       388 
     | 
    
         
            -
                 - Target value
         
     | 
| 
       389 
     | 
    
         
            -
                 - Sum result
         
     | 
| 
       390 
     | 
    
         
            -
               * - 1
         
     | 
| 
       391 
     | 
    
         
            -
                 - 5
         
     | 
| 
       392 
     | 
    
         
            -
                 - 5
         
     | 
| 
       393 
     | 
    
         
            -
               * - 2
         
     | 
| 
       394 
     | 
    
         
            -
                 - 10
         
     | 
| 
       395 
     | 
    
         
            -
                 - 25
         
     | 
| 
       396 
     | 
    
         
            -
               * - 2
         
     | 
| 
       397 
     | 
    
         
            -
                 - 15
         
     | 
| 
       398 
     | 
    
         
            -
                 - 25
         
     | 
| 
       399 
     | 
    
         
            -
               * - 3
         
     | 
| 
       400 
     | 
    
         
            -
                 - 3
         
     | 
| 
       401 
     | 
    
         
            -
                 - 8
         
     | 
| 
       402 
     | 
    
         
            -
               * - 3
         
     | 
| 
       403 
     | 
    
         
            -
                 - 5
         
     | 
| 
       404 
     | 
    
         
            -
                 - 8
         
     | 
| 
       405 
     | 
    
         
            -
             
     | 
| 
       406 
     | 
    
         
            -
            Here is the result with drilldown. Each group has sum:
         
     | 
| 
       407 
     | 
    
         
            -
             
     | 
| 
       408 
     | 
    
         
            -
            .. list-table::
         
     | 
| 
       409 
     | 
    
         
            -
               :header-rows: 1
         
     | 
| 
       410 
     | 
    
         
            -
             
     | 
| 
       411 
     | 
    
         
            -
               * - Group No.
         
     | 
| 
       412 
     | 
    
         
            -
                 - Target values
         
     | 
| 
       413 
     | 
    
         
            -
                 - Sum result
         
     | 
| 
       414 
     | 
    
         
            -
               * - 1
         
     | 
| 
       415 
     | 
    
         
            -
                 - 5
         
     | 
| 
       416 
     | 
    
         
            -
                 - 5
         
     | 
| 
       417 
     | 
    
         
            -
               * - 2
         
     | 
| 
       418 
     | 
    
         
            -
                 - 10, 15
         
     | 
| 
       419 
     | 
    
         
            -
                 - 25
         
     | 
| 
       420 
     | 
    
         
            -
               * - 3
         
     | 
| 
       421 
     | 
    
         
            -
                 - 3, 5
         
     | 
| 
       422 
     | 
    
         
            -
                 - 8
         
     | 
| 
       423 
     | 
    
         
            -
             
     | 
| 
       424 
     | 
    
         
            -
            Window function is useful for data analysis.
         
     | 
| 
       425 
     | 
    
         
            -
             
     | 
| 
       426 
     | 
    
         
            -
            Here is an example that sums ``Entries.n_likes`` per
         
     | 
| 
       427 
     | 
    
         
            -
            ``Entries.tag``:
         
     | 
| 
       428 
     | 
    
         
            -
             
     | 
| 
       429 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       430 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/usage_window_function.log
         
     | 
| 
       431 
     | 
    
         
            -
            .. plugin_register functions/number
         
     | 
| 
       432 
     | 
    
         
            -
            .. select \
         
     | 
| 
       433 
     | 
    
         
            -
            ..   --table Entries \
         
     | 
| 
       434 
     | 
    
         
            -
            ..   --columns[n_likes_sum_per_tag].stage initial \
         
     | 
| 
       435 
     | 
    
         
            -
            ..   --columns[n_likes_sum_per_tag].type UInt32 \
         
     | 
| 
       436 
     | 
    
         
            -
            ..   --columns[n_likes_sum_per_tag].value 'window_sum(n_likes)' \
         
     | 
| 
       437 
     | 
    
         
            -
            ..   --columns[n_likes_sum_per_tag].window.group_keys tag \
         
     | 
| 
       438 
     | 
    
         
            -
            ..   --output_columns tag,n_likes,n_likes_sum_per_tag
         
     | 
| 
       439 
     | 
    
         
            -
             
     | 
| 
       440 
     | 
    
         
            -
            See :ref:`select-window-function-related-parameters` for details.
         
     | 
| 
       441 
     | 
    
         
            -
             
     | 
| 
       442 
     | 
    
         
            -
            Parameters
         
     | 
| 
       443 
     | 
    
         
            -
            ----------
         
     | 
| 
       444 
     | 
    
         
            -
             
     | 
| 
       445 
     | 
    
         
            -
            This section describes all parameters. Parameters are categorized.
         
     | 
| 
       446 
     | 
    
         
            -
             
     | 
| 
       447 
     | 
    
         
            -
            Required parameters
         
     | 
| 
       448 
     | 
    
         
            -
            ^^^^^^^^^^^^^^^^^^^
         
     | 
| 
       449 
     | 
    
         
            -
             
     | 
| 
       450 
     | 
    
         
            -
            There is a required parameter, ``table``.
         
     | 
| 
       451 
     | 
    
         
            -
             
     | 
| 
       452 
     | 
    
         
            -
            .. _select-table:
         
     | 
| 
       453 
     | 
    
         
            -
             
     | 
| 
       454 
     | 
    
         
            -
            ``table``
         
     | 
| 
       455 
     | 
    
         
            -
            """""""""
         
     | 
| 
       456 
     | 
    
         
            -
             
     | 
| 
       457 
     | 
    
         
            -
            Specifies a table to be searched. ``table`` must be specified.
         
     | 
| 
       458 
     | 
    
         
            -
             
     | 
| 
       459 
     | 
    
         
            -
            If nonexistent table is specified, an error is returned.
         
     | 
| 
       460 
     | 
    
         
            -
             
     | 
| 
       461 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       462 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/table_nonexistent.log
         
     | 
| 
       463 
     | 
    
         
            -
            .. select Nonexistent
         
     | 
| 
       464 
     | 
    
         
            -
             
     | 
| 
       465 
     | 
    
         
            -
            .. _select-search-related-parameters:
         
     | 
| 
       466 
     | 
    
         
            -
             
     | 
| 
       467 
     | 
    
         
            -
            Search related parameters
         
     | 
| 
       468 
     | 
    
         
            -
            ^^^^^^^^^^^^^^^^^^^^^^^^^
         
     | 
| 
       469 
     | 
    
         
            -
             
     | 
| 
       470 
     | 
    
         
            -
            There are search related parameters. Typically, ``match_columns`` and
         
     | 
| 
       471 
     | 
    
         
            -
            ``query`` parameters are used for implementing a search
         
     | 
| 
       472 
     | 
    
         
            -
            box. ``filter`` parameters is used for implementing complex search
         
     | 
| 
       473 
     | 
    
         
            -
            feature.
         
     | 
| 
       474 
     | 
    
         
            -
             
     | 
| 
       475 
     | 
    
         
            -
            If both ``query`` and ``filter`` are specified, selected records must
         
     | 
| 
       476 
     | 
    
         
            -
            be matched against both ``query`` and ``filter``. If both ``query``
         
     | 
| 
       477 
     | 
    
         
            -
            and ``filter`` aren't specified, all records are selected.
         
     | 
| 
       478 
     | 
    
         
            -
             
     | 
| 
       479 
     | 
    
         
            -
            .. _select-match-columns:
         
     | 
| 
       480 
     | 
    
         
            -
             
     | 
| 
       481 
     | 
    
         
            -
            ``match_columns``
         
     | 
| 
       482 
     | 
    
         
            -
            """""""""""""""""
         
     | 
| 
       483 
     | 
    
         
            -
             
     | 
| 
       484 
     | 
    
         
            -
            Specifies the default target column for fulltext search by ``query``
         
     | 
| 
       485 
     | 
    
         
            -
            parameter value. A target column for fulltext search can be specified
         
     | 
| 
       486 
     | 
    
         
            -
            in ``query`` parameter. The difference between ``match_columns`` and
         
     | 
| 
       487 
     | 
    
         
            -
            ``query`` is whether weight and score function are supported or
         
     | 
| 
       488 
     | 
    
         
            -
            not. ``match_columns`` supports them but ``query`` doesn't.
         
     | 
| 
       489 
     | 
    
         
            -
             
     | 
| 
       490 
     | 
    
         
            -
            Weight is relative importance of target column. A higher weight target
         
     | 
| 
       491 
     | 
    
         
            -
            column gets more hit score rather than a lower weight target column
         
     | 
| 
       492 
     | 
    
         
            -
            when a record is matched by fulltext search. The default weight is 1.
         
     | 
| 
       493 
     | 
    
         
            -
             
     | 
| 
       494 
     | 
    
         
            -
            Here is a simple ``match_columns`` usage example.
         
     | 
| 
       495 
     | 
    
         
            -
             
     | 
| 
       496 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       497 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/match_columns_simple.log
         
     | 
| 
       498 
     | 
    
         
            -
            .. select Entries --match_columns content --query fast --output_columns '_key, _score'
         
     | 
| 
       499 
     | 
    
         
            -
             
     | 
| 
       500 
     | 
    
         
            -
            ``--match_columns content`` means the default target column for
         
     | 
| 
       501 
     | 
    
         
            -
            fulltext search is ``content`` column and its weight
         
     | 
| 
       502 
     | 
    
         
            -
            is 1. ``--output_columns '_key, _score'`` means that the ``select``
         
     | 
| 
       503 
     | 
    
         
            -
            command outputs ``_key`` value and ``_score`` value for matched
         
     | 
| 
       504 
     | 
    
         
            -
            records.
         
     | 
| 
       505 
     | 
    
         
            -
             
     | 
| 
       506 
     | 
    
         
            -
            Pay attention to ``_score`` value. ``_score`` value is the number of
         
     | 
| 
       507 
     | 
    
         
            -
            matched counts against ``query`` parameter value. In the example,
         
     | 
| 
       508 
     | 
    
         
            -
            ``query`` parameter value is ``fast``. The fact that ``_score`` value
         
     | 
| 
       509 
     | 
    
         
            -
            is 1 means that ``fast`` appers in ``content`` column only once.  The
         
     | 
| 
       510 
     | 
    
         
            -
            fact that ``_score`` value is 2 means that ``fast`` appears in
         
     | 
| 
       511 
     | 
    
         
            -
            ``content`` column twice.
         
     | 
| 
       512 
     | 
    
         
            -
             
     | 
| 
       513 
     | 
    
         
            -
            To specify weight, ``column * weight`` syntax is used. Here is a
         
     | 
| 
       514 
     | 
    
         
            -
            weight usage example.
         
     | 
| 
       515 
     | 
    
         
            -
             
     | 
| 
       516 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       517 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/match_columns_weight.log
         
     | 
| 
       518 
     | 
    
         
            -
            .. select Entries --match_columns 'content * 2' --query fast --output_columns '_key, _score'
         
     | 
| 
       519 
     | 
    
         
            -
             
     | 
| 
       520 
     | 
    
         
            -
            ``--match_columns 'content * 2'`` means the default target column for
         
     | 
| 
       521 
     | 
    
         
            -
            fulltext search is ``content`` column and its weight is 2.
         
     | 
| 
       522 
     | 
    
         
            -
             
     | 
| 
       523 
     | 
    
         
            -
            Pay attention to ``_score`` value. ``_score`` value is doubled because
         
     | 
| 
       524 
     | 
    
         
            -
            weight is 2.
         
     | 
| 
       525 
     | 
    
         
            -
             
     | 
| 
       526 
     | 
    
         
            -
            You can specify one or more columns as the default target columns for
         
     | 
| 
       527 
     | 
    
         
            -
            fulltext search. If one or more columns are specified, fulltext search
         
     | 
| 
       528 
     | 
    
         
            -
            is done for all columns and scores are accumulated. If one of the
         
     | 
| 
       529 
     | 
    
         
            -
            columns is matched against ``query`` parameter value, the record is
         
     | 
| 
       530 
     | 
    
         
            -
            treated as matched.
         
     | 
| 
       531 
     | 
    
         
            -
             
     | 
| 
       532 
     | 
    
         
            -
            To specify one or more columns, ``column1 * weight1 || column2 *
         
     | 
| 
       533 
     | 
    
         
            -
            weight2 || ...`` syntax is used. ``* weight`` can be omitted. If it is
         
     | 
| 
       534 
     | 
    
         
            -
            omitted, 1 is used for weight. Here is a one or more columns usage
         
     | 
| 
       535 
     | 
    
         
            -
            example.
         
     | 
| 
       536 
     | 
    
         
            -
             
     | 
| 
       537 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       538 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/match_columns_some_columns.log
         
     | 
| 
       539 
     | 
    
         
            -
            .. select Entries --match_columns '_key * 10 || content' --query groonga --output_columns '_key, _score'
         
     | 
| 
       540 
     | 
    
         
            -
             
     | 
| 
       541 
     | 
    
         
            -
            ``--match_columns '_key * 10 || content'`` means the default target
         
     | 
| 
       542 
     | 
    
         
            -
            columns for fulltext search are ``_key`` and ``content`` columns and
         
     | 
| 
       543 
     | 
    
         
            -
            ``_key`` column's weight is 10 and ``content`` column's weight
         
     | 
| 
       544 
     | 
    
         
            -
            is 1. This weight allocation means ``_key`` column value is more
         
     | 
| 
       545 
     | 
    
         
            -
            important rather than ``content`` column value. In this example, title
         
     | 
| 
       546 
     | 
    
         
            -
            of blog entry is more important rather thatn content of blog entry.
         
     | 
| 
       547 
     | 
    
         
            -
             
     | 
| 
       548 
     | 
    
         
            -
            You can also specify score function. See :doc:`/reference/scorer` for
         
     | 
| 
       549 
     | 
    
         
            -
            details.
         
     | 
| 
       550 
     | 
    
         
            -
             
     | 
| 
       551 
     | 
    
         
            -
            Note that score function isn't related to :ref:`select-scorer`
         
     | 
| 
       552 
     | 
    
         
            -
            parameter.
         
     | 
| 
       553 
     | 
    
         
            -
             
     | 
| 
       554 
     | 
    
         
            -
            .. _select-query:
         
     | 
| 
       555 
     | 
    
         
            -
             
     | 
| 
       556 
     | 
    
         
            -
            ``query``
         
     | 
| 
       557 
     | 
    
         
            -
            """""""""
         
     | 
| 
       558 
     | 
    
         
            -
             
     | 
| 
       559 
     | 
    
         
            -
            Specifies the query text. Normally, it is used for fulltext search
         
     | 
| 
       560 
     | 
    
         
            -
            with ``match_columns`` parameter. ``query`` parameter is designed for
         
     | 
| 
       561 
     | 
    
         
            -
            a fulltext search form in a Web page. A query text should be formatted
         
     | 
| 
       562 
     | 
    
         
            -
            in :doc:`/reference/grn_expr/query_syntax`. The syntax is similar to common search
         
     | 
| 
       563 
     | 
    
         
            -
            form like Google's search form. For example, ``word1 word2`` means
         
     | 
| 
       564 
     | 
    
         
            -
            that groonga searches records that contain both ``word1`` and
         
     | 
| 
       565 
     | 
    
         
            -
            ``word2``. ``word1 OR word2`` means that groogna searches records that
         
     | 
| 
       566 
     | 
    
         
            -
            contain either ``word1`` or ``word2``.
         
     | 
| 
       567 
     | 
    
         
            -
             
     | 
| 
       568 
     | 
    
         
            -
            Here is a simple logical and search example.
         
     | 
| 
       569 
     | 
    
         
            -
             
     | 
| 
       570 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       571 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/query_and.log
         
     | 
| 
       572 
     | 
    
         
            -
            .. select Entries --match_columns content --query "fast groonga"
         
     | 
| 
       573 
     | 
    
         
            -
             
     | 
| 
       574 
     | 
    
         
            -
            The ``select`` command searches records that contain two words
         
     | 
| 
       575 
     | 
    
         
            -
            ``fast`` and ``groonga`` in ``content`` column value from ``Entries``
         
     | 
| 
       576 
     | 
    
         
            -
            table.
         
     | 
| 
       577 
     | 
    
         
            -
             
     | 
| 
       578 
     | 
    
         
            -
            Here is a simple logical or search example.
         
     | 
| 
       579 
     | 
    
         
            -
             
     | 
| 
       580 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       581 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/query_or.log
         
     | 
| 
       582 
     | 
    
         
            -
            .. select Entries --match_columns content --query "groonga OR mroonga"
         
     | 
| 
       583 
     | 
    
         
            -
             
     | 
| 
       584 
     | 
    
         
            -
            The ``select`` command searches records that contain one of two words
         
     | 
| 
       585 
     | 
    
         
            -
            ``groonga`` or ``mroonga`` in ``content`` column value from
         
     | 
| 
       586 
     | 
    
         
            -
            ``Entries`` table.
         
     | 
| 
       587 
     | 
    
         
            -
             
     | 
| 
       588 
     | 
    
         
            -
            See :doc:`/reference/grn_expr/query_syntax` for other syntax.
         
     | 
| 
       589 
     | 
    
         
            -
             
     | 
| 
       590 
     | 
    
         
            -
            It can be used for not only fulltext search but also other
         
     | 
| 
       591 
     | 
    
         
            -
            conditions. For example, ``column:value`` means the value of
         
     | 
| 
       592 
     | 
    
         
            -
            ``column`` column is equal to ``value``. ``column:<value`` means the
         
     | 
| 
       593 
     | 
    
         
            -
            value of ``column`` column is less than ``value``.
         
     | 
| 
       594 
     | 
    
         
            -
             
     | 
| 
       595 
     | 
    
         
            -
            Here is a simple equality operator search example.
         
     | 
| 
       596 
     | 
    
         
            -
             
     | 
| 
       597 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       598 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/query_equal.log
         
     | 
| 
       599 
     | 
    
         
            -
            .. select Entries --query _key:Groonga
         
     | 
| 
       600 
     | 
    
         
            -
             
     | 
| 
       601 
     | 
    
         
            -
            The ``select`` command searches records that ``_key`` column value is
         
     | 
| 
       602 
     | 
    
         
            -
            ``Groonga`` from ``Entries`` table.
         
     | 
| 
       603 
     | 
    
         
            -
             
     | 
| 
       604 
     | 
    
         
            -
            Here is a simple less than operator search example.
         
     | 
| 
       605 
     | 
    
         
            -
             
     | 
| 
       606 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       607 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/query_less_than.log
         
     | 
| 
       608 
     | 
    
         
            -
            .. select Entries --query n_likes:<11
         
     | 
| 
       609 
     | 
    
         
            -
             
     | 
| 
       610 
     | 
    
         
            -
            The ``select`` command searches records that ``n_likes`` column value
         
     | 
| 
       611 
     | 
    
         
            -
            is less than ``11`` from ``Entries`` table.
         
     | 
| 
       612 
     | 
    
         
            -
             
     | 
| 
       613 
     | 
    
         
            -
            See :doc:`/reference/grn_expr/query_syntax` for other operations.
         
     | 
| 
       614 
     | 
    
         
            -
             
     | 
| 
       615 
     | 
    
         
            -
            .. _select-filter:
         
     | 
| 
       616 
     | 
    
         
            -
             
     | 
| 
       617 
     | 
    
         
            -
            ``filter``
         
     | 
| 
       618 
     | 
    
         
            -
            """"""""""
         
     | 
| 
       619 
     | 
    
         
            -
             
     | 
| 
       620 
     | 
    
         
            -
            Specifies the filter text. Normally, it is used for complex search
         
     | 
| 
       621 
     | 
    
         
            -
            conditions. ``filter`` can be used with ``query`` parameter. If both
         
     | 
| 
       622 
     | 
    
         
            -
            ``filter`` and ``query`` are specified, there are conbined with
         
     | 
| 
       623 
     | 
    
         
            -
            logical and. It means that matched records should be matched against
         
     | 
| 
       624 
     | 
    
         
            -
            both ``filter`` and ``query``.
         
     | 
| 
       625 
     | 
    
         
            -
             
     | 
| 
       626 
     | 
    
         
            -
            ``filter`` parameter is designed for complex conditions. A filter text
         
     | 
| 
       627 
     | 
    
         
            -
            should be formatted in :doc:`/reference/grn_expr/script_syntax`. The syntax is
         
     | 
| 
       628 
     | 
    
         
            -
            similar to ECMAScript. For example, ``column == "value"`` means that
         
     | 
| 
       629 
     | 
    
         
            -
            the value of ``column`` column is equal to ``"value"``. ``column <
         
     | 
| 
       630 
     | 
    
         
            -
            value`` means that the value of ``column`` column is less than
         
     | 
| 
       631 
     | 
    
         
            -
            ``value``.
         
     | 
| 
       632 
     | 
    
         
            -
             
     | 
| 
       633 
     | 
    
         
            -
            Here is a simple equality operator search example.
         
     | 
| 
       634 
     | 
    
         
            -
             
     | 
| 
       635 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       636 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/filter_equal.log
         
     | 
| 
       637 
     | 
    
         
            -
            .. select Entries --filter '_key == "Groonga"'
         
     | 
| 
       638 
     | 
    
         
            -
             
     | 
| 
       639 
     | 
    
         
            -
            The ``select`` command searches records that ``_key`` column value is
         
     | 
| 
       640 
     | 
    
         
            -
            ``Groonga`` from ``Entries`` table.
         
     | 
| 
       641 
     | 
    
         
            -
             
     | 
| 
       642 
     | 
    
         
            -
            Here is a simple less than operator search example.
         
     | 
| 
       643 
     | 
    
         
            -
             
     | 
| 
       644 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       645 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/filter_less_than.log
         
     | 
| 
       646 
     | 
    
         
            -
            .. select Entries --filter 'n_likes < 11'
         
     | 
| 
       647 
     | 
    
         
            -
             
     | 
| 
       648 
     | 
    
         
            -
            The ``select`` command searches records that ``n_likes`` column value
         
     | 
| 
       649 
     | 
    
         
            -
            is less than ``11`` from ``Entries`` table.
         
     | 
| 
       650 
     | 
    
         
            -
             
     | 
| 
       651 
     | 
    
         
            -
            See :doc:`/reference/grn_expr/script_syntax` for other operators.
         
     | 
| 
       652 
     | 
    
         
            -
             
     | 
| 
       653 
     | 
    
         
            -
            .. _select-advanced-search-parameters:
         
     | 
| 
       654 
     | 
    
         
            -
             
     | 
| 
       655 
     | 
    
         
            -
            Advanced search parameters
         
     | 
| 
       656 
     | 
    
         
            -
            ^^^^^^^^^^^^^^^^^^^^^^^^^^
         
     | 
| 
       657 
     | 
    
         
            -
             
     | 
| 
       658 
     | 
    
         
            -
            .. _select-match-escalation-threshold:
         
     | 
| 
       659 
     | 
    
         
            -
             
     | 
| 
       660 
     | 
    
         
            -
            ``match_escalation_threshold``
         
     | 
| 
       661 
     | 
    
         
            -
            """"""""""""""""""""""""""""""
         
     | 
| 
       662 
     | 
    
         
            -
             
     | 
| 
       663 
     | 
    
         
            -
            Specifies threshold to determine whether search storategy
         
     | 
| 
       664 
     | 
    
         
            -
            escalation is used or not. The threshold is compared against the
         
     | 
| 
       665 
     | 
    
         
            -
            number of matched records. If the number of matched records is equal
         
     | 
| 
       666 
     | 
    
         
            -
            to or less than the threshold, the search storategy escalation is
         
     | 
| 
       667 
     | 
    
         
            -
            used. See :doc:`/spec/search` about the search storategy escalation.
         
     | 
| 
       668 
     | 
    
         
            -
             
     | 
| 
       669 
     | 
    
         
            -
            The default threshold is 0. It means that search storategy escalation
         
     | 
| 
       670 
     | 
    
         
            -
            is used only when no records are matched.
         
     | 
| 
       671 
     | 
    
         
            -
             
     | 
| 
       672 
     | 
    
         
            -
            The default threshold can be customized by one of the followings.
         
     | 
| 
       673 
     | 
    
         
            -
             
     | 
| 
       674 
     | 
    
         
            -
              * ``--with-match-escalation-threshold`` option of configure
         
     | 
| 
       675 
     | 
    
         
            -
              * ``--match-escalation-threshold`` option of groogna command
         
     | 
| 
       676 
     | 
    
         
            -
              * ``match-escalation-threshold`` configuration item in configuration
         
     | 
| 
       677 
     | 
    
         
            -
                file
         
     | 
| 
       678 
     | 
    
         
            -
             
     | 
| 
       679 
     | 
    
         
            -
            Here is a simple ``match_escalation_threshold`` usage example. The
         
     | 
| 
       680 
     | 
    
         
            -
            first ``select`` doesn't have ``match_escalation_threshold``
         
     | 
| 
       681 
     | 
    
         
            -
            parameter. The second ``select`` has ``match_escalation_threshold``
         
     | 
| 
       682 
     | 
    
         
            -
            parameter.
         
     | 
| 
       683 
     | 
    
         
            -
             
     | 
| 
       684 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       685 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/match_escalation_threshold.log
         
     | 
| 
       686 
     | 
    
         
            -
            .. select Entries --match_columns content --query groo
         
     | 
| 
       687 
     | 
    
         
            -
            .. select Entries --match_columns content --query groo --match_escalation_threshold -1
         
     | 
| 
       688 
     | 
    
         
            -
             
     | 
| 
       689 
     | 
    
         
            -
            The first ``select`` command searches records that contain a word
         
     | 
| 
       690 
     | 
    
         
            -
            ``groo`` in ``content`` column value from ``Entries`` table. But no
         
     | 
| 
       691 
     | 
    
         
            -
            records are matched because the ``TokenBigram`` tokenizer tokenizes
         
     | 
| 
       692 
     | 
    
         
            -
            ``groonga`` to ``groonga`` not ``gr|ro|oo|on|ng|ga``. (The
         
     | 
| 
       693 
     | 
    
         
            -
            ``TokenBigramSplitSymbolAlpha`` tokenizer tokenizes ``groonga`` to
         
     | 
| 
       694 
     | 
    
         
            -
            ``gr|ro|oo|on|ng|ga``. See :doc:`/reference/tokenizers` for details.)
         
     | 
| 
       695 
     | 
    
         
            -
            It means that ``groonga`` is indexed but ``groo`` isn't indexed. So no
         
     | 
| 
       696 
     | 
    
         
            -
            records are matched against ``groo`` by exact match. In the case, the
         
     | 
| 
       697 
     | 
    
         
            -
            search storategy escalation is used because the number of matched
         
     | 
| 
       698 
     | 
    
         
            -
            records (0) is equal to ``match_escalation_threshold`` (0). One record
         
     | 
| 
       699 
     | 
    
         
            -
            is matched against ``groo`` by unsplit search.
         
     | 
| 
       700 
     | 
    
         
            -
             
     | 
| 
       701 
     | 
    
         
            -
            The second ``select`` command also searches records that contain a
         
     | 
| 
       702 
     | 
    
         
            -
            word ``groo`` in ``content`` column value from ``Entries`` table. And
         
     | 
| 
       703 
     | 
    
         
            -
            it also doesn't found matched records. In this case, the search
         
     | 
| 
       704 
     | 
    
         
            -
            storategy escalation is not used because the number of matched
         
     | 
| 
       705 
     | 
    
         
            -
            records (0) is larger than ``match_escalation_threshold`` (-1). So no
         
     | 
| 
       706 
     | 
    
         
            -
            more searches aren't executed. And no records are matched.
         
     | 
| 
       707 
     | 
    
         
            -
             
     | 
| 
       708 
     | 
    
         
            -
            .. _select-query-expansion:
         
     | 
| 
       709 
     | 
    
         
            -
             
     | 
| 
       710 
     | 
    
         
            -
            ``query_expansion``
         
     | 
| 
       711 
     | 
    
         
            -
            """""""""""""""""""
         
     | 
| 
       712 
     | 
    
         
            -
             
     | 
| 
       713 
     | 
    
         
            -
            .. deprecated:: 3.0.2
         
     | 
| 
       714 
     | 
    
         
            -
               Use :ref:`select-query-expander` instead.
         
     | 
| 
       715 
     | 
    
         
            -
             
     | 
| 
       716 
     | 
    
         
            -
            .. _select-query-flags:
         
     | 
| 
       717 
     | 
    
         
            -
             
     | 
| 
       718 
     | 
    
         
            -
            ``query_flags``
         
     | 
| 
       719 
     | 
    
         
            -
            """""""""""""""
         
     | 
| 
       720 
     | 
    
         
            -
             
     | 
| 
       721 
     | 
    
         
            -
            It customs ``query`` parameter syntax. You cannot update column value
         
     | 
| 
       722 
     | 
    
         
            -
            by ``query`` parameter by default. But if you specify
         
     | 
| 
       723 
     | 
    
         
            -
            ``ALLOW_COLUMN|ALLOW_UPDATE`` as ``query_flags``, you can update
         
     | 
| 
       724 
     | 
    
         
            -
            column value by ``query``.
         
     | 
| 
       725 
     | 
    
         
            -
             
     | 
| 
       726 
     | 
    
         
            -
            Here are available values:
         
     | 
| 
       727 
     | 
    
         
            -
             
     | 
| 
       728 
     | 
    
         
            -
            * ``ALLOW_PRAGMA``
         
     | 
| 
       729 
     | 
    
         
            -
            * ``ALLOW_COLUMN``
         
     | 
| 
       730 
     | 
    
         
            -
            * ``ALLOW_UPDATE``
         
     | 
| 
       731 
     | 
    
         
            -
            * ``ALLOW_LEADING_NOT``
         
     | 
| 
       732 
     | 
    
         
            -
            * ``NONE``
         
     | 
| 
       733 
     | 
    
         
            -
             
     | 
| 
       734 
     | 
    
         
            -
            ``ALLOW_PRAGMA`` enables pragma at the head of ``query``. This is not
         
     | 
| 
       735 
     | 
    
         
            -
            implemented yet.
         
     | 
| 
       736 
     | 
    
         
            -
             
     | 
| 
       737 
     | 
    
         
            -
            ``ALLOW_COLUMN`` enables search againt columns that are not included
         
     | 
| 
       738 
     | 
    
         
            -
            in ``match_columns``. To specify column, there are ``COLUMN:...``
         
     | 
| 
       739 
     | 
    
         
            -
            syntaxes.
         
     | 
| 
       740 
     | 
    
         
            -
             
     | 
| 
       741 
     | 
    
         
            -
            ``ALLOW_UPDATE`` enables column update by ``query`` with
         
     | 
| 
       742 
     | 
    
         
            -
            ``COLUMN:=NEW_VALUE`` syntax. ``ALLOW_COLUMN`` is also required to
         
     | 
| 
       743 
     | 
    
         
            -
            update column because the column update syntax specifies column.
         
     | 
| 
       744 
     | 
    
         
            -
             
     | 
| 
       745 
     | 
    
         
            -
            ``ALLOW_LEADING_NOT`` enables leading NOT condition with ``-WORD``
         
     | 
| 
       746 
     | 
    
         
            -
            syntax. The query searches records that doesn't match
         
     | 
| 
       747 
     | 
    
         
            -
            ``WORD``. Leading NOT condition query is heavy query in many cases
         
     | 
| 
       748 
     | 
    
         
            -
            because it matches many records. So this flag is disabled by
         
     | 
| 
       749 
     | 
    
         
            -
            default. Be careful about it when you use the flag.
         
     | 
| 
       750 
     | 
    
         
            -
             
     | 
| 
       751 
     | 
    
         
            -
            ``NONE`` is just ignores. You can use ``NONE`` for specifying no flags.
         
     | 
| 
       752 
     | 
    
         
            -
             
     | 
| 
       753 
     | 
    
         
            -
            They can be combined by separated ``|`` such as
         
     | 
| 
       754 
     | 
    
         
            -
            ``ALLOW_COLUMN|ALLOW_UPDATE``.
         
     | 
| 
       755 
     | 
    
         
            -
             
     | 
| 
       756 
     | 
    
         
            -
            The default value is ``ALLOW_PRAGMA|ALLOW_COLUMN``.
         
     | 
| 
       757 
     | 
    
         
            -
             
     | 
| 
       758 
     | 
    
         
            -
            Here is a usage example of ``ALLOW_COLUMN``.
         
     | 
| 
       759 
     | 
    
         
            -
             
     | 
| 
       760 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       761 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/query_flags_allow_column.log
         
     | 
| 
       762 
     | 
    
         
            -
            .. select Entries --query content:@mroonga --query_flags ALLOW_COLUMN
         
     | 
| 
       763 
     | 
    
         
            -
             
     | 
| 
       764 
     | 
    
         
            -
            The ``select`` command searches records that contain ``mroonga`` in
         
     | 
| 
       765 
     | 
    
         
            -
            ``content`` column value from ``Entries`` table.
         
     | 
| 
       766 
     | 
    
         
            -
             
     | 
| 
       767 
     | 
    
         
            -
            Here is a usage example of ``ALLOW_UPDATE``.
         
     | 
| 
       768 
     | 
    
         
            -
             
     | 
| 
       769 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       770 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/query_flags_allow_update.log
         
     | 
| 
       771 
     | 
    
         
            -
            .. table_create Users TABLE_HASH_KEY ShortText
         
     | 
| 
       772 
     | 
    
         
            -
            .. column_create Users age COLUMN_SCALAR UInt32
         
     | 
| 
       773 
     | 
    
         
            -
            .. load --table Users
         
     | 
| 
       774 
     | 
    
         
            -
            .. [
         
     | 
| 
       775 
     | 
    
         
            -
            .. {"_key": "alice", "age": 18},
         
     | 
| 
       776 
     | 
    
         
            -
            .. {"_key": "bob",   "age": 20}
         
     | 
| 
       777 
     | 
    
         
            -
            .. ]
         
     | 
| 
       778 
     | 
    
         
            -
            .. select Users --query age:=19 --query_flags ALLOW_COLUMN|ALLOW_UPDATE
         
     | 
| 
       779 
     | 
    
         
            -
            .. select Users
         
     | 
| 
       780 
     | 
    
         
            -
             
     | 
| 
       781 
     | 
    
         
            -
            The first ``select`` command sets ``age`` column value of all records
         
     | 
| 
       782 
     | 
    
         
            -
            to ``19``. The second ``select`` command outputs updated ``age``
         
     | 
| 
       783 
     | 
    
         
            -
            column values.
         
     | 
| 
       784 
     | 
    
         
            -
             
     | 
| 
       785 
     | 
    
         
            -
            Here is a usage example of ``ALLOW_LEADING_NOT``.
         
     | 
| 
       786 
     | 
    
         
            -
             
     | 
| 
       787 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       788 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/query_flags_allow_leading_not.log
         
     | 
| 
       789 
     | 
    
         
            -
            .. select Entries --match_columns content --query -mroonga --query_flags ALLOW_LEADING_NOT
         
     | 
| 
       790 
     | 
    
         
            -
             
     | 
| 
       791 
     | 
    
         
            -
            The ``select`` command searches records that don't contain ``mroonga``
         
     | 
| 
       792 
     | 
    
         
            -
            in ``content`` column value from ``Entries`` table.
         
     | 
| 
       793 
     | 
    
         
            -
             
     | 
| 
       794 
     | 
    
         
            -
            Here is a usage example of ``NONE``.
         
     | 
| 
       795 
     | 
    
         
            -
             
     | 
| 
       796 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       797 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/query_flags_none.log
         
     | 
| 
       798 
     | 
    
         
            -
            .. select Entries --match_columns content --query 'mroonga OR _key:Groonga' --query_flags NONE
         
     | 
| 
       799 
     | 
    
         
            -
             
     | 
| 
       800 
     | 
    
         
            -
            The ``select`` command searches records that contain one of two words
         
     | 
| 
       801 
     | 
    
         
            -
            ``mroonga`` or ``_key:Groonga`` in ``content`` from ``Entries`` table.
         
     | 
| 
       802 
     | 
    
         
            -
            Note that ``_key:Groonga`` doesn't mean that the value of ``_key``
         
     | 
| 
       803 
     | 
    
         
            -
            column is equal to ``Groonga``. Because ``ALLOW_COLUMN`` flag is not
         
     | 
| 
       804 
     | 
    
         
            -
            specified.
         
     | 
| 
       805 
     | 
    
         
            -
             
     | 
| 
       806 
     | 
    
         
            -
            See also :doc:`/reference/grn_expr/query_syntax`.
         
     | 
| 
       807 
     | 
    
         
            -
             
     | 
| 
       808 
     | 
    
         
            -
            .. _select-query-expander:
         
     | 
| 
       809 
     | 
    
         
            -
             
     | 
| 
       810 
     | 
    
         
            -
            ``query_expander``
         
     | 
| 
       811 
     | 
    
         
            -
            """"""""""""""""""
         
     | 
| 
       812 
     | 
    
         
            -
             
     | 
| 
       813 
     | 
    
         
            -
            It's for query expansion. Query expansion substitutes specific words
         
     | 
| 
       814 
     | 
    
         
            -
            to another words in query. Nomally, it's used for synonym search.
         
     | 
| 
       815 
     | 
    
         
            -
             
     | 
| 
       816 
     | 
    
         
            -
            It specifies a column that is used to substitute ``query`` parameter
         
     | 
| 
       817 
     | 
    
         
            -
            value. The format of this parameter value is
         
     | 
| 
       818 
     | 
    
         
            -
            "``${TABLE}.${COLUMN}``". For example, "``Terms.synonym``" specifies
         
     | 
| 
       819 
     | 
    
         
            -
            ``synonym`` column in ``Terms`` table.
         
     | 
| 
       820 
     | 
    
         
            -
             
     | 
| 
       821 
     | 
    
         
            -
            Table for query expansion is called "substitution table". Substitution
         
     | 
| 
       822 
     | 
    
         
            -
            table's key must be ``ShortText``. So array table (``TABLE_NO_KEY``)
         
     | 
| 
       823 
     | 
    
         
            -
            can't be used for query expansion. Because array table doesn't have
         
     | 
| 
       824 
     | 
    
         
            -
            key.
         
     | 
| 
       825 
     | 
    
         
            -
             
     | 
| 
       826 
     | 
    
         
            -
            Column for query expansion is called "substitution
         
     | 
| 
       827 
     | 
    
         
            -
            column". Substitution column's value type must be
         
     | 
| 
       828 
     | 
    
         
            -
            ``ShortText``. Column type must be vector (``COLUMN_VECTOR``).
         
     | 
| 
       829 
     | 
    
         
            -
             
     | 
| 
       830 
     | 
    
         
            -
            Query expansion substitutes key of substitution table in query with
         
     | 
| 
       831 
     | 
    
         
            -
            values in substitution column. If a word in ``query`` is a key of
         
     | 
| 
       832 
     | 
    
         
            -
            substitution table, the word is substituted with substitution column
         
     | 
| 
       833 
     | 
    
         
            -
            value that is associated with the key. Substition isn't performed
         
     | 
| 
       834 
     | 
    
         
            -
            recursively. It means that substitution target words in substituted
         
     | 
| 
       835 
     | 
    
         
            -
            query aren't substituted.
         
     | 
| 
       836 
     | 
    
         
            -
             
     | 
| 
       837 
     | 
    
         
            -
            Here is a sample substitution table to show a simple
         
     | 
| 
       838 
     | 
    
         
            -
            ``query_expander`` usage example.
         
     | 
| 
       839 
     | 
    
         
            -
             
     | 
| 
       840 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       841 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/query_expander_substitution_table.log
         
     | 
| 
       842 
     | 
    
         
            -
            .. table_create Thesaurus TABLE_PAT_KEY ShortText --normalizer NormalizerAuto
         
     | 
| 
       843 
     | 
    
         
            -
            .. column_create Thesaurus synonym COLUMN_VECTOR ShortText
         
     | 
| 
       844 
     | 
    
         
            -
            .. load --table Thesaurus
         
     | 
| 
       845 
     | 
    
         
            -
            .. [
         
     | 
| 
       846 
     | 
    
         
            -
            .. {"_key": "mroonga", "synonym": ["mroonga", "tritonn", "groonga mysql"]},
         
     | 
| 
       847 
     | 
    
         
            -
            .. {"_key": "groonga", "synonym": ["groonga", "senna"]}
         
     | 
| 
       848 
     | 
    
         
            -
            .. ]
         
     | 
| 
       849 
     | 
    
         
            -
             
     | 
| 
       850 
     | 
    
         
            -
            ``Thesaurus`` substitution table has two synonyms, ``"mroonga"`` and
         
     | 
| 
       851 
     | 
    
         
            -
            ``"groonga"``. If an user searches with ``"mroonga"``, Groonga
         
     | 
| 
       852 
     | 
    
         
            -
            searches with ``"((mroonga) OR (tritonn) OR (groonga mysql))"``. If an
         
     | 
| 
       853 
     | 
    
         
            -
            user searches with ``"groonga"``, Groonga searches with ``"((groonga)
         
     | 
| 
       854 
     | 
    
         
            -
            OR (senna))"``.
         
     | 
| 
       855 
     | 
    
         
            -
             
     | 
| 
       856 
     | 
    
         
            -
            Normally, it's good idea that substitution table uses a
         
     | 
| 
       857 
     | 
    
         
            -
            normalizer. For example, if normalizer is used, substitute target word
         
     | 
| 
       858 
     | 
    
         
            -
            is matched in case insensitive manner. See
         
     | 
| 
       859 
     | 
    
         
            -
            :doc:`/reference/normalizers` for available normalizers.
         
     | 
| 
       860 
     | 
    
         
            -
             
     | 
| 
       861 
     | 
    
         
            -
            Note that those synonym values include the key value such as
         
     | 
| 
       862 
     | 
    
         
            -
            ``"mroonga"`` and ``"groonga"``. It's recommended that you include the
         
     | 
| 
       863 
     | 
    
         
            -
            key value. If you don't include key value, substituted value doesn't
         
     | 
| 
       864 
     | 
    
         
            -
            include the original substitute target value. Normally, including the
         
     | 
| 
       865 
     | 
    
         
            -
            original value is better search result. If you have a word that you
         
     | 
| 
       866 
     | 
    
         
            -
            don't want to be searched, you should not include the original
         
     | 
| 
       867 
     | 
    
         
            -
            word. For example, you can implement "stop words" by an empty vector
         
     | 
| 
       868 
     | 
    
         
            -
            value.
         
     | 
| 
       869 
     | 
    
         
            -
             
     | 
| 
       870 
     | 
    
         
            -
            Here is a simple ``query_expander`` usage example.
         
     | 
| 
       871 
     | 
    
         
            -
             
     | 
| 
       872 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       873 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/query_expander_substitute.log
         
     | 
| 
       874 
     | 
    
         
            -
            .. select Entries --match_columns content --query "mroonga"
         
     | 
| 
       875 
     | 
    
         
            -
            .. select Entries --match_columns content --query "mroonga" --query_expander Thesaurus.synonym
         
     | 
| 
       876 
     | 
    
         
            -
            .. select Entries --match_columns content --query "((mroonga) OR (tritonn) OR (groonga mysql))"
         
     | 
| 
       877 
     | 
    
         
            -
             
     | 
| 
       878 
     | 
    
         
            -
            The first ``select`` command doesn't use query expansion. So a record
         
     | 
| 
       879 
     | 
    
         
            -
            that has ``"tritonn"`` isn't found. The second ``select`` command uses
         
     | 
| 
       880 
     | 
    
         
            -
            query expansion. So a record that has ``"tritonn"`` is found. The
         
     | 
| 
       881 
     | 
    
         
            -
            third ``select`` command doesn't use query expansion but it is same as
         
     | 
| 
       882 
     | 
    
         
            -
            the second ``select`` command. The third one uses expanded query.
         
     | 
| 
       883 
     | 
    
         
            -
             
     | 
| 
       884 
     | 
    
         
            -
            Each substitute value can contain any :doc:`/reference/grn_expr/query_syntax` syntax
         
     | 
| 
       885 
     | 
    
         
            -
            such as ``(...)`` and ``OR``. You can use complex substitution by
         
     | 
| 
       886 
     | 
    
         
            -
            using those syntax.
         
     | 
| 
       887 
     | 
    
         
            -
             
     | 
| 
       888 
     | 
    
         
            -
            Here is a complex substitution usage example that uses query syntax.
         
     | 
| 
       889 
     | 
    
         
            -
             
     | 
| 
       890 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       891 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/query_expander_complex.log
         
     | 
| 
       892 
     | 
    
         
            -
            .. load --table Thesaurus
         
     | 
| 
       893 
     | 
    
         
            -
            .. [
         
     | 
| 
       894 
     | 
    
         
            -
            .. {"_key": "popular", "synonym": ["popular", "n_likes:>=10"]}
         
     | 
| 
       895 
     | 
    
         
            -
            .. ]
         
     | 
| 
       896 
     | 
    
         
            -
            .. select Entries --match_columns content --query "popular" --query_expander Thesaurus.synonym
         
     | 
| 
       897 
     | 
    
         
            -
             
     | 
| 
       898 
     | 
    
         
            -
            The ``load`` command registers a new synonym ``"popular"``. It is
         
     | 
| 
       899 
     | 
    
         
            -
            substituted with ``((popular) OR (n_likes:>=10))``. The substituted
         
     | 
| 
       900 
     | 
    
         
            -
            query means that "popular" is containing the word "popular" or 10 or
         
     | 
| 
       901 
     | 
    
         
            -
            more liked entries.
         
     | 
| 
       902 
     | 
    
         
            -
             
     | 
| 
       903 
     | 
    
         
            -
            The ``select`` command outputs records that ``n_likes`` column value
         
     | 
| 
       904 
     | 
    
         
            -
            is equal to or more than ``10`` from ``Entries`` table.
         
     | 
| 
       905 
     | 
    
         
            -
             
     | 
| 
       906 
     | 
    
         
            -
            Output related parameters
         
     | 
| 
       907 
     | 
    
         
            -
            ^^^^^^^^^^^^^^^^^^^^^^^^^
         
     | 
| 
       908 
     | 
    
         
            -
             
     | 
| 
       909 
     | 
    
         
            -
            .. _select-output-columns:
         
     | 
| 
       910 
     | 
    
         
            -
             
     | 
| 
       911 
     | 
    
         
            -
            ``output_columns``
         
     | 
| 
       912 
     | 
    
         
            -
            """"""""""""""""""
         
     | 
| 
       913 
     | 
    
         
            -
             
     | 
| 
       914 
     | 
    
         
            -
            Specifies output columns separated by ``,``.
         
     | 
| 
       915 
     | 
    
         
            -
             
     | 
| 
       916 
     | 
    
         
            -
            Here is a simple ``output_columns`` usage example.
         
     | 
| 
       917 
     | 
    
         
            -
             
     | 
| 
       918 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       919 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/output_columns_simple.log
         
     | 
| 
       920 
     | 
    
         
            -
            .. select Entries --output_columns '_id, _key' --limit 1
         
     | 
| 
       921 
     | 
    
         
            -
             
     | 
| 
       922 
     | 
    
         
            -
            The ``select`` command just outputs ``_id`` and ``_key`` column
         
     | 
| 
       923 
     | 
    
         
            -
            values.
         
     | 
| 
       924 
     | 
    
         
            -
             
     | 
| 
       925 
     | 
    
         
            -
            ``*`` is a special value. It means that all columns that are not
         
     | 
| 
       926 
     | 
    
         
            -
            :doc:`/reference/columns/pseudo`.
         
     | 
| 
       927 
     | 
    
         
            -
             
     | 
| 
       928 
     | 
    
         
            -
            Here is a ``*`` usage example.
         
     | 
| 
       929 
     | 
    
         
            -
             
     | 
| 
       930 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       931 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/output_columns_asterisk.log
         
     | 
| 
       932 
     | 
    
         
            -
            .. select Entries --output_columns '_key, *' --limit 1
         
     | 
| 
       933 
     | 
    
         
            -
             
     | 
| 
       934 
     | 
    
         
            -
            The ``select`` command outputs ``_key`` pseudo column, ``content``
         
     | 
| 
       935 
     | 
    
         
            -
            column and ``n_likes`` column values but doesn't output ``_id`` pseudo
         
     | 
| 
       936 
     | 
    
         
            -
            column value.
         
     | 
| 
       937 
     | 
    
         
            -
             
     | 
| 
       938 
     | 
    
         
            -
            The default value is ``_id, _key, *``. It means that all column
         
     | 
| 
       939 
     | 
    
         
            -
            values except ``_score`` are outputted.
         
     | 
| 
       940 
     | 
    
         
            -
             
     | 
| 
       941 
     | 
    
         
            -
            .. _select-sortby:
         
     | 
| 
       942 
     | 
    
         
            -
             
     | 
| 
       943 
     | 
    
         
            -
            ``sortby``
         
     | 
| 
       944 
     | 
    
         
            -
            """"""""""
         
     | 
| 
       945 
     | 
    
         
            -
             
     | 
| 
       946 
     | 
    
         
            -
            .. deprecated:: 6.0.3
         
     | 
| 
       947 
     | 
    
         
            -
               Use :ref:`select-sort-keys` instead.
         
     | 
| 
       948 
     | 
    
         
            -
             
     | 
| 
       949 
     | 
    
         
            -
            .. _select-sort-keys:
         
     | 
| 
       950 
     | 
    
         
            -
             
     | 
| 
       951 
     | 
    
         
            -
            ``sort_keys``
         
     | 
| 
       952 
     | 
    
         
            -
            """""""""""""
         
     | 
| 
       953 
     | 
    
         
            -
             
     | 
| 
       954 
     | 
    
         
            -
            Specifies sort keys separated by ``,``. Each sort key is column
         
     | 
| 
       955 
     | 
    
         
            -
            name.
         
     | 
| 
       956 
     | 
    
         
            -
             
     | 
| 
       957 
     | 
    
         
            -
            Here is a simple ``sort_keys`` usage example.
         
     | 
| 
       958 
     | 
    
         
            -
             
     | 
| 
       959 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       960 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/sort_keys_simple.log
         
     | 
| 
       961 
     | 
    
         
            -
            .. select Entries --sort_keys 'n_likes, _id'
         
     | 
| 
       962 
     | 
    
         
            -
             
     | 
| 
       963 
     | 
    
         
            -
            The ``select`` command sorts by ``n_likes`` column value in ascending
         
     | 
| 
       964 
     | 
    
         
            -
            order. For records that has the same ``n_likes`` are sorted by ``_id``
         
     | 
| 
       965 
     | 
    
         
            -
            in ascending order. ``"Good-bye Senna"`` and ``"Good-bye Tritonn"``
         
     | 
| 
       966 
     | 
    
         
            -
            are the case.
         
     | 
| 
       967 
     | 
    
         
            -
             
     | 
| 
       968 
     | 
    
         
            -
            If you want to sort in descending order, add ``-`` before column name.
         
     | 
| 
       969 
     | 
    
         
            -
             
     | 
| 
       970 
     | 
    
         
            -
            Here is a descending order ``sort_keys`` usage example.
         
     | 
| 
       971 
     | 
    
         
            -
             
     | 
| 
       972 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       973 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/sort_keys_descending.log
         
     | 
| 
       974 
     | 
    
         
            -
            .. select Entries --sort_keys '-n_likes, _id'
         
     | 
| 
       975 
     | 
    
         
            -
             
     | 
| 
       976 
     | 
    
         
            -
            The ``select`` command sorts by ``n_likes`` column value in descending
         
     | 
| 
       977 
     | 
    
         
            -
            order. But ascending order is used for sorting by ``_id``.
         
     | 
| 
       978 
     | 
    
         
            -
             
     | 
| 
       979 
     | 
    
         
            -
            You can use ``_score`` pseudo column in ``sort_keys`` if you use
         
     | 
| 
       980 
     | 
    
         
            -
            ``query`` or ``filter`` parameter.
         
     | 
| 
       981 
     | 
    
         
            -
             
     | 
| 
       982 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       983 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/sort_keys_score_with_query.log
         
     | 
| 
       984 
     | 
    
         
            -
            .. select Entries --match_columns content --query fast --sort_keys -_score --output_columns '_key, _score'
         
     | 
| 
       985 
     | 
    
         
            -
             
     | 
| 
       986 
     | 
    
         
            -
            The ``select`` command sorts matched records by hit score in
         
     | 
| 
       987 
     | 
    
         
            -
            descending order and outputs record key and hit score.
         
     | 
| 
       988 
     | 
    
         
            -
             
     | 
| 
       989 
     | 
    
         
            -
            If you use ``_score`` without ``query`` nor ``filter`` parameters,
         
     | 
| 
       990 
     | 
    
         
            -
            it's just ignored but get a warning in log file.
         
     | 
| 
       991 
     | 
    
         
            -
             
     | 
| 
       992 
     | 
    
         
            -
            .. _select-offset:
         
     | 
| 
       993 
     | 
    
         
            -
             
     | 
| 
       994 
     | 
    
         
            -
            ``offset``
         
     | 
| 
       995 
     | 
    
         
            -
            """"""""""
         
     | 
| 
       996 
     | 
    
         
            -
             
     | 
| 
       997 
     | 
    
         
            -
            Specifies offset to determine output records range. Offset is
         
     | 
| 
       998 
     | 
    
         
            -
            zero-based. ``--offset 1`` means output range is started from the 2nd
         
     | 
| 
       999 
     | 
    
         
            -
            record.
         
     | 
| 
       1000 
     | 
    
         
            -
             
     | 
| 
       1001 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       1002 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/offset_simple.log
         
     | 
| 
       1003 
     | 
    
         
            -
            .. select Entries --sort_keys _id --offset 3 --output_columns _key
         
     | 
| 
       1004 
     | 
    
         
            -
             
     | 
| 
       1005 
     | 
    
         
            -
            The ``select`` command outputs from the 4th record.
         
     | 
| 
       1006 
     | 
    
         
            -
             
     | 
| 
       1007 
     | 
    
         
            -
            You can specify negative value. It means that ``the number of matched
         
     | 
| 
       1008 
     | 
    
         
            -
            records + offset``. If you have 3 matched records and specify
         
     | 
| 
       1009 
     | 
    
         
            -
            ``--offset -2``, you get records from the 2nd (``3 + -2 = 1``. ``1``
         
     | 
| 
       1010 
     | 
    
         
            -
            means 2nd. Remember that offset is zero-based.) record to the 3rd
         
     | 
| 
       1011 
     | 
    
         
            -
            record.
         
     | 
| 
       1012 
     | 
    
         
            -
             
     | 
| 
       1013 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       1014 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/offset_negative.log
         
     | 
| 
       1015 
     | 
    
         
            -
            .. select Entries --sort_keys _id --offset -2 --output_columns _key
         
     | 
| 
       1016 
     | 
    
         
            -
             
     | 
| 
       1017 
     | 
    
         
            -
            The ``select`` command outputs from the 4th record because the total
         
     | 
| 
       1018 
     | 
    
         
            -
            number of records is ``5``.
         
     | 
| 
       1019 
     | 
    
         
            -
             
     | 
| 
       1020 
     | 
    
         
            -
            The default value is ``0``.
         
     | 
| 
       1021 
     | 
    
         
            -
             
     | 
| 
       1022 
     | 
    
         
            -
            .. _select-limit:
         
     | 
| 
       1023 
     | 
    
         
            -
             
     | 
| 
       1024 
     | 
    
         
            -
            ``limit``
         
     | 
| 
       1025 
     | 
    
         
            -
            """""""""
         
     | 
| 
       1026 
     | 
    
         
            -
             
     | 
| 
       1027 
     | 
    
         
            -
            Specifies the max number of output records. If the number of
         
     | 
| 
       1028 
     | 
    
         
            -
            matched records is less than ``limit``, all records are outputted.
         
     | 
| 
       1029 
     | 
    
         
            -
             
     | 
| 
       1030 
     | 
    
         
            -
            Here is a simple ``limit`` usage example.
         
     | 
| 
       1031 
     | 
    
         
            -
             
     | 
| 
       1032 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       1033 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/limit_simple.log
         
     | 
| 
       1034 
     | 
    
         
            -
            .. select Entries --sort_keys _id --offset 2 --limit 3 --output_columns _key
         
     | 
| 
       1035 
     | 
    
         
            -
             
     | 
| 
       1036 
     | 
    
         
            -
            The ``select`` command outputs the 3rd, the 4th and the 5th records.
         
     | 
| 
       1037 
     | 
    
         
            -
             
     | 
| 
       1038 
     | 
    
         
            -
            You can specify negative value. It means that ``the number of matched
         
     | 
| 
       1039 
     | 
    
         
            -
            records + limit + 1``. For example, ``--limit -1`` outputs all
         
     | 
| 
       1040 
     | 
    
         
            -
            records. It's very useful value to show all records.
         
     | 
| 
       1041 
     | 
    
         
            -
             
     | 
| 
       1042 
     | 
    
         
            -
            Here is a simple negative ``limit`` value usage example.
         
     | 
| 
       1043 
     | 
    
         
            -
             
     | 
| 
       1044 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       1045 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/limit_negative.log
         
     | 
| 
       1046 
     | 
    
         
            -
            .. select Entries --limit -1
         
     | 
| 
       1047 
     | 
    
         
            -
             
     | 
| 
       1048 
     | 
    
         
            -
            The ``select`` command outputs all records.
         
     | 
| 
       1049 
     | 
    
         
            -
             
     | 
| 
       1050 
     | 
    
         
            -
            The default value is ``10``.
         
     | 
| 
       1051 
     | 
    
         
            -
             
     | 
| 
       1052 
     | 
    
         
            -
            .. _select-scorer:
         
     | 
| 
       1053 
     | 
    
         
            -
             
     | 
| 
       1054 
     | 
    
         
            -
            ``scorer``
         
     | 
| 
       1055 
     | 
    
         
            -
            """"""""""
         
     | 
| 
       1056 
     | 
    
         
            -
             
     | 
| 
       1057 
     | 
    
         
            -
            TODO: write in English and add example.
         
     | 
| 
       1058 
     | 
    
         
            -
             
     | 
| 
       1059 
     | 
    
         
            -
            検索条件にマッチする全てのレコードに対して適用するgrn_exprをscript形式で指定します。
         
     | 
| 
       1060 
     | 
    
         
            -
             
     | 
| 
       1061 
     | 
    
         
            -
            scorerは、検索処理が完了し、ソート処理が実行される前に呼び出されます。従って、各レコードのスコアを操作する式を指定しておけば、検索結果のソート順序をカスタマイズできるようになります。
         
     | 
| 
       1062 
     | 
    
         
            -
             
     | 
| 
       1063 
     | 
    
         
            -
            .. _select-dynamic-column-related-parameters:
         
     | 
| 
       1064 
     | 
    
         
            -
             
     | 
| 
       1065 
     | 
    
         
            -
            Dynamic column related parameters
         
     | 
| 
       1066 
     | 
    
         
            -
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
         
     | 
| 
       1067 
     | 
    
         
            -
             
     | 
| 
       1068 
     | 
    
         
            -
            .. versionadded:: 6.0.6
         
     | 
| 
       1069 
     | 
    
         
            -
             
     | 
| 
       1070 
     | 
    
         
            -
            This section describes dynamic column related parameters. You can use
         
     | 
| 
       1071 
     | 
    
         
            -
            dynamic column for window function but this section doesn't describe
         
     | 
| 
       1072 
     | 
    
         
            -
            window function. See :ref:`select-window-function-related-parameters`
         
     | 
| 
       1073 
     | 
    
         
            -
            for window function.
         
     | 
| 
       1074 
     | 
    
         
            -
             
     | 
| 
       1075 
     | 
    
         
            -
            You can create zero or more columns and fill values into these columns
         
     | 
| 
       1076 
     | 
    
         
            -
            while a ``select`` execution. These columns are called as "dynamic
         
     | 
| 
       1077 
     | 
    
         
            -
            columns". You can use dynamic columns as same as normal columns after
         
     | 
| 
       1078 
     | 
    
         
            -
            dynamic columns are created.
         
     | 
| 
       1079 
     | 
    
         
            -
             
     | 
| 
       1080 
     | 
    
         
            -
            Dynamic column has performance merit because its values are computed
         
     | 
| 
       1081 
     | 
    
         
            -
            at once and reused computed values.
         
     | 
| 
       1082 
     | 
    
         
            -
             
     | 
| 
       1083 
     | 
    
         
            -
            Dynamic column increases memory usage because its values are kept
         
     | 
| 
       1084 
     | 
    
         
            -
            while the ``select`` execution.
         
     | 
| 
       1085 
     | 
    
         
            -
             
     | 
| 
       1086 
     | 
    
         
            -
            You need to use dynamic column in the following cases:
         
     | 
| 
       1087 
     | 
    
         
            -
             
     | 
| 
       1088 
     | 
    
         
            -
              * You want to name values like ``AS`` in SQL.
         
     | 
| 
       1089 
     | 
    
         
            -
             
     | 
| 
       1090 
     | 
    
         
            -
              * You want to use computed values for drilldown. Groonga doesn't
         
     | 
| 
       1091 
     | 
    
         
            -
                support drilldown target value computation in drilldown.
         
     | 
| 
       1092 
     | 
    
         
            -
             
     | 
| 
       1093 
     | 
    
         
            -
              * You want to use window function.
         
     | 
| 
       1094 
     | 
    
         
            -
             
     | 
| 
       1095 
     | 
    
         
            -
            There are some points to create dynamic columns. You must specify
         
     | 
| 
       1096 
     | 
    
         
            -
            ``stage`` to each dynamic column to control dynamic columns creation
         
     | 
| 
       1097 
     | 
    
         
            -
            points. It's important that you choose proper point to get better
         
     | 
| 
       1098 
     | 
    
         
            -
            performance.
         
     | 
| 
       1099 
     | 
    
         
            -
             
     | 
| 
       1100 
     | 
    
         
            -
            For example, it's not a good idea that you create a dynamic column
         
     | 
| 
       1101 
     | 
    
         
            -
            that is only used for output for all records. The number of output
         
     | 
| 
       1102 
     | 
    
         
            -
            records will be a little even if there are many records in a
         
     | 
| 
       1103 
     | 
    
         
            -
            table. Because you will filter, sort and limit all records and output
         
     | 
| 
       1104 
     | 
    
         
            -
            only the limited records in many cases.
         
     | 
| 
       1105 
     | 
    
         
            -
             
     | 
| 
       1106 
     | 
    
         
            -
            See :ref:`select-columns-name-stage` for ``stage`` detail.
         
     | 
| 
       1107 
     | 
    
         
            -
             
     | 
| 
       1108 
     | 
    
         
            -
            Here are parameters for dynamic column. They don't include window
         
     | 
| 
       1109 
     | 
    
         
            -
            function related parameters. See
         
     | 
| 
       1110 
     | 
    
         
            -
            :ref:`select-window-function-related-parameters` for window function
         
     | 
| 
       1111 
     | 
    
         
            -
            related parameters:
         
     | 
| 
       1112 
     | 
    
         
            -
             
     | 
| 
       1113 
     | 
    
         
            -
            .. list-table::
         
     | 
| 
       1114 
     | 
    
         
            -
               :header-rows: 1
         
     | 
| 
       1115 
     | 
    
         
            -
             
     | 
| 
       1116 
     | 
    
         
            -
               * - Name
         
     | 
| 
       1117 
     | 
    
         
            -
                 - Default value
         
     | 
| 
       1118 
     | 
    
         
            -
                 - Required or optional
         
     | 
| 
       1119 
     | 
    
         
            -
               * - ``columns[${NAME}].stage``
         
     | 
| 
       1120 
     | 
    
         
            -
                 - ``null``
         
     | 
| 
       1121 
     | 
    
         
            -
                 - Required
         
     | 
| 
       1122 
     | 
    
         
            -
               * - ``columns[${NAME}].flags``
         
     | 
| 
       1123 
     | 
    
         
            -
                 - ``COLUMN_SCALAR``
         
     | 
| 
       1124 
     | 
    
         
            -
                 - Optional
         
     | 
| 
       1125 
     | 
    
         
            -
               * - ``columns[${NAME}].type``
         
     | 
| 
       1126 
     | 
    
         
            -
                 - ``null``
         
     | 
| 
       1127 
     | 
    
         
            -
                 - Required
         
     | 
| 
       1128 
     | 
    
         
            -
               * - ``columns[${NAME}].value``
         
     | 
| 
       1129 
     | 
    
         
            -
                 - ``null``
         
     | 
| 
       1130 
     | 
    
         
            -
                 - Required
         
     | 
| 
       1131 
     | 
    
         
            -
             
     | 
| 
       1132 
     | 
    
         
            -
            You need to specify multiple parameters for a dynamic
         
     | 
| 
       1133 
     | 
    
         
            -
            column. ``${NAME}`` is the name for each dynamic column. Parameters
         
     | 
| 
       1134 
     | 
    
         
            -
            that use the same ``${NAME}`` are treated as parameters for the same
         
     | 
| 
       1135 
     | 
    
         
            -
            dynamic column. Here is an example to specify parameters for 2 dynamic
         
     | 
| 
       1136 
     | 
    
         
            -
            columns (``name1`` and ``name2``)::
         
     | 
| 
       1137 
     | 
    
         
            -
             
     | 
| 
       1138 
     | 
    
         
            -
                --columns[name1].stage initial
         
     | 
| 
       1139 
     | 
    
         
            -
                --columns[name1].type UInt32
         
     | 
| 
       1140 
     | 
    
         
            -
                --columns[name1].value 29
         
     | 
| 
       1141 
     | 
    
         
            -
             
     | 
| 
       1142 
     | 
    
         
            -
                --columns[name2].stage filtered
         
     | 
| 
       1143 
     | 
    
         
            -
                --columns[name2].type ShortText
         
     | 
| 
       1144 
     | 
    
         
            -
                --columns[name2].value "29"
         
     | 
| 
       1145 
     | 
    
         
            -
             
     | 
| 
       1146 
     | 
    
         
            -
            .. _select-columns-name-stage:
         
     | 
| 
       1147 
     | 
    
         
            -
             
     | 
| 
       1148 
     | 
    
         
            -
            ``columns[${NAME}].stage``
         
     | 
| 
       1149 
     | 
    
         
            -
            """"""""""""""""""""""""""
         
     | 
| 
       1150 
     | 
    
         
            -
             
     | 
| 
       1151 
     | 
    
         
            -
            .. versionadded:: 6.0.6
         
     | 
| 
       1152 
     | 
    
         
            -
             
     | 
| 
       1153 
     | 
    
         
            -
            Specifies when the dynamic column is created. This is a required
         
     | 
| 
       1154 
     | 
    
         
            -
            parameter to create a dynamic column.
         
     | 
| 
       1155 
     | 
    
         
            -
             
     | 
| 
       1156 
     | 
    
         
            -
            Here are available stages:
         
     | 
| 
       1157 
     | 
    
         
            -
             
     | 
| 
       1158 
     | 
    
         
            -
            .. list-table::
         
     | 
| 
       1159 
     | 
    
         
            -
               :header-rows: 1
         
     | 
| 
       1160 
     | 
    
         
            -
             
     | 
| 
       1161 
     | 
    
         
            -
               * - Name
         
     | 
| 
       1162 
     | 
    
         
            -
                 - Description
         
     | 
| 
       1163 
     | 
    
         
            -
               * - ``initial``
         
     | 
| 
       1164 
     | 
    
         
            -
                 - Dynamic column is created at first.
         
     | 
| 
       1165 
     | 
    
         
            -
               * - ``filtered``
         
     | 
| 
       1166 
     | 
    
         
            -
                 - Dynamic column is created after :ref:`select-query` and
         
     | 
| 
       1167 
     | 
    
         
            -
                   :ref:`select-filter` are evaluated.
         
     | 
| 
       1168 
     | 
    
         
            -
               * - ``output``
         
     | 
| 
       1169 
     | 
    
         
            -
                 - Dynamic column is created before :ref:`select-output-columns`
         
     | 
| 
       1170 
     | 
    
         
            -
                   is evaluated.
         
     | 
| 
       1171 
     | 
    
         
            -
             
     | 
| 
       1172 
     | 
    
         
            -
            Here is the ``select`` process flow with dynamic column creation
         
     | 
| 
       1173 
     | 
    
         
            -
            points. You should choose stage as late as possible:
         
     | 
| 
       1174 
     | 
    
         
            -
             
     | 
| 
       1175 
     | 
    
         
            -
              #. Creates dynamic columns for ``initial`` stage. All records have
         
     | 
| 
       1176 
     | 
    
         
            -
                 these dynamic columns.
         
     | 
| 
       1177 
     | 
    
         
            -
             
     | 
| 
       1178 
     | 
    
         
            -
              #. Evaluates :ref:`select-query` and :ref:`select-filter`. You can
         
     | 
| 
       1179 
     | 
    
         
            -
                 use dynamic columns created in ``initial`` stage.
         
     | 
| 
       1180 
     | 
    
         
            -
             
     | 
| 
       1181 
     | 
    
         
            -
              #. Creates dynamic columns for ``filtered`` stage. Only filtered
         
     | 
| 
       1182 
     | 
    
         
            -
                 records have these dynamic columns.
         
     | 
| 
       1183 
     | 
    
         
            -
             
     | 
| 
       1184 
     | 
    
         
            -
              #. Evaluates :ref:`select-adjuster`. You can use dynamic columns
         
     | 
| 
       1185 
     | 
    
         
            -
                 created in ``initial`` stage and ``filtered`` stage.
         
     | 
| 
       1186 
     | 
    
         
            -
             
     | 
| 
       1187 
     | 
    
         
            -
              #. Evaluates :ref:`select-scorer`. You can use dynamic columns
         
     | 
| 
       1188 
     | 
    
         
            -
                 created in ``initial`` stage and ``filtered`` stage.
         
     | 
| 
       1189 
     | 
    
         
            -
             
     | 
| 
       1190 
     | 
    
         
            -
              #. Evaluates :ref:`select-sort-keys`, :ref:`select-offset` and
         
     | 
| 
       1191 
     | 
    
         
            -
                 :ref:`select-limit`. You can use dynamic columns created in
         
     | 
| 
       1192 
     | 
    
         
            -
                 ``initial`` stage and ``filtered`` stage.
         
     | 
| 
       1193 
     | 
    
         
            -
             
     | 
| 
       1194 
     | 
    
         
            -
              #. Evaluates :ref:`select-slice-related-parameters`. You can use
         
     | 
| 
       1195 
     | 
    
         
            -
                 dynamic columns created in ``initial`` stage and ``filtered`` stage.
         
     | 
| 
       1196 
     | 
    
         
            -
             
     | 
| 
       1197 
     | 
    
         
            -
              #. Evaluates :ref:`select-drilldown-related-parameters` and
         
     | 
| 
       1198 
     | 
    
         
            -
                 :ref:`select-advanced-drilldown-related-parameters`. You can use
         
     | 
| 
       1199 
     | 
    
         
            -
                 dynamic columns created in ``initial`` stage and ``filtered`` stage.
         
     | 
| 
       1200 
     | 
    
         
            -
                 Note that you can create dynamic columns in each drilldown.
         
     | 
| 
       1201 
     | 
    
         
            -
             
     | 
| 
       1202 
     | 
    
         
            -
              #. Creates dynamic columns for ``output`` stage. Only
         
     | 
| 
       1203 
     | 
    
         
            -
                 :ref:`select-limit` records have these dynamic columns.
         
     | 
| 
       1204 
     | 
    
         
            -
             
     | 
| 
       1205 
     | 
    
         
            -
              #. Evaluates :ref:`select-output-columns`. You can use dynamic
         
     | 
| 
       1206 
     | 
    
         
            -
                 columns created in ``initial`` stage, ``filtered`` stage and
         
     | 
| 
       1207 
     | 
    
         
            -
                 ``output`` stage.
         
     | 
| 
       1208 
     | 
    
         
            -
             
     | 
| 
       1209 
     | 
    
         
            -
            Here is an example that creates ``is_popular`` column at ``initial``
         
     | 
| 
       1210 
     | 
    
         
            -
            stage. You can use ``is_popular`` in all parameters such as ``filter``
         
     | 
| 
       1211 
     | 
    
         
            -
            and ``output_columns``:
         
     | 
| 
       1212 
     | 
    
         
            -
             
     | 
| 
       1213 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       1214 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/columns_name_stage.log
         
     | 
| 
       1215 
     | 
    
         
            -
            .. select Entries \
         
     | 
| 
       1216 
     | 
    
         
            -
            ..   --columns[is_popular].stage initial \
         
     | 
| 
       1217 
     | 
    
         
            -
            ..   --columns[is_popular].type Bool \
         
     | 
| 
       1218 
     | 
    
         
            -
            ..   --columns[is_popular].value 'n_likes >= 10' \
         
     | 
| 
       1219 
     | 
    
         
            -
            ..   --filter is_popular \
         
     | 
| 
       1220 
     | 
    
         
            -
            ..   --output_columns _id,is_popular,n_likes
         
     | 
| 
       1221 
     | 
    
         
            -
             
     | 
| 
       1222 
     | 
    
         
            -
            .. _select-columns-name-flags:
         
     | 
| 
       1223 
     | 
    
         
            -
             
     | 
| 
       1224 
     | 
    
         
            -
            ``columns[${NAME}].flags``
         
     | 
| 
       1225 
     | 
    
         
            -
            """"""""""""""""""""""""""
         
     | 
| 
       1226 
     | 
    
         
            -
             
     | 
| 
       1227 
     | 
    
         
            -
            .. versionadded:: 6.0.6
         
     | 
| 
       1228 
     | 
    
         
            -
             
     | 
| 
       1229 
     | 
    
         
            -
            Specifies flags for the dynamic column. It's the same as ``flags``
         
     | 
| 
       1230 
     | 
    
         
            -
            parameter for :doc:`column_create`. See :ref:`column-create-flags` for
         
     | 
| 
       1231 
     | 
    
         
            -
            available flags.
         
     | 
| 
       1232 
     | 
    
         
            -
             
     | 
| 
       1233 
     | 
    
         
            -
            The default value is ``COLUMN_SCALAR``.
         
     | 
| 
       1234 
     | 
    
         
            -
             
     | 
| 
       1235 
     | 
    
         
            -
            Here is a ``columns[${NAME}].flags`` example. It creates a vector
         
     | 
| 
       1236 
     | 
    
         
            -
            column by ``COLUMN_VECTOR`` flags. ``plugin_register
         
     | 
| 
       1237 
     | 
    
         
            -
            functions/vector`` is for using :doc:`/reference/functions/vector_new`
         
     | 
| 
       1238 
     | 
    
         
            -
            function:
         
     | 
| 
       1239 
     | 
    
         
            -
             
     | 
| 
       1240 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       1241 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/columns_name_flags.log
         
     | 
| 
       1242 
     | 
    
         
            -
            .. plugin_register functions/vector
         
     | 
| 
       1243 
     | 
    
         
            -
            .. select Entries \
         
     | 
| 
       1244 
     | 
    
         
            -
            ..   --columns[vector].stage initial \
         
     | 
| 
       1245 
     | 
    
         
            -
            ..   --columns[vector].flags COLUMN_VECTOR \
         
     | 
| 
       1246 
     | 
    
         
            -
            ..   --columns[vector].type UInt32 \
         
     | 
| 
       1247 
     | 
    
         
            -
            ..   --columns[vector].value 'vector_new(1, 2, 3)' \
         
     | 
| 
       1248 
     | 
    
         
            -
            ..   --output_columns _id,vector
         
     | 
| 
       1249 
     | 
    
         
            -
             
     | 
| 
       1250 
     | 
    
         
            -
            .. _select-columns-name-type:
         
     | 
| 
       1251 
     | 
    
         
            -
             
     | 
| 
       1252 
     | 
    
         
            -
            ``columns[${NAME}].type``
         
     | 
| 
       1253 
     | 
    
         
            -
            """""""""""""""""""""""""
         
     | 
| 
       1254 
     | 
    
         
            -
             
     | 
| 
       1255 
     | 
    
         
            -
            .. versionadded:: 6.0.6
         
     | 
| 
       1256 
     | 
    
         
            -
             
     | 
| 
       1257 
     | 
    
         
            -
            Specifies value type for the dynamic column. It's the same as ``type``
         
     | 
| 
       1258 
     | 
    
         
            -
            parameter for :doc:`column_create`. See :ref:`column-create-type` for
         
     | 
| 
       1259 
     | 
    
         
            -
            available types.
         
     | 
| 
       1260 
     | 
    
         
            -
             
     | 
| 
       1261 
     | 
    
         
            -
            This is a required parameter.
         
     | 
| 
       1262 
     | 
    
         
            -
             
     | 
| 
       1263 
     | 
    
         
            -
            Here is an example that creates a ``ShortText`` type column. Stored
         
     | 
| 
       1264 
     | 
    
         
            -
            value is casted to ``ShortText`` automatically. In this example,
         
     | 
| 
       1265 
     | 
    
         
            -
            number is casted to ``ShortText``:
         
     | 
| 
       1266 
     | 
    
         
            -
             
     | 
| 
       1267 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       1268 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/columns_name_type.log
         
     | 
| 
       1269 
     | 
    
         
            -
            .. select Entries \
         
     | 
| 
       1270 
     | 
    
         
            -
            ..   --columns[n_likes_string].stage initial \
         
     | 
| 
       1271 
     | 
    
         
            -
            ..   --columns[n_likes_string].type ShortText \
         
     | 
| 
       1272 
     | 
    
         
            -
            ..   --columns[n_likes_string].value n_likes \
         
     | 
| 
       1273 
     | 
    
         
            -
            ..   --output_columns _id,n_likes,n_likes_string
         
     | 
| 
       1274 
     | 
    
         
            -
             
     | 
| 
       1275 
     | 
    
         
            -
            .. _select-columns-name-value:
         
     | 
| 
       1276 
     | 
    
         
            -
             
     | 
| 
       1277 
     | 
    
         
            -
            ``columns[${NAME}].value``
         
     | 
| 
       1278 
     | 
    
         
            -
            """"""""""""""""""""""""""
         
     | 
| 
       1279 
     | 
    
         
            -
             
     | 
| 
       1280 
     | 
    
         
            -
            .. versionadded:: 6.0.6
         
     | 
| 
       1281 
     | 
    
         
            -
             
     | 
| 
       1282 
     | 
    
         
            -
            Specifies expression that generates values for the dynamic column. The
         
     | 
| 
       1283 
     | 
    
         
            -
            expression uses :doc:`/reference/grn_expr/script_syntax`. It's the
         
     | 
| 
       1284 
     | 
    
         
            -
            same syntax in :ref:`select-filter`. For example, ``1 + 1``,
         
     | 
| 
       1285 
     | 
    
         
            -
            ``string_length("Hello")``, ``column * 1.08`` and so on are valid
         
     | 
| 
       1286 
     | 
    
         
            -
            expressions.
         
     | 
| 
       1287 
     | 
    
         
            -
             
     | 
| 
       1288 
     | 
    
         
            -
            You need to specify :doc:`/reference/window_function` as ``value``
         
     | 
| 
       1289 
     | 
    
         
            -
            value and other window function related parameters when you use window
         
     | 
| 
       1290 
     | 
    
         
            -
            function. See :ref:`select-window-function-related-parameters` for
         
     | 
| 
       1291 
     | 
    
         
            -
            details.
         
     | 
| 
       1292 
     | 
    
         
            -
             
     | 
| 
       1293 
     | 
    
         
            -
            This is a required parameter.
         
     | 
| 
       1294 
     | 
    
         
            -
             
     | 
| 
       1295 
     | 
    
         
            -
            Here is an example that creates a new dynamic column that stores the
         
     | 
| 
       1296 
     | 
    
         
            -
            number of characters of content. This example uses
         
     | 
| 
       1297 
     | 
    
         
            -
            :doc:`/reference/functions/string_length` function in
         
     | 
| 
       1298 
     | 
    
         
            -
            ``functions/string`` plugin to compute the number of characters in a
         
     | 
| 
       1299 
     | 
    
         
            -
            string. :doc:`plugin_register` is used to register
         
     | 
| 
       1300 
     | 
    
         
            -
            ``functions/string`` plugin:
         
     | 
| 
       1301 
     | 
    
         
            -
             
     | 
| 
       1302 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       1303 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/columns_name_value.log
         
     | 
| 
       1304 
     | 
    
         
            -
            .. plugin_register functions/string
         
     | 
| 
       1305 
     | 
    
         
            -
            .. select Entries \
         
     | 
| 
       1306 
     | 
    
         
            -
            ..   --columns[content_length].stage initial \
         
     | 
| 
       1307 
     | 
    
         
            -
            ..   --columns[content_length].type UInt32 \
         
     | 
| 
       1308 
     | 
    
         
            -
            ..   --columns[content_length].value 'string_length(content)' \
         
     | 
| 
       1309 
     | 
    
         
            -
            ..   --output_columns _id,content,content_length
         
     | 
| 
       1310 
     | 
    
         
            -
             
     | 
| 
       1311 
     | 
    
         
            -
            .. _select-window-function-related-parameters:
         
     | 
| 
       1312 
     | 
    
         
            -
             
     | 
| 
       1313 
     | 
    
         
            -
            Window function related parameters
         
     | 
| 
       1314 
     | 
    
         
            -
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
         
     | 
| 
       1315 
     | 
    
         
            -
             
     | 
| 
       1316 
     | 
    
         
            -
            .. versionadded:: 6.0.6
         
     | 
| 
       1317 
     | 
    
         
            -
             
     | 
| 
       1318 
     | 
    
         
            -
            This section describes window function related parameters. You need to
         
     | 
| 
       1319 
     | 
    
         
            -
            use dynamic column for using window function. See
         
     | 
| 
       1320 
     | 
    
         
            -
            :ref:`select-dynamic-column-related-parameters` for dynamic column.
         
     | 
| 
       1321 
     | 
    
         
            -
             
     | 
| 
       1322 
     | 
    
         
            -
            Window function in Groonga is similar to window function in
         
     | 
| 
       1323 
     | 
    
         
            -
            SQL. Normal function computes its result with only the current
         
     | 
| 
       1324 
     | 
    
         
            -
            record. On the other hand, window function computes its result with
         
     | 
| 
       1325 
     | 
    
         
            -
            multiple records. Window function is useful to data analysis because
         
     | 
| 
       1326 
     | 
    
         
            -
            it can process multiple records.
         
     | 
| 
       1327 
     | 
    
         
            -
             
     | 
| 
       1328 
     | 
    
         
            -
            You can find supported window functions at
         
     | 
| 
       1329 
     | 
    
         
            -
            :doc:`/reference/window_function`. For example,
         
     | 
| 
       1330 
     | 
    
         
            -
            :doc:`/reference/window_functions/window_sum` is a window function. It
         
     | 
| 
       1331 
     | 
    
         
            -
            sums numbers in the target records.
         
     | 
| 
       1332 
     | 
    
         
            -
             
     | 
| 
       1333 
     | 
    
         
            -
            Window function processes records that are grouped by the specified
         
     | 
| 
       1334 
     | 
    
         
            -
            group keys. For example, window function processes three groups
         
     | 
| 
       1335 
     | 
    
         
            -
            (``Hello`` group, ``Groonga`` group and ``Senna`` group) in the
         
     | 
| 
       1336 
     | 
    
         
            -
            following case. :doc:`/reference/window_functions/window_sum` sums
         
     | 
| 
       1337 
     | 
    
         
            -
            ``n_likes`` values in each group:
         
     | 
| 
       1338 
     | 
    
         
            -
             
     | 
| 
       1339 
     | 
    
         
            -
            .. list-table::
         
     | 
| 
       1340 
     | 
    
         
            -
               :header-rows: 1
         
     | 
| 
       1341 
     | 
    
         
            -
             
     | 
| 
       1342 
     | 
    
         
            -
               * - Group No.
         
     | 
| 
       1343 
     | 
    
         
            -
                 - Group key value
         
     | 
| 
       1344 
     | 
    
         
            -
                 - ``n_likes`` value
         
     | 
| 
       1345 
     | 
    
         
            -
                 - :doc:`/reference/window_functions/window_sum` result
         
     | 
| 
       1346 
     | 
    
         
            -
               * - 1
         
     | 
| 
       1347 
     | 
    
         
            -
                 - ``Hello``
         
     | 
| 
       1348 
     | 
    
         
            -
                 - 5
         
     | 
| 
       1349 
     | 
    
         
            -
                 - 5
         
     | 
| 
       1350 
     | 
    
         
            -
               * - 2
         
     | 
| 
       1351 
     | 
    
         
            -
                 - ``Groonga``
         
     | 
| 
       1352 
     | 
    
         
            -
                 - 10
         
     | 
| 
       1353 
     | 
    
         
            -
                 - 25
         
     | 
| 
       1354 
     | 
    
         
            -
               * - 2
         
     | 
| 
       1355 
     | 
    
         
            -
                 - ``Groonga``
         
     | 
| 
       1356 
     | 
    
         
            -
                 - 15
         
     | 
| 
       1357 
     | 
    
         
            -
                 - 25
         
     | 
| 
       1358 
     | 
    
         
            -
               * - 3
         
     | 
| 
       1359 
     | 
    
         
            -
                 - ``Senna``
         
     | 
| 
       1360 
     | 
    
         
            -
                 - 3
         
     | 
| 
       1361 
     | 
    
         
            -
                 - 6
         
     | 
| 
       1362 
     | 
    
         
            -
               * - 3
         
     | 
| 
       1363 
     | 
    
         
            -
                 - ``Senna``
         
     | 
| 
       1364 
     | 
    
         
            -
                 - 3
         
     | 
| 
       1365 
     | 
    
         
            -
                 - 6
         
     | 
| 
       1366 
     | 
    
         
            -
             
     | 
| 
       1367 
     | 
    
         
            -
            You can specify no group keys. In the case, window function processes
         
     | 
| 
       1368 
     | 
    
         
            -
            only one group that includes all
         
     | 
| 
       1369 
     | 
    
         
            -
            records. :doc:`/reference/window_functions/window_sum` sums all
         
     | 
| 
       1370 
     | 
    
         
            -
            ``n_likes`` values in the following case:
         
     | 
| 
       1371 
     | 
    
         
            -
             
     | 
| 
       1372 
     | 
    
         
            -
            .. list-table::
         
     | 
| 
       1373 
     | 
    
         
            -
               :header-rows: 1
         
     | 
| 
       1374 
     | 
    
         
            -
             
     | 
| 
       1375 
     | 
    
         
            -
               * - Group No.
         
     | 
| 
       1376 
     | 
    
         
            -
                 - ``n_likes`` value
         
     | 
| 
       1377 
     | 
    
         
            -
                 - :doc:`/reference/window_functions/window_sum` result
         
     | 
| 
       1378 
     | 
    
         
            -
               * - 1
         
     | 
| 
       1379 
     | 
    
         
            -
                 - 5
         
     | 
| 
       1380 
     | 
    
         
            -
                 - 36
         
     | 
| 
       1381 
     | 
    
         
            -
               * - 1
         
     | 
| 
       1382 
     | 
    
         
            -
                 - 10
         
     | 
| 
       1383 
     | 
    
         
            -
                 - 36
         
     | 
| 
       1384 
     | 
    
         
            -
               * - 1
         
     | 
| 
       1385 
     | 
    
         
            -
                 - 15
         
     | 
| 
       1386 
     | 
    
         
            -
                 - 36
         
     | 
| 
       1387 
     | 
    
         
            -
               * - 1
         
     | 
| 
       1388 
     | 
    
         
            -
                 - 3
         
     | 
| 
       1389 
     | 
    
         
            -
                 - 36
         
     | 
| 
       1390 
     | 
    
         
            -
               * - 1
         
     | 
| 
       1391 
     | 
    
         
            -
                 - 3
         
     | 
| 
       1392 
     | 
    
         
            -
                 - 36
         
     | 
| 
       1393 
     | 
    
         
            -
             
     | 
| 
       1394 
     | 
    
         
            -
            Window function processes records in each group in the specified
         
     | 
| 
       1395 
     | 
    
         
            -
            order. You can specify no sort keys like the above group keys
         
     | 
| 
       1396 
     | 
    
         
            -
            example.
         
     | 
| 
       1397 
     | 
    
         
            -
             
     | 
| 
       1398 
     | 
    
         
            -
            The behavior when you specify no sort keys depends on each window
         
     | 
| 
       1399 
     | 
    
         
            -
            function specification. For example,
         
     | 
| 
       1400 
     | 
    
         
            -
            :doc:`/reference/window_functions/window_sum` uses different behavior
         
     | 
| 
       1401 
     | 
    
         
            -
            whether sort keys are specified or not. If you specify not sort keys,
         
     | 
| 
       1402 
     | 
    
         
            -
            :doc:`/reference/window_functions/window_sum` sums values of all
         
     | 
| 
       1403 
     | 
    
         
            -
            records in the group and puts it to all target records like the above
         
     | 
| 
       1404 
     | 
    
         
            -
            group keys example. If you specify sort keys,
         
     | 
| 
       1405 
     | 
    
         
            -
            :doc:`/reference/window_functions/window_sum` behaves as cumulative
         
     | 
| 
       1406 
     | 
    
         
            -
            sum. :doc:`/reference/window_functions/window_sum` sums values of all
         
     | 
| 
       1407 
     | 
    
         
            -
            records in the group in sequence and puts the current sum to the
         
     | 
| 
       1408 
     | 
    
         
            -
            current record like the following:
         
     | 
| 
       1409 
     | 
    
         
            -
             
     | 
| 
       1410 
     | 
    
         
            -
            .. list-table::
         
     | 
| 
       1411 
     | 
    
         
            -
               :header-rows: 1
         
     | 
| 
       1412 
     | 
    
         
            -
             
     | 
| 
       1413 
     | 
    
         
            -
               * - Group No.
         
     | 
| 
       1414 
     | 
    
         
            -
                 - Group key value
         
     | 
| 
       1415 
     | 
    
         
            -
                 - Sort key value
         
     | 
| 
       1416 
     | 
    
         
            -
                 - ``n_likes`` value
         
     | 
| 
       1417 
     | 
    
         
            -
                 - :doc:`/reference/window_functions/window_sum` result
         
     | 
| 
       1418 
     | 
    
         
            -
                 - Note
         
     | 
| 
       1419 
     | 
    
         
            -
               * - 1
         
     | 
| 
       1420 
     | 
    
         
            -
                 - ``Hello``
         
     | 
| 
       1421 
     | 
    
         
            -
                 - 1
         
     | 
| 
       1422 
     | 
    
         
            -
                 - 5
         
     | 
| 
       1423 
     | 
    
         
            -
                 - 5
         
     | 
| 
       1424 
     | 
    
         
            -
                 - The first record in group No. 1. (``5 = 5``)
         
     | 
| 
       1425 
     | 
    
         
            -
               * - 2
         
     | 
| 
       1426 
     | 
    
         
            -
                 - ``Groonga``
         
     | 
| 
       1427 
     | 
    
         
            -
                 - 90
         
     | 
| 
       1428 
     | 
    
         
            -
                 - 10
         
     | 
| 
       1429 
     | 
    
         
            -
                 - 10
         
     | 
| 
       1430 
     | 
    
         
            -
                 - The first record in group No. 2. (``10 = 10``)
         
     | 
| 
       1431 
     | 
    
         
            -
               * - 2
         
     | 
| 
       1432 
     | 
    
         
            -
                 - ``Groonga``
         
     | 
| 
       1433 
     | 
    
         
            -
                 - 91
         
     | 
| 
       1434 
     | 
    
         
            -
                 - 15
         
     | 
| 
       1435 
     | 
    
         
            -
                 - 25
         
     | 
| 
       1436 
     | 
    
         
            -
                 - The second record in group No. 2. (``10 + 15 = 25``)
         
     | 
| 
       1437 
     | 
    
         
            -
               * - 3
         
     | 
| 
       1438 
     | 
    
         
            -
                 - ``Senna``
         
     | 
| 
       1439 
     | 
    
         
            -
                 - 200
         
     | 
| 
       1440 
     | 
    
         
            -
                 - 3
         
     | 
| 
       1441 
     | 
    
         
            -
                 - 8
         
     | 
| 
       1442 
     | 
    
         
            -
                 - The second record in group No. 3. (``5 + 3 = 8``)
         
     | 
| 
       1443 
     | 
    
         
            -
               * - 3
         
     | 
| 
       1444 
     | 
    
         
            -
                 - ``Senna``
         
     | 
| 
       1445 
     | 
    
         
            -
                 - 100
         
     | 
| 
       1446 
     | 
    
         
            -
                 - 5
         
     | 
| 
       1447 
     | 
    
         
            -
                 - 5
         
     | 
| 
       1448 
     | 
    
         
            -
                 - The first record in group No. 3. (``5 = 5``)
         
     | 
| 
       1449 
     | 
    
         
            -
             
     | 
| 
       1450 
     | 
    
         
            -
            Here are parameters for window function. You need to specify both
         
     | 
| 
       1451 
     | 
    
         
            -
            window function related parameters and required dynamic columns
         
     | 
| 
       1452 
     | 
    
         
            -
            parameters. Because window function is implemented based on dynamic
         
     | 
| 
       1453 
     | 
    
         
            -
            column. See :ref:`select-dynamic-column-related-parameters` for
         
     | 
| 
       1454 
     | 
    
         
            -
            dynamic column related parameters:
         
     | 
| 
       1455 
     | 
    
         
            -
             
     | 
| 
       1456 
     | 
    
         
            -
            .. list-table::
         
     | 
| 
       1457 
     | 
    
         
            -
               :header-rows: 1
         
     | 
| 
       1458 
     | 
    
         
            -
             
     | 
| 
       1459 
     | 
    
         
            -
               * - Name
         
     | 
| 
       1460 
     | 
    
         
            -
                 - Required or optional
         
     | 
| 
       1461 
     | 
    
         
            -
                 - Note
         
     | 
| 
       1462 
     | 
    
         
            -
               * - ``columns[${NAME}].value``
         
     | 
| 
       1463 
     | 
    
         
            -
                 - Required
         
     | 
| 
       1464 
     | 
    
         
            -
                 - Use :doc:`/reference/window_function`.
         
     | 
| 
       1465 
     | 
    
         
            -
               * - ``columns[${NAME}].window.sort_keys``
         
     | 
| 
       1466 
     | 
    
         
            -
                 - Required if ``columns[${NAME}].window.group_keys`` isn't specified.
         
     | 
| 
       1467 
     | 
    
         
            -
                 -
         
     | 
| 
       1468 
     | 
    
         
            -
               * - ``columns[${NAME}].window.group_keys``
         
     | 
| 
       1469 
     | 
    
         
            -
                 - Required if ``columns[${NAME}].window.sort_keys`` isn't specified.
         
     | 
| 
       1470 
     | 
    
         
            -
                 -
         
     | 
| 
       1471 
     | 
    
         
            -
             
     | 
| 
       1472 
     | 
    
         
            -
            .. _select-columns-name-window-sort-keys:
         
     | 
| 
       1473 
     | 
    
         
            -
             
     | 
| 
       1474 
     | 
    
         
            -
            ``columns[${NAME}].window.sort_keys``
         
     | 
| 
       1475 
     | 
    
         
            -
            """""""""""""""""""""""""""""""""""""
         
     | 
| 
       1476 
     | 
    
         
            -
             
     | 
| 
       1477 
     | 
    
         
            -
            .. versionadded:: 6.0.6
         
     | 
| 
       1478 
     | 
    
         
            -
             
     | 
| 
       1479 
     | 
    
         
            -
            Specifies sort keys in each group. Window function processes records
         
     | 
| 
       1480 
     | 
    
         
            -
            in each group in the specified order.
         
     | 
| 
       1481 
     | 
    
         
            -
             
     | 
| 
       1482 
     | 
    
         
            -
            Sort keys are separated by ``,``. Each sort key is column name. It's
         
     | 
| 
       1483 
     | 
    
         
            -
            the same as :ref:`select-sort-keys`.
         
     | 
| 
       1484 
     | 
    
         
            -
             
     | 
| 
       1485 
     | 
    
         
            -
            You must specify :ref:`select-columns-name-window-sort-keys` or
         
     | 
| 
       1486 
     | 
    
         
            -
            :ref:`select-columns-name-window-group-keys` to use window function.
         
     | 
| 
       1487 
     | 
    
         
            -
             
     | 
| 
       1488 
     | 
    
         
            -
            Here is an example that computes cumulative sum per
         
     | 
| 
       1489 
     | 
    
         
            -
            ``Entries.tag``. Each group is sorted by ``Entries._key``:
         
     | 
| 
       1490 
     | 
    
         
            -
             
     | 
| 
       1491 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       1492 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/columns_name_window_sort_keys.log
         
     | 
| 
       1493 
     | 
    
         
            -
            .. select \
         
     | 
| 
       1494 
     | 
    
         
            -
            ..   --table Entries \
         
     | 
| 
       1495 
     | 
    
         
            -
            ..   --columns[n_likes_cumulative_sum_per_tag].stage initial \
         
     | 
| 
       1496 
     | 
    
         
            -
            ..   --columns[n_likes_cumulative_sum_per_tag].type UInt32 \
         
     | 
| 
       1497 
     | 
    
         
            -
            ..   --columns[n_likes_cumulative_sum_per_tag].value 'window_sum(n_likes)' \
         
     | 
| 
       1498 
     | 
    
         
            -
            ..   --columns[n_likes_cumulative_sum_per_tag].window.sort_keys _key \
         
     | 
| 
       1499 
     | 
    
         
            -
            ..   --columns[n_likes_cumulative_sum_per_tag].window.group_keys tag \
         
     | 
| 
       1500 
     | 
    
         
            -
            ..   --sort_keys _key \
         
     | 
| 
       1501 
     | 
    
         
            -
            ..   --output_columns tag,_key,n_likes,n_likes_cumulative_sum_per_tag
         
     | 
| 
       1502 
     | 
    
         
            -
             
     | 
| 
       1503 
     | 
    
         
            -
            .. _select-columns-name-window-group-keys:
         
     | 
| 
       1504 
     | 
    
         
            -
             
     | 
| 
       1505 
     | 
    
         
            -
            ``columns[${NAME}].window.group_keys``
         
     | 
| 
       1506 
     | 
    
         
            -
            """"""""""""""""""""""""""""""""""""""
         
     | 
| 
       1507 
     | 
    
         
            -
             
     | 
| 
       1508 
     | 
    
         
            -
            .. versionadded:: 7.0.0
         
     | 
| 
       1509 
     | 
    
         
            -
             
     | 
| 
       1510 
     | 
    
         
            -
            Specifies group keys. Window function processes records in each
         
     | 
| 
       1511 
     | 
    
         
            -
            group. If you specify no group keys, window function processes one
         
     | 
| 
       1512 
     | 
    
         
            -
            group that includes all records.
         
     | 
| 
       1513 
     | 
    
         
            -
             
     | 
| 
       1514 
     | 
    
         
            -
            Group keys are separated by ``,``. Each group key is column name. It's
         
     | 
| 
       1515 
     | 
    
         
            -
            the same as :ref:`select-drilldown`.
         
     | 
| 
       1516 
     | 
    
         
            -
             
     | 
| 
       1517 
     | 
    
         
            -
            You must specify :ref:`select-columns-name-window-sort-keys` or
         
     | 
| 
       1518 
     | 
    
         
            -
            :ref:`select-columns-name-window-group-keys` to use window function.
         
     | 
| 
       1519 
     | 
    
         
            -
             
     | 
| 
       1520 
     | 
    
         
            -
            Here is an example that computes sum per ``Entries.tag``:
         
     | 
| 
       1521 
     | 
    
         
            -
             
     | 
| 
       1522 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       1523 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/columns_name_window_group_keys.log
         
     | 
| 
       1524 
     | 
    
         
            -
            .. select \
         
     | 
| 
       1525 
     | 
    
         
            -
            ..   --table Entries \
         
     | 
| 
       1526 
     | 
    
         
            -
            ..   --columns[n_likes_sum_per_tag].stage initial \
         
     | 
| 
       1527 
     | 
    
         
            -
            ..   --columns[n_likes_sum_per_tag].type UInt32 \
         
     | 
| 
       1528 
     | 
    
         
            -
            ..   --columns[n_likes_sum_per_tag].value 'window_sum(n_likes)' \
         
     | 
| 
       1529 
     | 
    
         
            -
            ..   --columns[n_likes_sum_per_tag].window.group_keys tag \
         
     | 
| 
       1530 
     | 
    
         
            -
            ..   --sort_keys _key \
         
     | 
| 
       1531 
     | 
    
         
            -
            ..   --output_columns tag,_key,n_likes,n_likes_sum_per_tag
         
     | 
| 
       1532 
     | 
    
         
            -
             
     | 
| 
       1533 
     | 
    
         
            -
            .. _select-drilldown-related-parameters:
         
     | 
| 
       1534 
     | 
    
         
            -
             
     | 
| 
       1535 
     | 
    
         
            -
            Drilldown related parameters
         
     | 
| 
       1536 
     | 
    
         
            -
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
         
     | 
| 
       1537 
     | 
    
         
            -
             
     | 
| 
       1538 
     | 
    
         
            -
            This section describes basic drilldown related parameters. Advanced
         
     | 
| 
       1539 
     | 
    
         
            -
            drilldown related parameters are described in another section.
         
     | 
| 
       1540 
     | 
    
         
            -
             
     | 
| 
       1541 
     | 
    
         
            -
            .. _select-drilldown:
         
     | 
| 
       1542 
     | 
    
         
            -
             
     | 
| 
       1543 
     | 
    
         
            -
            ``drilldown``
         
     | 
| 
       1544 
     | 
    
         
            -
            """""""""""""
         
     | 
| 
       1545 
     | 
    
         
            -
             
     | 
| 
       1546 
     | 
    
         
            -
            Specifies keys for grouping separated by ``,``.
         
     | 
| 
       1547 
     | 
    
         
            -
             
     | 
| 
       1548 
     | 
    
         
            -
            Matched records by specified search conditions are grouped by each
         
     | 
| 
       1549 
     | 
    
         
            -
            key. If you specify no search condition, all records are grouped by
         
     | 
| 
       1550 
     | 
    
         
            -
            each key.
         
     | 
| 
       1551 
     | 
    
         
            -
             
     | 
| 
       1552 
     | 
    
         
            -
            Here is a simple ``drilldown`` example:
         
     | 
| 
       1553 
     | 
    
         
            -
             
     | 
| 
       1554 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       1555 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/drilldown_simple.log
         
     | 
| 
       1556 
     | 
    
         
            -
            .. select Entries \
         
     | 
| 
       1557 
     | 
    
         
            -
            ..   --output_columns _key,tag \
         
     | 
| 
       1558 
     | 
    
         
            -
            ..   --drilldown tag
         
     | 
| 
       1559 
     | 
    
         
            -
             
     | 
| 
       1560 
     | 
    
         
            -
            The ``select`` command outputs the following information:
         
     | 
| 
       1561 
     | 
    
         
            -
             
     | 
| 
       1562 
     | 
    
         
            -
              * There is one record that has "Hello" tag.
         
     | 
| 
       1563 
     | 
    
         
            -
              * There is two records that has "Groonga" tag.
         
     | 
| 
       1564 
     | 
    
         
            -
              * There is two records that has "Senna" tag.
         
     | 
| 
       1565 
     | 
    
         
            -
             
     | 
| 
       1566 
     | 
    
         
            -
            Here is a ``drilldown`` with search condition example:
         
     | 
| 
       1567 
     | 
    
         
            -
             
     | 
| 
       1568 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       1569 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/drilldown_with_filter.log
         
     | 
| 
       1570 
     | 
    
         
            -
            .. select Entries \
         
     | 
| 
       1571 
     | 
    
         
            -
            ..   --output_columns _key,tag \
         
     | 
| 
       1572 
     | 
    
         
            -
            ..   --filter 'n_likes >= 5' \
         
     | 
| 
       1573 
     | 
    
         
            -
            ..   --drilldown tag
         
     | 
| 
       1574 
     | 
    
         
            -
             
     | 
| 
       1575 
     | 
    
         
            -
            The ``select`` command outputs the following information:
         
     | 
| 
       1576 
     | 
    
         
            -
             
     | 
| 
       1577 
     | 
    
         
            -
              * In records that have 5 or larger as ``n_likes`` value:
         
     | 
| 
       1578 
     | 
    
         
            -
             
     | 
| 
       1579 
     | 
    
         
            -
                * There is one record that has "Hello" tag.
         
     | 
| 
       1580 
     | 
    
         
            -
                * There is two records that has "Groonga" tag.
         
     | 
| 
       1581 
     | 
    
         
            -
             
     | 
| 
       1582 
     | 
    
         
            -
            Here is a ``drilldown`` with multiple group keys example:
         
     | 
| 
       1583 
     | 
    
         
            -
             
     | 
| 
       1584 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       1585 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/drilldown_multiple.log
         
     | 
| 
       1586 
     | 
    
         
            -
            .. select Entries \
         
     | 
| 
       1587 
     | 
    
         
            -
            ..   --limit 0 \
         
     | 
| 
       1588 
     | 
    
         
            -
            ..   --output_columns _id \
         
     | 
| 
       1589 
     | 
    
         
            -
            ..   --drilldown tag,n_likes
         
     | 
| 
       1590 
     | 
    
         
            -
             
     | 
| 
       1591 
     | 
    
         
            -
            The ``select`` command outputs the following information:
         
     | 
| 
       1592 
     | 
    
         
            -
             
     | 
| 
       1593 
     | 
    
         
            -
              * About ``tag``:
         
     | 
| 
       1594 
     | 
    
         
            -
             
     | 
| 
       1595 
     | 
    
         
            -
                * There is one record that has "Hello" tag.
         
     | 
| 
       1596 
     | 
    
         
            -
                * There is two records that has "Groonga" tag.
         
     | 
| 
       1597 
     | 
    
         
            -
                * There is two records that has "Senna" tag.
         
     | 
| 
       1598 
     | 
    
         
            -
             
     | 
| 
       1599 
     | 
    
         
            -
              * About ``n_likes``:
         
     | 
| 
       1600 
     | 
    
         
            -
             
     | 
| 
       1601 
     | 
    
         
            -
                * There is one record that has "Hello" tag.
         
     | 
| 
       1602 
     | 
    
         
            -
                * There is two records that has "Groonga" tag.
         
     | 
| 
       1603 
     | 
    
         
            -
                * There is two records that has "Senna" tag.
         
     | 
| 
       1604 
     | 
    
         
            -
             
     | 
| 
       1605 
     | 
    
         
            -
            .. _select-drilldown-sortby:
         
     | 
| 
       1606 
     | 
    
         
            -
             
     | 
| 
       1607 
     | 
    
         
            -
            ``drilldown_sortby``
         
     | 
| 
       1608 
     | 
    
         
            -
            """"""""""""""""""""
         
     | 
| 
       1609 
     | 
    
         
            -
             
     | 
| 
       1610 
     | 
    
         
            -
            .. deprecated:: 6.0.3
         
     | 
| 
       1611 
     | 
    
         
            -
               Use :ref:`select-drilldown-sort-keys` instead.
         
     | 
| 
       1612 
     | 
    
         
            -
             
     | 
| 
       1613 
     | 
    
         
            -
            .. _select-drilldown-sort-keys:
         
     | 
| 
       1614 
     | 
    
         
            -
             
     | 
| 
       1615 
     | 
    
         
            -
            ``drilldown_sort_keys``
         
     | 
| 
       1616 
     | 
    
         
            -
            """""""""""""""""""""""
         
     | 
| 
       1617 
     | 
    
         
            -
             
     | 
| 
       1618 
     | 
    
         
            -
            Specifies sort keys for drilldown outputs separated by ``,``. Each
         
     | 
| 
       1619 
     | 
    
         
            -
            sort key is column name.
         
     | 
| 
       1620 
     | 
    
         
            -
             
     | 
| 
       1621 
     | 
    
         
            -
            You can refer the number of grouped records by ``_nsubrecs``
         
     | 
| 
       1622 
     | 
    
         
            -
            :doc:`/reference/columns/pseudo`.
         
     | 
| 
       1623 
     | 
    
         
            -
             
     | 
| 
       1624 
     | 
    
         
            -
            Here is a simple ``drilldown_sort_keys`` example:
         
     | 
| 
       1625 
     | 
    
         
            -
             
     | 
| 
       1626 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       1627 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/drilldown_sort_keys_simple.log
         
     | 
| 
       1628 
     | 
    
         
            -
            .. select Entries \
         
     | 
| 
       1629 
     | 
    
         
            -
            ..   --limit 0 \
         
     | 
| 
       1630 
     | 
    
         
            -
            ..   --output_columns _id \
         
     | 
| 
       1631 
     | 
    
         
            -
            ..   --drilldown tag \
         
     | 
| 
       1632 
     | 
    
         
            -
            ..   --drilldown_sort_keys '-_nsubrecs, _key'
         
     | 
| 
       1633 
     | 
    
         
            -
             
     | 
| 
       1634 
     | 
    
         
            -
            Drilldown result is sorted by the number of grouped records (=
         
     | 
| 
       1635 
     | 
    
         
            -
            ``_nsubrecs`` ) in descending order. If there are grouped results that
         
     | 
| 
       1636 
     | 
    
         
            -
            the number of records in the group are the same, these grouped results
         
     | 
| 
       1637 
     | 
    
         
            -
            are sorted by grouped key (= ``_key`` ) in ascending order.
         
     | 
| 
       1638 
     | 
    
         
            -
             
     | 
| 
       1639 
     | 
    
         
            -
            The sort keys are used in all group keys specified in ``drilldown``:
         
     | 
| 
       1640 
     | 
    
         
            -
             
     | 
| 
       1641 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       1642 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/drilldown_sort_keys_simple.log
         
     | 
| 
       1643 
     | 
    
         
            -
            .. select Entries \
         
     | 
| 
       1644 
     | 
    
         
            -
            ..   --limit 0 \
         
     | 
| 
       1645 
     | 
    
         
            -
            ..   --output_columns _id \
         
     | 
| 
       1646 
     | 
    
         
            -
            ..   --drilldown 'tag, n_likes' \
         
     | 
| 
       1647 
     | 
    
         
            -
            ..   --drilldown_sort_keys '-_nsubrecs, _key'
         
     | 
| 
       1648 
     | 
    
         
            -
             
     | 
| 
       1649 
     | 
    
         
            -
            The same sort keys are used in ``tag`` drilldown and ``n_likes``
         
     | 
| 
       1650 
     | 
    
         
            -
            drilldown.
         
     | 
| 
       1651 
     | 
    
         
            -
             
     | 
| 
       1652 
     | 
    
         
            -
            If you want to use different sort keys for each drilldown, use
         
     | 
| 
       1653 
     | 
    
         
            -
            :ref:`select-advanced-drilldown-related-parameters`.
         
     | 
| 
       1654 
     | 
    
         
            -
             
     | 
| 
       1655 
     | 
    
         
            -
            .. _select-drilldown-output-columns:
         
     | 
| 
       1656 
     | 
    
         
            -
             
     | 
| 
       1657 
     | 
    
         
            -
            ``drilldown_output_columns``
         
     | 
| 
       1658 
     | 
    
         
            -
            """"""""""""""""""""""""""""
         
     | 
| 
       1659 
     | 
    
         
            -
             
     | 
| 
       1660 
     | 
    
         
            -
            Specifies output columns for drilldown separated by ``,``.
         
     | 
| 
       1661 
     | 
    
         
            -
             
     | 
| 
       1662 
     | 
    
         
            -
            Here is a ``drilldown_output_columns`` example:
         
     | 
| 
       1663 
     | 
    
         
            -
             
     | 
| 
       1664 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       1665 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/drilldown_output_columns_simple.log
         
     | 
| 
       1666 
     | 
    
         
            -
            .. select Entries \
         
     | 
| 
       1667 
     | 
    
         
            -
            ..   --limit 0 \
         
     | 
| 
       1668 
     | 
    
         
            -
            ..   --output_columns _id \
         
     | 
| 
       1669 
     | 
    
         
            -
            ..   --drilldown tag \
         
     | 
| 
       1670 
     | 
    
         
            -
            ..   --drilldown_output_columns _key
         
     | 
| 
       1671 
     | 
    
         
            -
             
     | 
| 
       1672 
     | 
    
         
            -
            The ``select`` command just outputs grouped key.
         
     | 
| 
       1673 
     | 
    
         
            -
             
     | 
| 
       1674 
     | 
    
         
            -
            If grouped key is a referenced type column (= column that its type is
         
     | 
| 
       1675 
     | 
    
         
            -
            a table), you can access column of the table referenced by the
         
     | 
| 
       1676 
     | 
    
         
            -
            referenced type column.
         
     | 
| 
       1677 
     | 
    
         
            -
             
     | 
| 
       1678 
     | 
    
         
            -
            Here are a schema definition and sample data to show drilldown against
         
     | 
| 
       1679 
     | 
    
         
            -
            referenced type column:
         
     | 
| 
       1680 
     | 
    
         
            -
             
     | 
| 
       1681 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       1682 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/drilldown_output_columns_referenced_type_column_definition.log
         
     | 
| 
       1683 
     | 
    
         
            -
            .. table_create Tags TABLE_HASH_KEY ShortText --normalizer NormalizerAuto
         
     | 
| 
       1684 
     | 
    
         
            -
            .. column_create Tags label COLUMN_SCALAR ShortText
         
     | 
| 
       1685 
     | 
    
         
            -
            .. column_create Tags priority COLUMN_SCALAR Int32
         
     | 
| 
       1686 
     | 
    
         
            -
            ..
         
     | 
| 
       1687 
     | 
    
         
            -
            .. table_create Items TABLE_HASH_KEY ShortText
         
     | 
| 
       1688 
     | 
    
         
            -
            .. column_create Items tag COLUMN_SCALAR Tags
         
     | 
| 
       1689 
     | 
    
         
            -
            ..
         
     | 
| 
       1690 
     | 
    
         
            -
            .. load --table Tags
         
     | 
| 
       1691 
     | 
    
         
            -
            .. [
         
     | 
| 
       1692 
     | 
    
         
            -
            .. {"_key": "groonga", label: "Groonga", priority: 10},
         
     | 
| 
       1693 
     | 
    
         
            -
            .. {"_key": "mroonga", label: "Mroonga", priority: 5}
         
     | 
| 
       1694 
     | 
    
         
            -
            .. ]
         
     | 
| 
       1695 
     | 
    
         
            -
            ..
         
     | 
| 
       1696 
     | 
    
         
            -
            .. load --table Items
         
     | 
| 
       1697 
     | 
    
         
            -
            .. [
         
     | 
| 
       1698 
     | 
    
         
            -
            .. {"_key": "A", "tag": "groonga"},
         
     | 
| 
       1699 
     | 
    
         
            -
            .. {"_key": "B", "tag": "groonga"},
         
     | 
| 
       1700 
     | 
    
         
            -
            .. {"_key": "C", "tag": "mroonga"}
         
     | 
| 
       1701 
     | 
    
         
            -
            .. ]
         
     | 
| 
       1702 
     | 
    
         
            -
             
     | 
| 
       1703 
     | 
    
         
            -
            ``Tags`` table is a referenced table. ``Items.tag`` is a referenced
         
     | 
| 
       1704 
     | 
    
         
            -
            type column.
         
     | 
| 
       1705 
     | 
    
         
            -
             
     | 
| 
       1706 
     | 
    
         
            -
            You can refer ``Tags.label`` by ``label`` in
         
     | 
| 
       1707 
     | 
    
         
            -
            ``drilldown_output_columns``:
         
     | 
| 
       1708 
     | 
    
         
            -
             
     | 
| 
       1709 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       1710 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/drilldown_output_columns_referenced_type_column_label.log
         
     | 
| 
       1711 
     | 
    
         
            -
            .. select Items \
         
     | 
| 
       1712 
     | 
    
         
            -
            ..   --limit 0 \
         
     | 
| 
       1713 
     | 
    
         
            -
            ..   --output_columns _id \
         
     | 
| 
       1714 
     | 
    
         
            -
            ..   --drilldown tag \
         
     | 
| 
       1715 
     | 
    
         
            -
            ..   --drilldown_output_columns '_key, label'
         
     | 
| 
       1716 
     | 
    
         
            -
             
     | 
| 
       1717 
     | 
    
         
            -
            You can use ``*`` to refer all columns in referenced table (= ``Tags``):
         
     | 
| 
       1718 
     | 
    
         
            -
             
     | 
| 
       1719 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       1720 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/drilldown_output_columns_referenced_type_column_asterisk.log
         
     | 
| 
       1721 
     | 
    
         
            -
            .. select Items \
         
     | 
| 
       1722 
     | 
    
         
            -
            ..   --limit 0 \
         
     | 
| 
       1723 
     | 
    
         
            -
            ..   --output_columns _id \
         
     | 
| 
       1724 
     | 
    
         
            -
            ..   --drilldown tag \
         
     | 
| 
       1725 
     | 
    
         
            -
            ..   --drilldown_output_columns '_key, *'
         
     | 
| 
       1726 
     | 
    
         
            -
             
     | 
| 
       1727 
     | 
    
         
            -
            ``*`` is expanded to ``label, priority``.
         
     | 
| 
       1728 
     | 
    
         
            -
             
     | 
| 
       1729 
     | 
    
         
            -
            The default value of ``drilldown_output_columns`` is ``_key,
         
     | 
| 
       1730 
     | 
    
         
            -
            _nsubrecs``. It means that grouped key and the number of records in
         
     | 
| 
       1731 
     | 
    
         
            -
            the group are output.
         
     | 
| 
       1732 
     | 
    
         
            -
             
     | 
| 
       1733 
     | 
    
         
            -
            You can use more :doc:`/reference/columns/pseudo` in
         
     | 
| 
       1734 
     | 
    
         
            -
            ``drilldown_output_columns`` such as ``_max``, ``_min``, ``_sum`` and
         
     | 
| 
       1735 
     | 
    
         
            -
            ``_avg`` when you use :ref:`select-drilldown-calc-types`. See
         
     | 
| 
       1736 
     | 
    
         
            -
            ``drilldown_calc_types`` document for details.
         
     | 
| 
       1737 
     | 
    
         
            -
             
     | 
| 
       1738 
     | 
    
         
            -
            .. _select-drilldown-offset:
         
     | 
| 
       1739 
     | 
    
         
            -
             
     | 
| 
       1740 
     | 
    
         
            -
            ``drilldown_offset``
         
     | 
| 
       1741 
     | 
    
         
            -
            """"""""""""""""""""
         
     | 
| 
       1742 
     | 
    
         
            -
             
     | 
| 
       1743 
     | 
    
         
            -
            Specifies offset to determine range of drilldown output
         
     | 
| 
       1744 
     | 
    
         
            -
            records. Offset is zero-based. ``--drilldown_offset 1`` means output
         
     | 
| 
       1745 
     | 
    
         
            -
            range is started from the 2nd record.
         
     | 
| 
       1746 
     | 
    
         
            -
             
     | 
| 
       1747 
     | 
    
         
            -
            Here is a ``drilldown_offset`` example:
         
     | 
| 
       1748 
     | 
    
         
            -
             
     | 
| 
       1749 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       1750 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/drilldown_offset_simple.log
         
     | 
| 
       1751 
     | 
    
         
            -
            .. select Entries \
         
     | 
| 
       1752 
     | 
    
         
            -
            ..   --limit 0 \
         
     | 
| 
       1753 
     | 
    
         
            -
            ..   --output_columns _id \
         
     | 
| 
       1754 
     | 
    
         
            -
            ..   --drilldown tag \
         
     | 
| 
       1755 
     | 
    
         
            -
            ..   --drilldown_sort_keys _key \
         
     | 
| 
       1756 
     | 
    
         
            -
            ..   --drilldown_offset 1
         
     | 
| 
       1757 
     | 
    
         
            -
             
     | 
| 
       1758 
     | 
    
         
            -
            The ``select`` command outputs from the 2nd record.
         
     | 
| 
       1759 
     | 
    
         
            -
             
     | 
| 
       1760 
     | 
    
         
            -
            You can specify negative value. It means that ``the number of grouped
         
     | 
| 
       1761 
     | 
    
         
            -
            results + offset``. If you have 3 grouped results and specify
         
     | 
| 
       1762 
     | 
    
         
            -
            ``--drilldown_offset -2``, you get grouped results from the 2st
         
     | 
| 
       1763 
     | 
    
         
            -
            (``3 + -2 = 1``. ``1`` means 2nd. Remember that offset is zero-based.)
         
     | 
| 
       1764 
     | 
    
         
            -
            grouped result to the 3rd grouped result.
         
     | 
| 
       1765 
     | 
    
         
            -
             
     | 
| 
       1766 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       1767 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/drilldown_offset_negative.log
         
     | 
| 
       1768 
     | 
    
         
            -
            .. select Entries \
         
     | 
| 
       1769 
     | 
    
         
            -
            ..   --limit 0 \
         
     | 
| 
       1770 
     | 
    
         
            -
            ..   --output_columns _id \
         
     | 
| 
       1771 
     | 
    
         
            -
            ..   --drilldown tag \
         
     | 
| 
       1772 
     | 
    
         
            -
            ..   --drilldown_sort_keys _key \
         
     | 
| 
       1773 
     | 
    
         
            -
            ..   --drilldown_offset -2
         
     | 
| 
       1774 
     | 
    
         
            -
             
     | 
| 
       1775 
     | 
    
         
            -
            The ``select`` command outputs from the 2nd grouped result because the
         
     | 
| 
       1776 
     | 
    
         
            -
            total number of grouped results is ``3``.
         
     | 
| 
       1777 
     | 
    
         
            -
             
     | 
| 
       1778 
     | 
    
         
            -
            The default value of ``drilldown_offset`` is ``0``.
         
     | 
| 
       1779 
     | 
    
         
            -
             
     | 
| 
       1780 
     | 
    
         
            -
            .. _select-drilldown-limit:
         
     | 
| 
       1781 
     | 
    
         
            -
             
     | 
| 
       1782 
     | 
    
         
            -
            ``drilldown_limit``
         
     | 
| 
       1783 
     | 
    
         
            -
            """""""""""""""""""
         
     | 
| 
       1784 
     | 
    
         
            -
             
     | 
| 
       1785 
     | 
    
         
            -
            Specifies the max number of groups in a drilldown. If the number of
         
     | 
| 
       1786 
     | 
    
         
            -
            groups is less than ``drilldown_limit``, all groups are outputted.
         
     | 
| 
       1787 
     | 
    
         
            -
             
     | 
| 
       1788 
     | 
    
         
            -
            Here is a ``drilldown_limit`` example:
         
     | 
| 
       1789 
     | 
    
         
            -
             
     | 
| 
       1790 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       1791 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/drilldown_limit_simple.log
         
     | 
| 
       1792 
     | 
    
         
            -
            .. select Entries \
         
     | 
| 
       1793 
     | 
    
         
            -
            ..   --limit 0 \
         
     | 
| 
       1794 
     | 
    
         
            -
            ..   --output_columns _id \
         
     | 
| 
       1795 
     | 
    
         
            -
            ..   --drilldown tag \
         
     | 
| 
       1796 
     | 
    
         
            -
            ..   --drilldown_sort_keys _key \
         
     | 
| 
       1797 
     | 
    
         
            -
            ..   --drilldown_offset 1 \
         
     | 
| 
       1798 
     | 
    
         
            -
            ..   --drilldown_limit 2
         
     | 
| 
       1799 
     | 
    
         
            -
             
     | 
| 
       1800 
     | 
    
         
            -
            The ``select`` command outputs the 2rd and the 3rd groups.
         
     | 
| 
       1801 
     | 
    
         
            -
             
     | 
| 
       1802 
     | 
    
         
            -
            You can specify negative value. It means that ``the number of groups +
         
     | 
| 
       1803 
     | 
    
         
            -
            drilldown_limit + 1``. For example, ``--drilldown_limit -1`` outputs
         
     | 
| 
       1804 
     | 
    
         
            -
            all groups. It's very useful value to show all groups.
         
     | 
| 
       1805 
     | 
    
         
            -
             
     | 
| 
       1806 
     | 
    
         
            -
            Here is a negative ``drilldown_limit`` value example.
         
     | 
| 
       1807 
     | 
    
         
            -
             
     | 
| 
       1808 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       1809 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/drilldown_limit_negative.log
         
     | 
| 
       1810 
     | 
    
         
            -
            .. select Entries \
         
     | 
| 
       1811 
     | 
    
         
            -
            ..   --limit 0 \
         
     | 
| 
       1812 
     | 
    
         
            -
            ..   --output_columns _id \
         
     | 
| 
       1813 
     | 
    
         
            -
            ..   --drilldown tag \
         
     | 
| 
       1814 
     | 
    
         
            -
            ..   --drilldown_sort_keys _key \
         
     | 
| 
       1815 
     | 
    
         
            -
            ..   --drilldown_limit -1
         
     | 
| 
       1816 
     | 
    
         
            -
             
     | 
| 
       1817 
     | 
    
         
            -
            The ``select`` command outputs all groups.
         
     | 
| 
       1818 
     | 
    
         
            -
             
     | 
| 
       1819 
     | 
    
         
            -
            The default value of ``drilldown_limit`` is ``10``.
         
     | 
| 
       1820 
     | 
    
         
            -
             
     | 
| 
       1821 
     | 
    
         
            -
            .. _select-drilldown-calc-types:
         
     | 
| 
       1822 
     | 
    
         
            -
             
     | 
| 
       1823 
     | 
    
         
            -
            ``drilldown_calc_types``
         
     | 
| 
       1824 
     | 
    
         
            -
            """"""""""""""""""""""""
         
     | 
| 
       1825 
     | 
    
         
            -
             
     | 
| 
       1826 
     | 
    
         
            -
            Specifies how to calculate (aggregate) values in grouped records by
         
     | 
| 
       1827 
     | 
    
         
            -
            a drilldown. You can specify multiple calculation types separated by
         
     | 
| 
       1828 
     | 
    
         
            -
            "``,``". For example, ``MAX,MIN``.
         
     | 
| 
       1829 
     | 
    
         
            -
             
     | 
| 
       1830 
     | 
    
         
            -
            Calculation target values are read from a column of grouped
         
     | 
| 
       1831 
     | 
    
         
            -
            records. The column is specified by
         
     | 
| 
       1832 
     | 
    
         
            -
            :ref:`select-drilldown-calc-target`.
         
     | 
| 
       1833 
     | 
    
         
            -
             
     | 
| 
       1834 
     | 
    
         
            -
            You can read calculated value by :doc:`/reference/columns/pseudo` such
         
     | 
| 
       1835 
     | 
    
         
            -
            as ``_max`` and ``_min`` in :ref:`select-drilldown-output-columns`.
         
     | 
| 
       1836 
     | 
    
         
            -
             
     | 
| 
       1837 
     | 
    
         
            -
            You can use the following calculation types:
         
     | 
| 
       1838 
     | 
    
         
            -
             
     | 
| 
       1839 
     | 
    
         
            -
            .. list-table::
         
     | 
| 
       1840 
     | 
    
         
            -
               :header-rows: 1
         
     | 
| 
       1841 
     | 
    
         
            -
             
     | 
| 
       1842 
     | 
    
         
            -
               * - Type name
         
     | 
| 
       1843 
     | 
    
         
            -
                 - :doc:`/reference/columns/pseudo` name
         
     | 
| 
       1844 
     | 
    
         
            -
                 - Need :ref:`select-drilldown-calc-target`
         
     | 
| 
       1845 
     | 
    
         
            -
                 - Description
         
     | 
| 
       1846 
     | 
    
         
            -
               * - ``NONE``
         
     | 
| 
       1847 
     | 
    
         
            -
                 - Nothing.
         
     | 
| 
       1848 
     | 
    
         
            -
                 - Not needs.
         
     | 
| 
       1849 
     | 
    
         
            -
                 - Just ignored.
         
     | 
| 
       1850 
     | 
    
         
            -
               * - ``COUNT``
         
     | 
| 
       1851 
     | 
    
         
            -
                 - ``_nsubrecs``
         
     | 
| 
       1852 
     | 
    
         
            -
                 - Not needs.
         
     | 
| 
       1853 
     | 
    
         
            -
                 - Counting grouped records. It's always enabled. So you don't
         
     | 
| 
       1854 
     | 
    
         
            -
                   need to specify it.
         
     | 
| 
       1855 
     | 
    
         
            -
               * - ``MAX``
         
     | 
| 
       1856 
     | 
    
         
            -
                 - ``_max``
         
     | 
| 
       1857 
     | 
    
         
            -
                 - Needs.
         
     | 
| 
       1858 
     | 
    
         
            -
                 - Finding the maximum integer value from integer values in
         
     | 
| 
       1859 
     | 
    
         
            -
                   grouped records.
         
     | 
| 
       1860 
     | 
    
         
            -
               * - ``MIN``
         
     | 
| 
       1861 
     | 
    
         
            -
                 - ``_min``
         
     | 
| 
       1862 
     | 
    
         
            -
                 - Needs.
         
     | 
| 
       1863 
     | 
    
         
            -
                 - Finding the minimum integer value from integer values in
         
     | 
| 
       1864 
     | 
    
         
            -
                   grouped records.
         
     | 
| 
       1865 
     | 
    
         
            -
               * - ``SUM``
         
     | 
| 
       1866 
     | 
    
         
            -
                 - ``_sum``
         
     | 
| 
       1867 
     | 
    
         
            -
                 - Needs.
         
     | 
| 
       1868 
     | 
    
         
            -
                 - Summing integer values in grouped records.
         
     | 
| 
       1869 
     | 
    
         
            -
               * - ``AVG``
         
     | 
| 
       1870 
     | 
    
         
            -
                 - ``_avg``
         
     | 
| 
       1871 
     | 
    
         
            -
                 - Needs.
         
     | 
| 
       1872 
     | 
    
         
            -
                 - Averaging integer/float values in grouped records.
         
     | 
| 
       1873 
     | 
    
         
            -
             
     | 
| 
       1874 
     | 
    
         
            -
            Here is a ``MAX`` example:
         
     | 
| 
       1875 
     | 
    
         
            -
             
     | 
| 
       1876 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       1877 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/drilldown_calc_types_max.log
         
     | 
| 
       1878 
     | 
    
         
            -
            .. select Entries \
         
     | 
| 
       1879 
     | 
    
         
            -
            ..   --limit -1 \
         
     | 
| 
       1880 
     | 
    
         
            -
            ..   --output_columns _id,n_likes \
         
     | 
| 
       1881 
     | 
    
         
            -
            ..   --drilldown tag \
         
     | 
| 
       1882 
     | 
    
         
            -
            ..   --drilldown_calc_types MAX \
         
     | 
| 
       1883 
     | 
    
         
            -
            ..   --drilldown_calc_target n_likes \
         
     | 
| 
       1884 
     | 
    
         
            -
            ..   --drilldown_output_columns _key,_max
         
     | 
| 
       1885 
     | 
    
         
            -
             
     | 
| 
       1886 
     | 
    
         
            -
            The ``select`` command groups all records by ``tag`` column value,
         
     | 
| 
       1887 
     | 
    
         
            -
            finding the maximum ``n_likes`` column value for each group and
         
     | 
| 
       1888 
     | 
    
         
            -
            outputs pairs of grouped key and the maximum ``n_likes`` column value
         
     | 
| 
       1889 
     | 
    
         
            -
            for the group. It uses ``_max`` :doc:`/reference/columns/pseudo` to
         
     | 
| 
       1890 
     | 
    
         
            -
            read the maximum ``n_likes`` column value.
         
     | 
| 
       1891 
     | 
    
         
            -
             
     | 
| 
       1892 
     | 
    
         
            -
            Here is a ``MIN`` example:
         
     | 
| 
       1893 
     | 
    
         
            -
             
     | 
| 
       1894 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       1895 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/drilldown_calc_types_min.log
         
     | 
| 
       1896 
     | 
    
         
            -
            .. select Entries \
         
     | 
| 
       1897 
     | 
    
         
            -
            ..   --limit -1 \
         
     | 
| 
       1898 
     | 
    
         
            -
            ..   --output_columns _id,n_likes \
         
     | 
| 
       1899 
     | 
    
         
            -
            ..   --drilldown tag \
         
     | 
| 
       1900 
     | 
    
         
            -
            ..   --drilldown_calc_types MIN \
         
     | 
| 
       1901 
     | 
    
         
            -
            ..   --drilldown_calc_target n_likes \
         
     | 
| 
       1902 
     | 
    
         
            -
            ..   --drilldown_output_columns _key,_min
         
     | 
| 
       1903 
     | 
    
         
            -
             
     | 
| 
       1904 
     | 
    
         
            -
            The ``select`` command groups all records by ``tag`` column value,
         
     | 
| 
       1905 
     | 
    
         
            -
            finding the minimum ``n_likes`` column value for each group and
         
     | 
| 
       1906 
     | 
    
         
            -
            outputs pairs of grouped key and the minimum ``n_likes`` column value
         
     | 
| 
       1907 
     | 
    
         
            -
            for the group. It uses ``_min`` :doc:`/reference/columns/pseudo` to
         
     | 
| 
       1908 
     | 
    
         
            -
            read the minimum ``n_likes`` column value.
         
     | 
| 
       1909 
     | 
    
         
            -
             
     | 
| 
       1910 
     | 
    
         
            -
            Here is a ``SUM`` example:
         
     | 
| 
       1911 
     | 
    
         
            -
             
     | 
| 
       1912 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       1913 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/drilldown_calc_types_sum.log
         
     | 
| 
       1914 
     | 
    
         
            -
            .. select Entries \
         
     | 
| 
       1915 
     | 
    
         
            -
            ..   --limit -1 \
         
     | 
| 
       1916 
     | 
    
         
            -
            ..   --output_columns _id,n_likes \
         
     | 
| 
       1917 
     | 
    
         
            -
            ..   --drilldown tag \
         
     | 
| 
       1918 
     | 
    
         
            -
            ..   --drilldown_calc_types SUM \
         
     | 
| 
       1919 
     | 
    
         
            -
            ..   --drilldown_calc_target n_likes \
         
     | 
| 
       1920 
     | 
    
         
            -
            ..   --drilldown_output_columns _key,_sum
         
     | 
| 
       1921 
     | 
    
         
            -
             
     | 
| 
       1922 
     | 
    
         
            -
            The ``select`` command groups all records by ``tag`` column value,
         
     | 
| 
       1923 
     | 
    
         
            -
            sums all ``n_likes`` column values for each group and outputs pairs
         
     | 
| 
       1924 
     | 
    
         
            -
            of grouped key and the summed ``n_likes`` column values for the
         
     | 
| 
       1925 
     | 
    
         
            -
            group. It uses ``_sum`` :doc:`/reference/columns/pseudo` to read the
         
     | 
| 
       1926 
     | 
    
         
            -
            summed ``n_likes`` column values.
         
     | 
| 
       1927 
     | 
    
         
            -
             
     | 
| 
       1928 
     | 
    
         
            -
            Here is a ``AVG`` example:
         
     | 
| 
       1929 
     | 
    
         
            -
             
     | 
| 
       1930 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       1931 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/drilldown_calc_types_avg.log
         
     | 
| 
       1932 
     | 
    
         
            -
            .. select Entries \
         
     | 
| 
       1933 
     | 
    
         
            -
            ..   --limit -1 \
         
     | 
| 
       1934 
     | 
    
         
            -
            ..   --output_columns _id,n_likes \
         
     | 
| 
       1935 
     | 
    
         
            -
            ..   --drilldown tag \
         
     | 
| 
       1936 
     | 
    
         
            -
            ..   --drilldown_calc_types AVG \
         
     | 
| 
       1937 
     | 
    
         
            -
            ..   --drilldown_calc_target n_likes \
         
     | 
| 
       1938 
     | 
    
         
            -
            ..   --drilldown_output_columns _key,_avg
         
     | 
| 
       1939 
     | 
    
         
            -
             
     | 
| 
       1940 
     | 
    
         
            -
            The ``select`` command groups all records by ``tag`` column value,
         
     | 
| 
       1941 
     | 
    
         
            -
            averages all ``n_likes`` column values for each group and outputs
         
     | 
| 
       1942 
     | 
    
         
            -
            pairs of grouped key and the averaged ``n_likes`` column values for
         
     | 
| 
       1943 
     | 
    
         
            -
            the group. It uses ``_avg`` :doc:`/reference/columns/pseudo` to read
         
     | 
| 
       1944 
     | 
    
         
            -
            the averaged ``n_likes`` column values.
         
     | 
| 
       1945 
     | 
    
         
            -
             
     | 
| 
       1946 
     | 
    
         
            -
            Here is an example that uses all calculation types:
         
     | 
| 
       1947 
     | 
    
         
            -
             
     | 
| 
       1948 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       1949 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/drilldown_calc_types_all.log
         
     | 
| 
       1950 
     | 
    
         
            -
            .. select Entries \
         
     | 
| 
       1951 
     | 
    
         
            -
            ..   --limit -1 \
         
     | 
| 
       1952 
     | 
    
         
            -
            ..   --output_columns _id,n_likes \
         
     | 
| 
       1953 
     | 
    
         
            -
            ..   --drilldown tag \
         
     | 
| 
       1954 
     | 
    
         
            -
            ..   --drilldown_calc_types MAX,MIN,SUM,AVG \
         
     | 
| 
       1955 
     | 
    
         
            -
            ..   --drilldown_calc_target n_likes \
         
     | 
| 
       1956 
     | 
    
         
            -
            ..   --drilldown_output_columns _key,_nsubrecs,_max,_min,_sum,_avg
         
     | 
| 
       1957 
     | 
    
         
            -
             
     | 
| 
       1958 
     | 
    
         
            -
            The ``select`` command specifies multiple calculation types separated
         
     | 
| 
       1959 
     | 
    
         
            -
            by "``,``" like ``MAX,MIN,SUM,AVG``. You can use ``_nsubrecs``
         
     | 
| 
       1960 
     | 
    
         
            -
            :doc:`/reference/columns/pseudo` in
         
     | 
| 
       1961 
     | 
    
         
            -
            :ref:`select-drilldown-output-columns` without specifying ``COUNT`` in
         
     | 
| 
       1962 
     | 
    
         
            -
            ``drilldown_calc_types``. Because ``COUNT`` is always enabled.
         
     | 
| 
       1963 
     | 
    
         
            -
             
     | 
| 
       1964 
     | 
    
         
            -
            The default value of ``drilldown_calc_types`` is ``NONE``. It means
         
     | 
| 
       1965 
     | 
    
         
            -
            that only ``COUNT`` is enabled. Because ``NONE`` is just ignored and
         
     | 
| 
       1966 
     | 
    
         
            -
            ``COUNT`` is always enabled.
         
     | 
| 
       1967 
     | 
    
         
            -
             
     | 
| 
       1968 
     | 
    
         
            -
            .. _select-drilldown-calc-target:
         
     | 
| 
       1969 
     | 
    
         
            -
             
     | 
| 
       1970 
     | 
    
         
            -
            ``drilldown_calc_target``
         
     | 
| 
       1971 
     | 
    
         
            -
            """""""""""""""""""""""""
         
     | 
| 
       1972 
     | 
    
         
            -
             
     | 
| 
       1973 
     | 
    
         
            -
            .. versionadded:: 6.0.3
         
     | 
| 
       1974 
     | 
    
         
            -
             
     | 
| 
       1975 
     | 
    
         
            -
            Specifies the target column for :ref:`select-drilldown-calc-types`.
         
     | 
| 
       1976 
     | 
    
         
            -
             
     | 
| 
       1977 
     | 
    
         
            -
            If you specify a calculation type that needs a target column such as
         
     | 
| 
       1978 
     | 
    
         
            -
            ``MAX`` in :ref:`select-drilldown-calc-types` but you omit
         
     | 
| 
       1979 
     | 
    
         
            -
            ``drilldown_calc_target``, the calculation result is always ``0``.
         
     | 
| 
       1980 
     | 
    
         
            -
             
     | 
| 
       1981 
     | 
    
         
            -
            You can specify only one column name like ``--drilldown_calc_target
         
     | 
| 
       1982 
     | 
    
         
            -
            n_likes``. You can't specify multiple column name like
         
     | 
| 
       1983 
     | 
    
         
            -
            ``--drilldown_calc_target _key,n_likes``.
         
     | 
| 
       1984 
     | 
    
         
            -
             
     | 
| 
       1985 
     | 
    
         
            -
            You can use referenced value from the target record by combining
         
     | 
| 
       1986 
     | 
    
         
            -
            "``.``" like ``--drilldown_calc_target
         
     | 
| 
       1987 
     | 
    
         
            -
            reference_column.nested_reference_column.value``.
         
     | 
| 
       1988 
     | 
    
         
            -
             
     | 
| 
       1989 
     | 
    
         
            -
            See :ref:`select-drilldown-calc-types` to know how to use
         
     | 
| 
       1990 
     | 
    
         
            -
            ``drilldown_calc_target``.
         
     | 
| 
       1991 
     | 
    
         
            -
             
     | 
| 
       1992 
     | 
    
         
            -
            The default value of ``drilldown_calc_target`` is ``null``. It means
         
     | 
| 
       1993 
     | 
    
         
            -
            that no calculation target column is specified.
         
     | 
| 
       1994 
     | 
    
         
            -
             
     | 
| 
       1995 
     | 
    
         
            -
            .. _select-drilldown-filter:
         
     | 
| 
       1996 
     | 
    
         
            -
             
     | 
| 
       1997 
     | 
    
         
            -
            ``drilldown_filter``
         
     | 
| 
       1998 
     | 
    
         
            -
            """"""""""""""""""""
         
     | 
| 
       1999 
     | 
    
         
            -
             
     | 
| 
       2000 
     | 
    
         
            -
            .. versionadded:: 6.0.3
         
     | 
| 
       2001 
     | 
    
         
            -
             
     | 
| 
       2002 
     | 
    
         
            -
            Specifies the filter condition against the drilled down result.
         
     | 
| 
       2003 
     | 
    
         
            -
             
     | 
| 
       2004 
     | 
    
         
            -
            The syntax is :doc:`/reference/grn_expr/script_syntax`. It's the same
         
     | 
| 
       2005 
     | 
    
         
            -
            as :ref:`select-filter`.
         
     | 
| 
       2006 
     | 
    
         
            -
             
     | 
| 
       2007 
     | 
    
         
            -
            Here is an example to suppress tags that are occurred only once:
         
     | 
| 
       2008 
     | 
    
         
            -
             
     | 
| 
       2009 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       2010 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/drilldown_filter.log
         
     | 
| 
       2011 
     | 
    
         
            -
            .. select Entries \
         
     | 
| 
       2012 
     | 
    
         
            -
            ..   --limit -1 \
         
     | 
| 
       2013 
     | 
    
         
            -
            ..   --output_columns _id,tag \
         
     | 
| 
       2014 
     | 
    
         
            -
            ..   --drilldown tag \
         
     | 
| 
       2015 
     | 
    
         
            -
            ..   --drilldown_filter '_nsubrecs > 1' \
         
     | 
| 
       2016 
     | 
    
         
            -
            ..   --drilldown_output_columns _key,_nsubrecs
         
     | 
| 
       2017 
     | 
    
         
            -
             
     | 
| 
       2018 
     | 
    
         
            -
            .. _select-advanced-drilldown-related-parameters:
         
     | 
| 
       2019 
     | 
    
         
            -
             
     | 
| 
       2020 
     | 
    
         
            -
            Advanced drilldown related parameters
         
     | 
| 
       2021 
     | 
    
         
            -
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
         
     | 
| 
       2022 
     | 
    
         
            -
             
     | 
| 
       2023 
     | 
    
         
            -
            .. versionadded:: 4.0.8
         
     | 
| 
       2024 
     | 
    
         
            -
             
     | 
| 
       2025 
     | 
    
         
            -
            You can get multiple drilldown results by specifying multiple group
         
     | 
| 
       2026 
     | 
    
         
            -
            keys by :ref:`select-drilldown`. But you need to use the same
         
     | 
| 
       2027 
     | 
    
         
            -
            configuration for all drilldowns. For example,
         
     | 
| 
       2028 
     | 
    
         
            -
            :ref:`select-drilldown-output-columns` is used by all drilldowns.
         
     | 
| 
       2029 
     | 
    
         
            -
             
     | 
| 
       2030 
     | 
    
         
            -
            You can use a configuration for each drilldown by the following
         
     | 
| 
       2031 
     | 
    
         
            -
            parameters:
         
     | 
| 
       2032 
     | 
    
         
            -
             
     | 
| 
       2033 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].keys``
         
     | 
| 
       2034 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].sort_keys``
         
     | 
| 
       2035 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].output_columns``
         
     | 
| 
       2036 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].offset``
         
     | 
| 
       2037 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].limit``
         
     | 
| 
       2038 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].calc_types``
         
     | 
| 
       2039 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].calc_target``
         
     | 
| 
       2040 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].filter``
         
     | 
| 
       2041 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].columns[${NAME}].stage=null``
         
     | 
| 
       2042 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].columns[${NAME}].flags=COLUMN_SCALAR``
         
     | 
| 
       2043 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].columns[${NAME}].type=null``
         
     | 
| 
       2044 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].columns[${NAME}].value=null``
         
     | 
| 
       2045 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].columns[${NAME}].window.sort_keys=null``
         
     | 
| 
       2046 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].columns[${NAME}].window.group_keys=null``
         
     | 
| 
       2047 
     | 
    
         
            -
             
     | 
| 
       2048 
     | 
    
         
            -
            ``${LABEL}`` is a variable. You can use the following characters for
         
     | 
| 
       2049 
     | 
    
         
            -
            ``${LABEL}``:
         
     | 
| 
       2050 
     | 
    
         
            -
             
     | 
| 
       2051 
     | 
    
         
            -
              * Alphabets
         
     | 
| 
       2052 
     | 
    
         
            -
              * Digits
         
     | 
| 
       2053 
     | 
    
         
            -
              * ``.``
         
     | 
| 
       2054 
     | 
    
         
            -
              * ``_``
         
     | 
| 
       2055 
     | 
    
         
            -
             
     | 
| 
       2056 
     | 
    
         
            -
            ``${NAME}`` is a variable. You can use the following characters for
         
     | 
| 
       2057 
     | 
    
         
            -
            ``${NAME}``:
         
     | 
| 
       2058 
     | 
    
         
            -
             
     | 
| 
       2059 
     | 
    
         
            -
              * Alphabets
         
     | 
| 
       2060 
     | 
    
         
            -
              * Digits
         
     | 
| 
       2061 
     | 
    
         
            -
              * ``_``
         
     | 
| 
       2062 
     | 
    
         
            -
             
     | 
| 
       2063 
     | 
    
         
            -
            .. note::
         
     | 
| 
       2064 
     | 
    
         
            -
             
     | 
| 
       2065 
     | 
    
         
            -
               You can use more characters but it's better that you use only these
         
     | 
| 
       2066 
     | 
    
         
            -
               characters.
         
     | 
| 
       2067 
     | 
    
         
            -
             
     | 
| 
       2068 
     | 
    
         
            -
            Parameters that has the same ``${LABEL}`` value are grouped. Grouped
         
     | 
| 
       2069 
     | 
    
         
            -
            parameters are used for one drilldown.
         
     | 
| 
       2070 
     | 
    
         
            -
             
     | 
| 
       2071 
     | 
    
         
            -
            For example, there are 2 groups for the following parameters:
         
     | 
| 
       2072 
     | 
    
         
            -
             
     | 
| 
       2073 
     | 
    
         
            -
              * ``--drilldowns[label1].keys _key``
         
     | 
| 
       2074 
     | 
    
         
            -
              * ``--drilldowns[label1].output_columns _nsubrecs``
         
     | 
| 
       2075 
     | 
    
         
            -
              * ``--drilldowns[label2].keys tag``
         
     | 
| 
       2076 
     | 
    
         
            -
              * ``--drilldowns[label2].output_columns _key,_nsubrecs``
         
     | 
| 
       2077 
     | 
    
         
            -
             
     | 
| 
       2078 
     | 
    
         
            -
            ``drilldowns[label1].keys`` and ``drilldowns[label1].output_columns``
         
     | 
| 
       2079 
     | 
    
         
            -
            are grouped. ``drilldowns[label2].keys`` and
         
     | 
| 
       2080 
     | 
    
         
            -
            ``drilldowns[label2].output_columns`` are also grouped.
         
     | 
| 
       2081 
     | 
    
         
            -
             
     | 
| 
       2082 
     | 
    
         
            -
            In ``label1`` group, ``_key`` is used for group key and ``_nsubrecs``
         
     | 
| 
       2083 
     | 
    
         
            -
            is used for output columns.
         
     | 
| 
       2084 
     | 
    
         
            -
             
     | 
| 
       2085 
     | 
    
         
            -
            In ``label2`` group, ``tag`` is used for group key and
         
     | 
| 
       2086 
     | 
    
         
            -
            ``_key,_nsubrecs`` is used for output columns.
         
     | 
| 
       2087 
     | 
    
         
            -
             
     | 
| 
       2088 
     | 
    
         
            -
            See document for corresponding ``drilldown_XXX`` parameter to know how
         
     | 
| 
       2089 
     | 
    
         
            -
            to use it for the following parameters:
         
     | 
| 
       2090 
     | 
    
         
            -
             
     | 
| 
       2091 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].sort_keys``: :ref:`select-drilldown-sort-keys`
         
     | 
| 
       2092 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].offset``: :ref:`select-drilldown-offset`
         
     | 
| 
       2093 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].limit``: :ref:`select-drilldown-limit`
         
     | 
| 
       2094 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].calc_types``: :ref:`select-drilldown-calc-types`
         
     | 
| 
       2095 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].calc_target``: :ref:`select-drilldown-calc-target`
         
     | 
| 
       2096 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].filter``: :ref:`select-drilldown-filter`
         
     | 
| 
       2097 
     | 
    
         
            -
             
     | 
| 
       2098 
     | 
    
         
            -
            See document for corresponding ``columns[${NAME}].XXX`` parameter to
         
     | 
| 
       2099 
     | 
    
         
            -
            know how to use it for the following parameters:
         
     | 
| 
       2100 
     | 
    
         
            -
             
     | 
| 
       2101 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].columns[${NAME}].flags=COLUMN_SCALAR``:
         
     | 
| 
       2102 
     | 
    
         
            -
                :ref:`select-columns-name-flags`
         
     | 
| 
       2103 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].columns[${NAME}].type=null``:
         
     | 
| 
       2104 
     | 
    
         
            -
                :ref:`select-columns-name-type`
         
     | 
| 
       2105 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].columns[${NAME}].value=null``:
         
     | 
| 
       2106 
     | 
    
         
            -
                :ref:`select-columns-name-value`
         
     | 
| 
       2107 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].columns[${NAME}].window.sort_keys=null``:
         
     | 
| 
       2108 
     | 
    
         
            -
                :ref:`select-columns-name-window-sort-keys`
         
     | 
| 
       2109 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].columns[${NAME}].window.group_keys=null``:
         
     | 
| 
       2110 
     | 
    
         
            -
                :ref:`select-columns-name-window-group-keys`
         
     | 
| 
       2111 
     | 
    
         
            -
             
     | 
| 
       2112 
     | 
    
         
            -
            The following parameters are needed more description:
         
     | 
| 
       2113 
     | 
    
         
            -
             
     | 
| 
       2114 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].keys``
         
     | 
| 
       2115 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].output_columns``
         
     | 
| 
       2116 
     | 
    
         
            -
              * ``drilldowns[${LABEL}].columns[${NAME}].stage=null``
         
     | 
| 
       2117 
     | 
    
         
            -
             
     | 
| 
       2118 
     | 
    
         
            -
            Output format is different a bit. It's also needed more description.
         
     | 
| 
       2119 
     | 
    
         
            -
             
     | 
| 
       2120 
     | 
    
         
            -
            .. _select-drilldowns-label-keys:
         
     | 
| 
       2121 
     | 
    
         
            -
             
     | 
| 
       2122 
     | 
    
         
            -
            ``drilldowns[${LABEL}].keys``
         
     | 
| 
       2123 
     | 
    
         
            -
            """""""""""""""""""""""""""""
         
     | 
| 
       2124 
     | 
    
         
            -
             
     | 
| 
       2125 
     | 
    
         
            -
            .. versionadded:: 4.0.8
         
     | 
| 
       2126 
     | 
    
         
            -
             
     | 
| 
       2127 
     | 
    
         
            -
            :ref:`select-drilldown` can specify multiple keys for multiple
         
     | 
| 
       2128 
     | 
    
         
            -
            drilldowns. But it can't specify multiple keys for one drilldown.
         
     | 
| 
       2129 
     | 
    
         
            -
             
     | 
| 
       2130 
     | 
    
         
            -
            ``drilldowns[${LABEL}].keys`` can't specify multiple keys for multiple
         
     | 
| 
       2131 
     | 
    
         
            -
            drilldowns. But it can specify multiple keys for one drilldown.
         
     | 
| 
       2132 
     | 
    
         
            -
             
     | 
| 
       2133 
     | 
    
         
            -
            You can specify multiple keys separated by "``,``".
         
     | 
| 
       2134 
     | 
    
         
            -
             
     | 
| 
       2135 
     | 
    
         
            -
            Here is an example to group by multiple keys, ``tag`` and ``n_likes``
         
     | 
| 
       2136 
     | 
    
         
            -
            column values:
         
     | 
| 
       2137 
     | 
    
         
            -
             
     | 
| 
       2138 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       2139 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/drilldowns_label_keys_multiple.log
         
     | 
| 
       2140 
     | 
    
         
            -
            .. select Entries \
         
     | 
| 
       2141 
     | 
    
         
            -
            ..   --limit -1 \
         
     | 
| 
       2142 
     | 
    
         
            -
            ..   --output_columns tag,n_likes \
         
     | 
| 
       2143 
     | 
    
         
            -
            ..   --drilldowns[tag.n_likes].keys tag,n_likes \
         
     | 
| 
       2144 
     | 
    
         
            -
            ..   --drilldowns[tag.n_likes].output_columns _value.tag,_value.n_likes,_nsubrecs
         
     | 
| 
       2145 
     | 
    
         
            -
             
     | 
| 
       2146 
     | 
    
         
            -
            ``tag.n_likes`` is used as the label for the drilldown parameters
         
     | 
| 
       2147 
     | 
    
         
            -
            group. You can refer grouped keys by ``_value.${KEY_NAME}`` syntax in
         
     | 
| 
       2148 
     | 
    
         
            -
            :ref:`select-drilldowns-label-output-columns`. ``${KEY_NAME}`` is a
         
     | 
| 
       2149 
     | 
    
         
            -
            column name to be used by group key. ``tag`` and ``n_likes`` are
         
     | 
| 
       2150 
     | 
    
         
            -
            ``${KEY_NAME}`` in this case.
         
     | 
| 
       2151 
     | 
    
         
            -
             
     | 
| 
       2152 
     | 
    
         
            -
            Note that you can't use ``_value.${KEY_NAME}`` syntax when you just
         
     | 
| 
       2153 
     | 
    
         
            -
            specify one key as ``drilldowns[${LABEL}].keys`` like ``--drilldowns[tag].keys
         
     | 
| 
       2154 
     | 
    
         
            -
            tag``. You should use ``_key`` for the case. It's the same rule in
         
     | 
| 
       2155 
     | 
    
         
            -
            :ref:`select-drilldown-output-columns`.
         
     | 
| 
       2156 
     | 
    
         
            -
             
     | 
| 
       2157 
     | 
    
         
            -
            .. _select-drilldowns-label-output-columns:
         
     | 
| 
       2158 
     | 
    
         
            -
             
     | 
| 
       2159 
     | 
    
         
            -
            ``drilldowns[${LABEL}].output_columns``
         
     | 
| 
       2160 
     | 
    
         
            -
            """""""""""""""""""""""""""""""""""""""
         
     | 
| 
       2161 
     | 
    
         
            -
             
     | 
| 
       2162 
     | 
    
         
            -
            .. versionadded:: 4.0.8
         
     | 
| 
       2163 
     | 
    
         
            -
             
     | 
| 
       2164 
     | 
    
         
            -
            It's almost same as :ref:`select-drilldown-output-columns`. The
         
     | 
| 
       2165 
     | 
    
         
            -
            difference between :ref:`select-drilldown-output-columns` and
         
     | 
| 
       2166 
     | 
    
         
            -
            ``drilldowns[${LABEL}].output_columns`` is how to refer group keys.
         
     | 
| 
       2167 
     | 
    
         
            -
             
     | 
| 
       2168 
     | 
    
         
            -
            :ref:`select-drilldown-output-columns` uses ``_key``
         
     | 
| 
       2169 
     | 
    
         
            -
            :doc:`/reference/columns/pseudo` to refer group
         
     | 
| 
       2170 
     | 
    
         
            -
            key. ``drilldowns[${LABEL}].output_columns`` also uses ``_key``
         
     | 
| 
       2171 
     | 
    
         
            -
            :doc:`/reference/columns/pseudo` to refer group key when you specify
         
     | 
| 
       2172 
     | 
    
         
            -
            only one group key by :ref:`select-drilldowns-label-keys`.
         
     | 
| 
       2173 
     | 
    
         
            -
             
     | 
| 
       2174 
     | 
    
         
            -
            Here is an example to refer single group key by ``_key``
         
     | 
| 
       2175 
     | 
    
         
            -
            :doc:`/reference/columns/pseudo`:
         
     | 
| 
       2176 
     | 
    
         
            -
             
     | 
| 
       2177 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       2178 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/drilldowns_label_output_columns_single_group_key.log
         
     | 
| 
       2179 
     | 
    
         
            -
            .. select Entries \
         
     | 
| 
       2180 
     | 
    
         
            -
            ..   --limit 0 \
         
     | 
| 
       2181 
     | 
    
         
            -
            ..   --output_columns _id \
         
     | 
| 
       2182 
     | 
    
         
            -
            ..   --drilldowns[tag.n_likes].keys tag \
         
     | 
| 
       2183 
     | 
    
         
            -
            ..   --drilldowns[tag.n_likes].output_columns _key
         
     | 
| 
       2184 
     | 
    
         
            -
             
     | 
| 
       2185 
     | 
    
         
            -
            But you can't refer each group key by ``_key``
         
     | 
| 
       2186 
     | 
    
         
            -
            :doc:`/reference/columns/pseudo` in
         
     | 
| 
       2187 
     | 
    
         
            -
            ``drilldowns[${LABEL}].output_columns``. You need to use
         
     | 
| 
       2188 
     | 
    
         
            -
            ``_value.${KEY_NAME}`` syntax. ``${KEY_NAME}`` is a column name that is
         
     | 
| 
       2189 
     | 
    
         
            -
            used for group key in :ref:`select-drilldowns-label-keys`.
         
     | 
| 
       2190 
     | 
    
         
            -
             
     | 
| 
       2191 
     | 
    
         
            -
            Here is an example to refer each group key in multiple group keys by
         
     | 
| 
       2192 
     | 
    
         
            -
            ``_value.${KEY_NAME}`` syntax:
         
     | 
| 
       2193 
     | 
    
         
            -
             
     | 
| 
       2194 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       2195 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/drilldowns_label_output_columns_single_group_key.log
         
     | 
| 
       2196 
     | 
    
         
            -
            .. select Entries \
         
     | 
| 
       2197 
     | 
    
         
            -
            ..   --limit 0 \
         
     | 
| 
       2198 
     | 
    
         
            -
            ..   --output_columns _id \
         
     | 
| 
       2199 
     | 
    
         
            -
            ..   --drilldowns[tag.n_likes].keys tag,n_likes \
         
     | 
| 
       2200 
     | 
    
         
            -
            ..   --drilldowns[tag.n_likes].output_columns _value.tag,_value.n_likes
         
     | 
| 
       2201 
     | 
    
         
            -
             
     | 
| 
       2202 
     | 
    
         
            -
            .. tip:: Why ``_value.${KEY_NAME}`` syntax?
         
     | 
| 
       2203 
     | 
    
         
            -
             
     | 
| 
       2204 
     | 
    
         
            -
               It's implementation specific information.
         
     | 
| 
       2205 
     | 
    
         
            -
             
     | 
| 
       2206 
     | 
    
         
            -
               ``_key`` is a vector value. The vector value is consists of all
         
     | 
| 
       2207 
     | 
    
         
            -
               group keys. You can see byte sequence of the vector value by
         
     | 
| 
       2208 
     | 
    
         
            -
               referring ``_key`` in ``drilldowns[${LABEL}].output_columns``.
         
     | 
| 
       2209 
     | 
    
         
            -
             
     | 
| 
       2210 
     | 
    
         
            -
               There is one grouped record in ``_value`` to refer each grouped
         
     | 
| 
       2211 
     | 
    
         
            -
               values when you specify multiple group keys to
         
     | 
| 
       2212 
     | 
    
         
            -
               :ref:`select-drilldowns-label-keys`. So you can refer each group key
         
     | 
| 
       2213 
     | 
    
         
            -
               by ``_value.${KEY_NAME}`` syntax.
         
     | 
| 
       2214 
     | 
    
         
            -
             
     | 
| 
       2215 
     | 
    
         
            -
               On the other hand, there is no grouped record in ``_value`` when
         
     | 
| 
       2216 
     | 
    
         
            -
               you specify only one group key to
         
     | 
| 
       2217 
     | 
    
         
            -
               :ref:`select-drilldowns-label-keys`. So you can't refer group key by
         
     | 
| 
       2218 
     | 
    
         
            -
               ``_value.${KEY_NAME}`` syntax.
         
     | 
| 
       2219 
     | 
    
         
            -
             
     | 
| 
       2220 
     | 
    
         
            -
            .. _select-drilldowns-label-columns-name-stage:
         
     | 
| 
       2221 
     | 
    
         
            -
             
     | 
| 
       2222 
     | 
    
         
            -
            ``drilldowns[${LABEL}].columns[${NAME}].stage``
         
     | 
| 
       2223 
     | 
    
         
            -
            """""""""""""""""""""""""""""""""""""""""""""""
         
     | 
| 
       2224 
     | 
    
         
            -
             
     | 
| 
       2225 
     | 
    
         
            -
            .. versionadded:: 6.0.5
         
     | 
| 
       2226 
     | 
    
         
            -
             
     | 
| 
       2227 
     | 
    
         
            -
            Specifies when the dynamic column is created. This is a required
         
     | 
| 
       2228 
     | 
    
         
            -
            parameter to create a dynamic column.
         
     | 
| 
       2229 
     | 
    
         
            -
             
     | 
| 
       2230 
     | 
    
         
            -
            Here are available stages:
         
     | 
| 
       2231 
     | 
    
         
            -
             
     | 
| 
       2232 
     | 
    
         
            -
            .. list-table::
         
     | 
| 
       2233 
     | 
    
         
            -
               :header-rows: 1
         
     | 
| 
       2234 
     | 
    
         
            -
             
     | 
| 
       2235 
     | 
    
         
            -
               * - Name
         
     | 
| 
       2236 
     | 
    
         
            -
                 - Description
         
     | 
| 
       2237 
     | 
    
         
            -
               * - ``initial``
         
     | 
| 
       2238 
     | 
    
         
            -
                 - Dynamic column is created at first.
         
     | 
| 
       2239 
     | 
    
         
            -
             
     | 
| 
       2240 
     | 
    
         
            -
            Here is one drilldown process flow with dynamic column creation
         
     | 
| 
       2241 
     | 
    
         
            -
            points. You should choose stage as late as possible:
         
     | 
| 
       2242 
     | 
    
         
            -
             
     | 
| 
       2243 
     | 
    
         
            -
              #. Evaluates :ref:`select-drilldowns-label-keys`,
         
     | 
| 
       2244 
     | 
    
         
            -
                 ``drilldowns[${LABEL}].calc_types`` and
         
     | 
| 
       2245 
     | 
    
         
            -
                 ``drilldowns[${LABEL}].calc_target``.
         
     | 
| 
       2246 
     | 
    
         
            -
             
     | 
| 
       2247 
     | 
    
         
            -
              #. Creates dynamic columns for ``initial`` stage. All drilldown
         
     | 
| 
       2248 
     | 
    
         
            -
                 result records have these dynamic columns.
         
     | 
| 
       2249 
     | 
    
         
            -
             
     | 
| 
       2250 
     | 
    
         
            -
              #. Evaluates ``drilldowns[${LABEL}].filter``. You can use dynamic
         
     | 
| 
       2251 
     | 
    
         
            -
                 columns created in ``initial`` stage.
         
     | 
| 
       2252 
     | 
    
         
            -
             
     | 
| 
       2253 
     | 
    
         
            -
              #. Evaluates ``drilldowns[${LABEL}].sort_keys``,
         
     | 
| 
       2254 
     | 
    
         
            -
                 ``drilldowns[${LABEL}].offset`` and
         
     | 
| 
       2255 
     | 
    
         
            -
                 ``drilldowns[${LABEL}].limit``. You can use dynamic columns
         
     | 
| 
       2256 
     | 
    
         
            -
                 created in ``initial`` stage.
         
     | 
| 
       2257 
     | 
    
         
            -
             
     | 
| 
       2258 
     | 
    
         
            -
              #. Evaluates :ref:`select-drilldowns-label-output-columns`. You can
         
     | 
| 
       2259 
     | 
    
         
            -
                 use dynamic columns created in ``initial`` stage.
         
     | 
| 
       2260 
     | 
    
         
            -
             
     | 
| 
       2261 
     | 
    
         
            -
            Here is a ``drilldowns[${LABEL}].columns[${NAME}].stage`` example. It
         
     | 
| 
       2262 
     | 
    
         
            -
            creates ``is_popular`` column at ``initial`` stage. You can use
         
     | 
| 
       2263 
     | 
    
         
            -
            ``is_popular`` in all parameters such as
         
     | 
| 
       2264 
     | 
    
         
            -
            ``drilldowns[${LABEL}].filter`` and
         
     | 
| 
       2265 
     | 
    
         
            -
            ``drilldowns[${LABEL}].output_columns``:
         
     | 
| 
       2266 
     | 
    
         
            -
             
     | 
| 
       2267 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       2268 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/drilldowns_label_columns_name_stage.log
         
     | 
| 
       2269 
     | 
    
         
            -
            .. select Entries \
         
     | 
| 
       2270 
     | 
    
         
            -
            ..   --drilldowns[tag].keys tag \
         
     | 
| 
       2271 
     | 
    
         
            -
            ..   --drilldowns[tag].columns[is_popular].stage initial \
         
     | 
| 
       2272 
     | 
    
         
            -
            ..   --drilldowns[tag].columns[is_popular].type Bool \
         
     | 
| 
       2273 
     | 
    
         
            -
            ..   --drilldowns[tag].columns[is_popular].value '_nsubrecs > 1' \
         
     | 
| 
       2274 
     | 
    
         
            -
            ..   --drilldowns[tag].filter is_popular \
         
     | 
| 
       2275 
     | 
    
         
            -
            ..   --drilldowns[tag].output_columns _key,is_popular,_nsubrecs
         
     | 
| 
       2276 
     | 
    
         
            -
             
     | 
| 
       2277 
     | 
    
         
            -
            .. versionadded:: 4.0.8
         
     | 
| 
       2278 
     | 
    
         
            -
             
     | 
| 
       2279 
     | 
    
         
            -
            .. _select-drilldowns-label-output-format:
         
     | 
| 
       2280 
     | 
    
         
            -
             
     | 
| 
       2281 
     | 
    
         
            -
            Output format for ``drilldowns[${LABEL}]`` style
         
     | 
| 
       2282 
     | 
    
         
            -
            """"""""""""""""""""""""""""""""""""""""""""""""
         
     | 
| 
       2283 
     | 
    
         
            -
             
     | 
| 
       2284 
     | 
    
         
            -
            There is a difference in output format between :ref:`select-drilldown`
         
     | 
| 
       2285 
     | 
    
         
            -
            and :ref:`select-drilldowns-label-keys`. :ref:`select-drilldown` uses
         
     | 
| 
       2286 
     | 
    
         
            -
            array to output multiple drilldown results.
         
     | 
| 
       2287 
     | 
    
         
            -
            :ref:`select-drilldowns-label-keys` uses pairs of label and drilldown
         
     | 
| 
       2288 
     | 
    
         
            -
            result.
         
     | 
| 
       2289 
     | 
    
         
            -
             
     | 
| 
       2290 
     | 
    
         
            -
            :ref:`select-drilldown` uses the following output format::
         
     | 
| 
       2291 
     | 
    
         
            -
             
     | 
| 
       2292 
     | 
    
         
            -
              [
         
     | 
| 
       2293 
     | 
    
         
            -
                HEADER,
         
     | 
| 
       2294 
     | 
    
         
            -
                [
         
     | 
| 
       2295 
     | 
    
         
            -
                  SEARCH_RESULT,
         
     | 
| 
       2296 
     | 
    
         
            -
                  DRILLDOWN_RESULT1,
         
     | 
| 
       2297 
     | 
    
         
            -
                  DRILLDOWN_RESULT2,
         
     | 
| 
       2298 
     | 
    
         
            -
                  ...
         
     | 
| 
       2299 
     | 
    
         
            -
                ]
         
     | 
| 
       2300 
     | 
    
         
            -
              ]
         
     | 
| 
       2301 
     | 
    
         
            -
             
     | 
| 
       2302 
     | 
    
         
            -
            :ref:`select-drilldowns-label-keys` uses the following output format::
         
     | 
| 
       2303 
     | 
    
         
            -
             
     | 
| 
       2304 
     | 
    
         
            -
              [
         
     | 
| 
       2305 
     | 
    
         
            -
                HEADER,
         
     | 
| 
       2306 
     | 
    
         
            -
                [
         
     | 
| 
       2307 
     | 
    
         
            -
                  SEARCH_RESULT,
         
     | 
| 
       2308 
     | 
    
         
            -
                  {
         
     | 
| 
       2309 
     | 
    
         
            -
                    "LABEL1": DRILLDOWN_RESULT1,
         
     | 
| 
       2310 
     | 
    
         
            -
                    "LABEL2": DRILLDOWN_RESULT2,
         
     | 
| 
       2311 
     | 
    
         
            -
                    ...
         
     | 
| 
       2312 
     | 
    
         
            -
                  }
         
     | 
| 
       2313 
     | 
    
         
            -
                ]
         
     | 
| 
       2314 
     | 
    
         
            -
              ]
         
     | 
| 
       2315 
     | 
    
         
            -
             
     | 
| 
       2316 
     | 
    
         
            -
            .. _select-slice-related-parameters:
         
     | 
| 
       2317 
     | 
    
         
            -
             
     | 
| 
       2318 
     | 
    
         
            -
            Slice related parameters
         
     | 
| 
       2319 
     | 
    
         
            -
            ^^^^^^^^^^^^^^^^^^^^^^^^
         
     | 
| 
       2320 
     | 
    
         
            -
             
     | 
| 
       2321 
     | 
    
         
            -
            .. versionadded:: 6.0.3
         
     | 
| 
       2322 
     | 
    
         
            -
             
     | 
| 
       2323 
     | 
    
         
            -
            This section describes slice related parameters.
         
     | 
| 
       2324 
     | 
    
         
            -
             
     | 
| 
       2325 
     | 
    
         
            -
            TODO
         
     | 
| 
       2326 
     | 
    
         
            -
             
     | 
| 
       2327 
     | 
    
         
            -
            Here are parameters for slice:
         
     | 
| 
       2328 
     | 
    
         
            -
             
     | 
| 
       2329 
     | 
    
         
            -
            .. list-table::
         
     | 
| 
       2330 
     | 
    
         
            -
               :header-rows: 1
         
     | 
| 
       2331 
     | 
    
         
            -
             
     | 
| 
       2332 
     | 
    
         
            -
               * - Name
         
     | 
| 
       2333 
     | 
    
         
            -
                 - Required
         
     | 
| 
       2334 
     | 
    
         
            -
               * - ``--slices[${LABEL}].match_columns``
         
     | 
| 
       2335 
     | 
    
         
            -
                 - Optional
         
     | 
| 
       2336 
     | 
    
         
            -
               * - ``--slices[${LABEL}].query``
         
     | 
| 
       2337 
     | 
    
         
            -
                 - Required if ``--slices[${LABEL}].filter`` isn't specified.
         
     | 
| 
       2338 
     | 
    
         
            -
               * - ``--slices[${LABEL}].filter``
         
     | 
| 
       2339 
     | 
    
         
            -
                 - Required if ``--slices[${LABEL}].query`` isn't specified.
         
     | 
| 
       2340 
     | 
    
         
            -
               * - ``--slices[${LABEL}].query_expander``
         
     | 
| 
       2341 
     | 
    
         
            -
                 - Optional
         
     | 
| 
       2342 
     | 
    
         
            -
               * - ``--slices[${LABEL}].query_flags``
         
     | 
| 
       2343 
     | 
    
         
            -
                 - Optional
         
     | 
| 
       2344 
     | 
    
         
            -
               * - ``--slices[${LABEL}].sort_keys``
         
     | 
| 
       2345 
     | 
    
         
            -
                 - Optional
         
     | 
| 
       2346 
     | 
    
         
            -
               * - ``--slices[${LABEL}].output_columns``
         
     | 
| 
       2347 
     | 
    
         
            -
                 - Optional
         
     | 
| 
       2348 
     | 
    
         
            -
               * - ``--slices[${LABEL}].offset``
         
     | 
| 
       2349 
     | 
    
         
            -
                 - Optional
         
     | 
| 
       2350 
     | 
    
         
            -
               * - ``--slices[${LABEL}].limit``
         
     | 
| 
       2351 
     | 
    
         
            -
                 - Optional
         
     | 
| 
       2352 
     | 
    
         
            -
               * - ``--slices[${LABEL}].table``
         
     | 
| 
       2353 
     | 
    
         
            -
                 - Optional
         
     | 
| 
       2354 
     | 
    
         
            -
             
     | 
| 
       2355 
     | 
    
         
            -
            .. _select-slices-label-match-columns:
         
     | 
| 
       2356 
     | 
    
         
            -
             
     | 
| 
       2357 
     | 
    
         
            -
            ``slices[${LABEL}].match_columns``
         
     | 
| 
       2358 
     | 
    
         
            -
            """"""""""""""""""""""""""""""""""
         
     | 
| 
       2359 
     | 
    
         
            -
             
     | 
| 
       2360 
     | 
    
         
            -
            TODO
         
     | 
| 
       2361 
     | 
    
         
            -
             
     | 
| 
       2362 
     | 
    
         
            -
            .. _select-slices-label-query:
         
     | 
| 
       2363 
     | 
    
         
            -
             
     | 
| 
       2364 
     | 
    
         
            -
            ``slices[${LABEL}].query``
         
     | 
| 
       2365 
     | 
    
         
            -
            """"""""""""""""""""""""""
         
     | 
| 
       2366 
     | 
    
         
            -
             
     | 
| 
       2367 
     | 
    
         
            -
            TODO
         
     | 
| 
       2368 
     | 
    
         
            -
             
     | 
| 
       2369 
     | 
    
         
            -
            .. _select-slices-label-filter:
         
     | 
| 
       2370 
     | 
    
         
            -
             
     | 
| 
       2371 
     | 
    
         
            -
            ``slices[${LABEL}].filter``
         
     | 
| 
       2372 
     | 
    
         
            -
            """""""""""""""""""""""""""
         
     | 
| 
       2373 
     | 
    
         
            -
             
     | 
| 
       2374 
     | 
    
         
            -
            TODO
         
     | 
| 
       2375 
     | 
    
         
            -
             
     | 
| 
       2376 
     | 
    
         
            -
            .. _select-slices-label-query-expander:
         
     | 
| 
       2377 
     | 
    
         
            -
             
     | 
| 
       2378 
     | 
    
         
            -
            ``slices[${LABEL}].query_expander``
         
     | 
| 
       2379 
     | 
    
         
            -
            """""""""""""""""""""""""""""""""""
         
     | 
| 
       2380 
     | 
    
         
            -
             
     | 
| 
       2381 
     | 
    
         
            -
            TODO
         
     | 
| 
       2382 
     | 
    
         
            -
             
     | 
| 
       2383 
     | 
    
         
            -
            .. _select-slices-label-query-flags:
         
     | 
| 
       2384 
     | 
    
         
            -
             
     | 
| 
       2385 
     | 
    
         
            -
            ``slices[${LABEL}].query_flags``
         
     | 
| 
       2386 
     | 
    
         
            -
            """"""""""""""""""""""""""""""""
         
     | 
| 
       2387 
     | 
    
         
            -
             
     | 
| 
       2388 
     | 
    
         
            -
            TODO
         
     | 
| 
       2389 
     | 
    
         
            -
             
     | 
| 
       2390 
     | 
    
         
            -
            .. _select-slices-label-sort-keys:
         
     | 
| 
       2391 
     | 
    
         
            -
             
     | 
| 
       2392 
     | 
    
         
            -
            ``slices[${LABEL}].sort_keys``
         
     | 
| 
       2393 
     | 
    
         
            -
            """"""""""""""""""""""""""""""
         
     | 
| 
       2394 
     | 
    
         
            -
             
     | 
| 
       2395 
     | 
    
         
            -
            TODO
         
     | 
| 
       2396 
     | 
    
         
            -
             
     | 
| 
       2397 
     | 
    
         
            -
            .. _select-slices-label-output-columns:
         
     | 
| 
       2398 
     | 
    
         
            -
             
     | 
| 
       2399 
     | 
    
         
            -
            ``slices[${LABEL}].output_columns``
         
     | 
| 
       2400 
     | 
    
         
            -
            """""""""""""""""""""""""""""""""""
         
     | 
| 
       2401 
     | 
    
         
            -
             
     | 
| 
       2402 
     | 
    
         
            -
            TODO
         
     | 
| 
       2403 
     | 
    
         
            -
             
     | 
| 
       2404 
     | 
    
         
            -
            .. _select-slices-label-offset:
         
     | 
| 
       2405 
     | 
    
         
            -
             
     | 
| 
       2406 
     | 
    
         
            -
            ``slices[${LABEL}].offset``
         
     | 
| 
       2407 
     | 
    
         
            -
            """""""""""""""""""""""""""
         
     | 
| 
       2408 
     | 
    
         
            -
             
     | 
| 
       2409 
     | 
    
         
            -
            TODO
         
     | 
| 
       2410 
     | 
    
         
            -
             
     | 
| 
       2411 
     | 
    
         
            -
            .. _select-slices-label-limit:
         
     | 
| 
       2412 
     | 
    
         
            -
             
     | 
| 
       2413 
     | 
    
         
            -
            ``slices[${LABEL}].limit``
         
     | 
| 
       2414 
     | 
    
         
            -
            """"""""""""""""""""""""""
         
     | 
| 
       2415 
     | 
    
         
            -
             
     | 
| 
       2416 
     | 
    
         
            -
            TODO
         
     | 
| 
       2417 
     | 
    
         
            -
             
     | 
| 
       2418 
     | 
    
         
            -
            .. _select-slices-label-table:
         
     | 
| 
       2419 
     | 
    
         
            -
             
     | 
| 
       2420 
     | 
    
         
            -
            ``slices[${LABEL}].table``
         
     | 
| 
       2421 
     | 
    
         
            -
            """"""""""""""""""""""""""
         
     | 
| 
       2422 
     | 
    
         
            -
             
     | 
| 
       2423 
     | 
    
         
            -
            TODO
         
     | 
| 
       2424 
     | 
    
         
            -
             
     | 
| 
       2425 
     | 
    
         
            -
            Cache related parameter
         
     | 
| 
       2426 
     | 
    
         
            -
            ^^^^^^^^^^^^^^^^^^^^^^^
         
     | 
| 
       2427 
     | 
    
         
            -
             
     | 
| 
       2428 
     | 
    
         
            -
            .. _select-cache:
         
     | 
| 
       2429 
     | 
    
         
            -
             
     | 
| 
       2430 
     | 
    
         
            -
            ``cache``
         
     | 
| 
       2431 
     | 
    
         
            -
            """""""""
         
     | 
| 
       2432 
     | 
    
         
            -
             
     | 
| 
       2433 
     | 
    
         
            -
            Specifies whether caching the result of this query or not.
         
     | 
| 
       2434 
     | 
    
         
            -
             
     | 
| 
       2435 
     | 
    
         
            -
            If the result of this query is cached, the next same query returns
         
     | 
| 
       2436 
     | 
    
         
            -
            response quickly by using the cache.
         
     | 
| 
       2437 
     | 
    
         
            -
             
     | 
| 
       2438 
     | 
    
         
            -
            It doesn't control whether existing cached result is used or not.
         
     | 
| 
       2439 
     | 
    
         
            -
             
     | 
| 
       2440 
     | 
    
         
            -
            Here are available values:
         
     | 
| 
       2441 
     | 
    
         
            -
             
     | 
| 
       2442 
     | 
    
         
            -
            .. list-table::
         
     | 
| 
       2443 
     | 
    
         
            -
               :header-rows: 1
         
     | 
| 
       2444 
     | 
    
         
            -
             
     | 
| 
       2445 
     | 
    
         
            -
               * - Value
         
     | 
| 
       2446 
     | 
    
         
            -
                 - Description
         
     | 
| 
       2447 
     | 
    
         
            -
               * - ``no``
         
     | 
| 
       2448 
     | 
    
         
            -
                 - Don't cache the output of this query.
         
     | 
| 
       2449 
     | 
    
         
            -
               * - ``yes``
         
     | 
| 
       2450 
     | 
    
         
            -
                 - Cache the output of this query.
         
     | 
| 
       2451 
     | 
    
         
            -
                   It's the default value.
         
     | 
| 
       2452 
     | 
    
         
            -
             
     | 
| 
       2453 
     | 
    
         
            -
            Here is an example to disable caching the result of this query:
         
     | 
| 
       2454 
     | 
    
         
            -
             
     | 
| 
       2455 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       2456 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/cache_no.log
         
     | 
| 
       2457 
     | 
    
         
            -
            .. select Entries --cache no
         
     | 
| 
       2458 
     | 
    
         
            -
             
     | 
| 
       2459 
     | 
    
         
            -
            The default value is ``yes``.
         
     | 
| 
       2460 
     | 
    
         
            -
             
     | 
| 
       2461 
     | 
    
         
            -
            Score related parameters
         
     | 
| 
       2462 
     | 
    
         
            -
            ^^^^^^^^^^^^^^^^^^^^^^^^
         
     | 
| 
       2463 
     | 
    
         
            -
             
     | 
| 
       2464 
     | 
    
         
            -
            There is a score related parameter, ``adjuster``.
         
     | 
| 
       2465 
     | 
    
         
            -
             
     | 
| 
       2466 
     | 
    
         
            -
            .. _select-adjuster:
         
     | 
| 
       2467 
     | 
    
         
            -
             
     | 
| 
       2468 
     | 
    
         
            -
             
     | 
| 
       2469 
     | 
    
         
            -
            ``adjuster``
         
     | 
| 
       2470 
     | 
    
         
            -
            """"""""""""
         
     | 
| 
       2471 
     | 
    
         
            -
             
     | 
| 
       2472 
     | 
    
         
            -
            Specifies one or more score adjust expressions. You need to use
         
     | 
| 
       2473 
     | 
    
         
            -
            ``adjuster`` with ``query`` or ``filter``. ``adjuster`` doesn't work
         
     | 
| 
       2474 
     | 
    
         
            -
            with not searched request.
         
     | 
| 
       2475 
     | 
    
         
            -
             
     | 
| 
       2476 
     | 
    
         
            -
            You can increase score of specific records by ``adjuster``. You can
         
     | 
| 
       2477 
     | 
    
         
            -
            use ``adjuster`` to set high score for important records.
         
     | 
| 
       2478 
     | 
    
         
            -
             
     | 
| 
       2479 
     | 
    
         
            -
            For example, you can use ``adjuster`` to increase score of records
         
     | 
| 
       2480 
     | 
    
         
            -
            that have ``groonga`` tag.
         
     | 
| 
       2481 
     | 
    
         
            -
             
     | 
| 
       2482 
     | 
    
         
            -
            Here is the syntax::
         
     | 
| 
       2483 
     | 
    
         
            -
             
     | 
| 
       2484 
     | 
    
         
            -
              --adjuster "SCORE_ADJUST_EXPRESSION1 + SCORE_ADJUST_EXPRESSION2 + ..."
         
     | 
| 
       2485 
     | 
    
         
            -
             
     | 
| 
       2486 
     | 
    
         
            -
            Here is the ``SCORE_ADJUST_EXPRESSION`` syntax::
         
     | 
| 
       2487 
     | 
    
         
            -
             
     | 
| 
       2488 
     | 
    
         
            -
              COLUMN @ "KEYWORD" * FACTOR
         
     | 
| 
       2489 
     | 
    
         
            -
             
     | 
| 
       2490 
     | 
    
         
            -
            Note the following:
         
     | 
| 
       2491 
     | 
    
         
            -
             
     | 
| 
       2492 
     | 
    
         
            -
              * ``COLUMN`` must be indexed.
         
     | 
| 
       2493 
     | 
    
         
            -
              * ``"KEYWORD"`` must be a string.
         
     | 
| 
       2494 
     | 
    
         
            -
              * ``FACTOR`` must be a positive integer.
         
     | 
| 
       2495 
     | 
    
         
            -
             
     | 
| 
       2496 
     | 
    
         
            -
            Here is a sample ``adjuster`` usage example that uses just one
         
     | 
| 
       2497 
     | 
    
         
            -
            ``SCORE_ADJUST_EXPRESSION``:
         
     | 
| 
       2498 
     | 
    
         
            -
             
     | 
| 
       2499 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       2500 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/adjuster_one.log
         
     | 
| 
       2501 
     | 
    
         
            -
            .. select Entries \
         
     | 
| 
       2502 
     | 
    
         
            -
            ..   --filter true \
         
     | 
| 
       2503 
     | 
    
         
            -
            ..   --adjuster 'content @ "groonga" * 5' \
         
     | 
| 
       2504 
     | 
    
         
            -
            ..   --output_columns _key,content,_score
         
     | 
| 
       2505 
     | 
    
         
            -
             
     | 
| 
       2506 
     | 
    
         
            -
            The ``select`` command matches all records. Then it applies
         
     | 
| 
       2507 
     | 
    
         
            -
            ``adjuster``. The adjuster increases score of records that have
         
     | 
| 
       2508 
     | 
    
         
            -
            ``"groonga"`` in ``Entries.content`` column by 5. There is only one
         
     | 
| 
       2509 
     | 
    
         
            -
            record that has ``"groonga"`` in ``Entries.content`` column.  So the
         
     | 
| 
       2510 
     | 
    
         
            -
            record that its key is ``"Groonga"`` has score 6 (``= 1 + 5``).
         
     | 
| 
       2511 
     | 
    
         
            -
             
     | 
| 
       2512 
     | 
    
         
            -
            You can omit ``FACTOR``. If you omit ``FACTOR``, it is treated as 1.
         
     | 
| 
       2513 
     | 
    
         
            -
             
     | 
| 
       2514 
     | 
    
         
            -
            Here is a sample ``adjuster`` usage example that omits ``FACTOR``:
         
     | 
| 
       2515 
     | 
    
         
            -
             
     | 
| 
       2516 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       2517 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/adjuster_no_factor.log
         
     | 
| 
       2518 
     | 
    
         
            -
            .. select Entries \
         
     | 
| 
       2519 
     | 
    
         
            -
            ..   --filter true \
         
     | 
| 
       2520 
     | 
    
         
            -
            ..   --adjuster 'content @ "groonga"' \
         
     | 
| 
       2521 
     | 
    
         
            -
            ..   --output_columns _key,content,_score
         
     | 
| 
       2522 
     | 
    
         
            -
             
     | 
| 
       2523 
     | 
    
         
            -
            The ``adjuster`` in the ``select`` command doesn't have ``FACTOR``. So
         
     | 
| 
       2524 
     | 
    
         
            -
            the factor is treated as 1. There is only one record that has
         
     | 
| 
       2525 
     | 
    
         
            -
            ``"groonga"`` in ``Entries.content`` column. So the record that its
         
     | 
| 
       2526 
     | 
    
         
            -
            key is ``"Groonga"`` has score 2 (``= 1 + 1``).
         
     | 
| 
       2527 
     | 
    
         
            -
             
     | 
| 
       2528 
     | 
    
         
            -
            Here is a sample ``adjuster`` usage example that uses multiple
         
     | 
| 
       2529 
     | 
    
         
            -
            ``SCORE_ADJUST_EXPRESSION``:
         
     | 
| 
       2530 
     | 
    
         
            -
             
     | 
| 
       2531 
     | 
    
         
            -
            .. groonga-command
         
     | 
| 
       2532 
     | 
    
         
            -
            .. include:: ../../example/reference/commands/select/adjuster_multiple.log
         
     | 
| 
       2533 
     | 
    
         
            -
            .. select Entries \
         
     | 
| 
       2534 
     | 
    
         
            -
            ..   --filter true \
         
     | 
| 
       2535 
     | 
    
         
            -
            ..   --adjuster 'content @ "groonga" * 5 + content @ "started" * 3' \
         
     | 
| 
       2536 
     | 
    
         
            -
            ..   --output_columns _key,content,_score
         
     | 
| 
       2537 
     | 
    
         
            -
             
     | 
| 
       2538 
     | 
    
         
            -
            The ``adjuster`` in the ``select`` command has two
         
     | 
| 
       2539 
     | 
    
         
            -
            ``SCORE_ADJUST_EXPRESSION`` s. The final increased score is sum of
         
     | 
| 
       2540 
     | 
    
         
            -
            scores of these ``SCORE_ADJUST_EXPRESSION`` s. All
         
     | 
| 
       2541 
     | 
    
         
            -
            ``SCORE_ADJUST_EXPRESSION`` s in the ``select`` command are applied to
         
     | 
| 
       2542 
     | 
    
         
            -
            a record that its key is ``"Groonga"``. So the final increased score
         
     | 
| 
       2543 
     | 
    
         
            -
            of the record is sum of scores of all ``SCORE_ADJUST_EXPRESSION`` s.
         
     | 
| 
       2544 
     | 
    
         
            -
             
     | 
| 
       2545 
     | 
    
         
            -
            The first ``SCORE_ADJUST_EXPRESSION`` is ``content @ "groonga" * 5``.
         
     | 
| 
       2546 
     | 
    
         
            -
            It increases score by 5.
         
     | 
| 
       2547 
     | 
    
         
            -
             
     | 
| 
       2548 
     | 
    
         
            -
            The second ``SCORE_ADJUST_EXPRESSION`` is ``content @ "started" * 3``.
         
     | 
| 
       2549 
     | 
    
         
            -
            It increases score by 3.
         
     | 
| 
       2550 
     | 
    
         
            -
             
     | 
| 
       2551 
     | 
    
         
            -
            The final increased score is 9 (``= 1 + 5 + 3``).
         
     | 
| 
       2552 
     | 
    
         
            -
             
     | 
| 
       2553 
     | 
    
         
            -
            A ``SCORE_ADJUST_EXPRESSION`` has a factor for ``"KEYWORD"``. This
         
     | 
| 
       2554 
     | 
    
         
            -
            means that increased scores of all records that has ``"KEYWORD"`` are
         
     | 
| 
       2555 
     | 
    
         
            -
            the same value. You can change increase score for each record that has
         
     | 
| 
       2556 
     | 
    
         
            -
            the same ``"KEYWORD"``. It is useful to tune search score. See
         
     | 
| 
       2557 
     | 
    
         
            -
            :ref:`weight-vector-column` for details.
         
     | 
| 
       2558 
     | 
    
         
            -
             
     | 
| 
       2559 
     | 
    
         
            -
            .. _select-return-value:
         
     | 
| 
       2560 
     | 
    
         
            -
             
     | 
| 
       2561 
     | 
    
         
            -
            Return value
         
     | 
| 
       2562 
     | 
    
         
            -
            ------------
         
     | 
| 
       2563 
     | 
    
         
            -
             
     | 
| 
       2564 
     | 
    
         
            -
            ``select`` returns response with the following format::
         
     | 
| 
       2565 
     | 
    
         
            -
             
     | 
| 
       2566 
     | 
    
         
            -
              [
         
     | 
| 
       2567 
     | 
    
         
            -
                HEADER,
         
     | 
| 
       2568 
     | 
    
         
            -
                [
         
     | 
| 
       2569 
     | 
    
         
            -
                  SEARCH_RESULT,
         
     | 
| 
       2570 
     | 
    
         
            -
                  DRILLDOWN_RESULT_1,
         
     | 
| 
       2571 
     | 
    
         
            -
                  DRILLDOWN_RESULT_2,
         
     | 
| 
       2572 
     | 
    
         
            -
                  ...,
         
     | 
| 
       2573 
     | 
    
         
            -
                  DRILLDOWN_RESULT_N
         
     | 
| 
       2574 
     | 
    
         
            -
                ]
         
     | 
| 
       2575 
     | 
    
         
            -
              ]
         
     | 
| 
       2576 
     | 
    
         
            -
             
     | 
| 
       2577 
     | 
    
         
            -
            If ``select`` fails, error details are in ``HEADER``.
         
     | 
| 
       2578 
     | 
    
         
            -
             
     | 
| 
       2579 
     | 
    
         
            -
            See :doc:`/reference/command/output_format` for ``HEADER``.
         
     | 
| 
       2580 
     | 
    
         
            -
             
     | 
| 
       2581 
     | 
    
         
            -
            There are zero or more ``DRILLDOWN_RESULT``. If no ``drilldown`` and
         
     | 
| 
       2582 
     | 
    
         
            -
            ``drilldowns[${LABEL}].keys`` are specified, they are omitted like the
         
     | 
| 
       2583 
     | 
    
         
            -
            following::
         
     | 
| 
       2584 
     | 
    
         
            -
             
     | 
| 
       2585 
     | 
    
         
            -
              [
         
     | 
| 
       2586 
     | 
    
         
            -
                HEADER,
         
     | 
| 
       2587 
     | 
    
         
            -
                [
         
     | 
| 
       2588 
     | 
    
         
            -
                  SEARCH_RESULT
         
     | 
| 
       2589 
     | 
    
         
            -
                ]
         
     | 
| 
       2590 
     | 
    
         
            -
              ]
         
     | 
| 
       2591 
     | 
    
         
            -
             
     | 
| 
       2592 
     | 
    
         
            -
            If ``drilldown`` has two or more keys like ``--drilldown "_key,
         
     | 
| 
       2593 
     | 
    
         
            -
            column1, column2"``, multiple ``DRILLDOWN_RESULT`` exist::
         
     | 
| 
       2594 
     | 
    
         
            -
             
     | 
| 
       2595 
     | 
    
         
            -
              [
         
     | 
| 
       2596 
     | 
    
         
            -
                HEADER,
         
     | 
| 
       2597 
     | 
    
         
            -
                [
         
     | 
| 
       2598 
     | 
    
         
            -
                  SEARCH_RESULT,
         
     | 
| 
       2599 
     | 
    
         
            -
                  DRILLDOWN_RESULT_FOR_KEY,
         
     | 
| 
       2600 
     | 
    
         
            -
                  DRILLDOWN_RESULT_FOR_COLUMN1,
         
     | 
| 
       2601 
     | 
    
         
            -
                  DRILLDOWN_RESULT_FOR_COLUMN2
         
     | 
| 
       2602 
     | 
    
         
            -
                ]
         
     | 
| 
       2603 
     | 
    
         
            -
              ]
         
     | 
| 
       2604 
     | 
    
         
            -
             
     | 
| 
       2605 
     | 
    
         
            -
            If ``drilldowns[${LABEL}].keys`` is used, only one ``DRILLDOWN_RESULT``
         
     | 
| 
       2606 
     | 
    
         
            -
            exist::
         
     | 
| 
       2607 
     | 
    
         
            -
             
     | 
| 
       2608 
     | 
    
         
            -
              [
         
     | 
| 
       2609 
     | 
    
         
            -
                HEADER,
         
     | 
| 
       2610 
     | 
    
         
            -
                [
         
     | 
| 
       2611 
     | 
    
         
            -
                  SEARCH_RESULT,
         
     | 
| 
       2612 
     | 
    
         
            -
                  DRILLDOWN_RESULT_FOR_LABELED_DRILLDOWN
         
     | 
| 
       2613 
     | 
    
         
            -
                ]
         
     | 
| 
       2614 
     | 
    
         
            -
              ]
         
     | 
| 
       2615 
     | 
    
         
            -
             
     | 
| 
       2616 
     | 
    
         
            -
            ``DRILLDOWN_RESULT`` format is different between ``drilldown`` and
         
     | 
| 
       2617 
     | 
    
         
            -
            ``drilldowns[${LABEL}].keys``. It's described later.
         
     | 
| 
       2618 
     | 
    
         
            -
             
     | 
| 
       2619 
     | 
    
         
            -
            ``SEARCH_RESULT`` is the following format::
         
     | 
| 
       2620 
     | 
    
         
            -
             
     | 
| 
       2621 
     | 
    
         
            -
              [
         
     | 
| 
       2622 
     | 
    
         
            -
                [N_HITS],
         
     | 
| 
       2623 
     | 
    
         
            -
                COLUMNS,
         
     | 
| 
       2624 
     | 
    
         
            -
                RECORDS
         
     | 
| 
       2625 
     | 
    
         
            -
              ]
         
     | 
| 
       2626 
     | 
    
         
            -
             
     | 
| 
       2627 
     | 
    
         
            -
            See :ref:`select-simple-usage` for concrete example of the format.
         
     | 
| 
       2628 
     | 
    
         
            -
             
     | 
| 
       2629 
     | 
    
         
            -
            ``N_HITS`` is the number of matched records before :ref:`select-limit`
         
     | 
| 
       2630 
     | 
    
         
            -
            is applied.
         
     | 
| 
       2631 
     | 
    
         
            -
             
     | 
| 
       2632 
     | 
    
         
            -
            ``COLUMNS`` describes about output columns specified by
         
     | 
| 
       2633 
     | 
    
         
            -
            :ref:`select-output-columns`. It uses the following format::
         
     | 
| 
       2634 
     | 
    
         
            -
             
     | 
| 
       2635 
     | 
    
         
            -
              [
         
     | 
| 
       2636 
     | 
    
         
            -
                [COLUMN_NAME_1, COLUMN_TYPE_1],
         
     | 
| 
       2637 
     | 
    
         
            -
                [COLUMN_NAME_2, COLUMN_TYPE_2],
         
     | 
| 
       2638 
     | 
    
         
            -
                ...,
         
     | 
| 
       2639 
     | 
    
         
            -
                [COLUMN_NAME_N, COLUMN_TYPE_N]
         
     | 
| 
       2640 
     | 
    
         
            -
              ]
         
     | 
| 
       2641 
     | 
    
         
            -
             
     | 
| 
       2642 
     | 
    
         
            -
            ``COLUMNS`` includes one or more output column information. Each
         
     | 
| 
       2643 
     | 
    
         
            -
            output column information includes the followings:
         
     | 
| 
       2644 
     | 
    
         
            -
             
     | 
| 
       2645 
     | 
    
         
            -
              * Column name as string
         
     | 
| 
       2646 
     | 
    
         
            -
              * Column type as string or ``null``
         
     | 
| 
       2647 
     | 
    
         
            -
             
     | 
| 
       2648 
     | 
    
         
            -
            Column name is extracted from value specified as
         
     | 
| 
       2649 
     | 
    
         
            -
            :ref:`select-output-columns`.
         
     | 
| 
       2650 
     | 
    
         
            -
             
     | 
| 
       2651 
     | 
    
         
            -
            Column type is Groonga's type name or ``null``. It doesn't describe
         
     | 
| 
       2652 
     | 
    
         
            -
            whether the column value is vector or scalar. You need to determine it
         
     | 
| 
       2653 
     | 
    
         
            -
            by whether real column value is array or not.
         
     | 
| 
       2654 
     | 
    
         
            -
             
     | 
| 
       2655 
     | 
    
         
            -
            See :doc:`/reference/types` for type details.
         
     | 
| 
       2656 
     | 
    
         
            -
             
     | 
| 
       2657 
     | 
    
         
            -
            ``null`` is used when column value type isn't determined. For example,
         
     | 
| 
       2658 
     | 
    
         
            -
            function call in :ref:`select-output-columns` such as
         
     | 
| 
       2659 
     | 
    
         
            -
            ``--output_columns "snippet_html(content)"`` uses ``null``.
         
     | 
| 
       2660 
     | 
    
         
            -
             
     | 
| 
       2661 
     | 
    
         
            -
            Here is an example of ``COLUMNS``::
         
     | 
| 
       2662 
     | 
    
         
            -
             
     | 
| 
       2663 
     | 
    
         
            -
              [
         
     | 
| 
       2664 
     | 
    
         
            -
                ["_id",     "UInt32"],
         
     | 
| 
       2665 
     | 
    
         
            -
                ["_key",    "ShortText"],
         
     | 
| 
       2666 
     | 
    
         
            -
                ["n_likes", "UInt32"],
         
     | 
| 
       2667 
     | 
    
         
            -
              ]
         
     | 
| 
       2668 
     | 
    
         
            -
             
     | 
| 
       2669 
     | 
    
         
            -
            ``RECORDS`` includes column values for each matched record. Included
         
     | 
| 
       2670 
     | 
    
         
            -
            records are selected by :ref:`select-offset` and
         
     | 
| 
       2671 
     | 
    
         
            -
            :ref:`select-limit`. It uses the following format::
         
     | 
| 
       2672 
     | 
    
         
            -
             
     | 
| 
       2673 
     | 
    
         
            -
              [
         
     | 
| 
       2674 
     | 
    
         
            -
                [
         
     | 
| 
       2675 
     | 
    
         
            -
                  RECORD_1_COLUMN_1,
         
     | 
| 
       2676 
     | 
    
         
            -
                  RECORD_1_COLUMN_2,
         
     | 
| 
       2677 
     | 
    
         
            -
                  ...,
         
     | 
| 
       2678 
     | 
    
         
            -
                  RECORD_1_COLUMN_N
         
     | 
| 
       2679 
     | 
    
         
            -
                ],
         
     | 
| 
       2680 
     | 
    
         
            -
                [
         
     | 
| 
       2681 
     | 
    
         
            -
                  RECORD_2_COLUMN_1,
         
     | 
| 
       2682 
     | 
    
         
            -
                  RECORD_2_COLUMN_2,
         
     | 
| 
       2683 
     | 
    
         
            -
                  ...,
         
     | 
| 
       2684 
     | 
    
         
            -
                  RECORD_2_COLUMN_N
         
     | 
| 
       2685 
     | 
    
         
            -
                ],
         
     | 
| 
       2686 
     | 
    
         
            -
                ...
         
     | 
| 
       2687 
     | 
    
         
            -
                [
         
     | 
| 
       2688 
     | 
    
         
            -
                  RECORD_N_COLUMN_1,
         
     | 
| 
       2689 
     | 
    
         
            -
                  RECORD_N_COLUMN_2,
         
     | 
| 
       2690 
     | 
    
         
            -
                  ...,
         
     | 
| 
       2691 
     | 
    
         
            -
                  RECORD_N_COLUMN_N
         
     | 
| 
       2692 
     | 
    
         
            -
                ]
         
     | 
| 
       2693 
     | 
    
         
            -
              ]
         
     | 
| 
       2694 
     | 
    
         
            -
             
     | 
| 
       2695 
     | 
    
         
            -
            Here is an example ``RECORDS``::
         
     | 
| 
       2696 
     | 
    
         
            -
             
     | 
| 
       2697 
     | 
    
         
            -
              [
         
     | 
| 
       2698 
     | 
    
         
            -
                [
         
     | 
| 
       2699 
     | 
    
         
            -
                  1,
         
     | 
| 
       2700 
     | 
    
         
            -
                  "The first post!",
         
     | 
| 
       2701 
     | 
    
         
            -
                  5
         
     | 
| 
       2702 
     | 
    
         
            -
                ],
         
     | 
| 
       2703 
     | 
    
         
            -
                [
         
     | 
| 
       2704 
     | 
    
         
            -
                  2,
         
     | 
| 
       2705 
     | 
    
         
            -
                  "Groonga",
         
     | 
| 
       2706 
     | 
    
         
            -
                  10
         
     | 
| 
       2707 
     | 
    
         
            -
                ],
         
     | 
| 
       2708 
     | 
    
         
            -
                [
         
     | 
| 
       2709 
     | 
    
         
            -
                  3,
         
     | 
| 
       2710 
     | 
    
         
            -
                  "Mroonga",
         
     | 
| 
       2711 
     | 
    
         
            -
                  15
         
     | 
| 
       2712 
     | 
    
         
            -
                ]
         
     | 
| 
       2713 
     | 
    
         
            -
              ]
         
     | 
| 
       2714 
     | 
    
         
            -
             
     | 
| 
       2715 
     | 
    
         
            -
            ``DRILLDOWN_RESULT`` format is different between ``drilldown`` and
         
     | 
| 
       2716 
     | 
    
         
            -
            ``drilldowns[${LABEL}].keys``.
         
     | 
| 
       2717 
     | 
    
         
            -
             
     | 
| 
       2718 
     | 
    
         
            -
            ``drilldown`` uses the same format as ``SEARCH_RESULT``::
         
     | 
| 
       2719 
     | 
    
         
            -
             
     | 
| 
       2720 
     | 
    
         
            -
              [
         
     | 
| 
       2721 
     | 
    
         
            -
                [N_HITS],
         
     | 
| 
       2722 
     | 
    
         
            -
                COLUMNS,
         
     | 
| 
       2723 
     | 
    
         
            -
                RECORDS
         
     | 
| 
       2724 
     | 
    
         
            -
              ]
         
     | 
| 
       2725 
     | 
    
         
            -
             
     | 
| 
       2726 
     | 
    
         
            -
            And ``drilldown`` generates one or more ``DRILLDOWN_RESULT`` when
         
     | 
| 
       2727 
     | 
    
         
            -
            :ref:`select-drilldown` has one ore more keys.
         
     | 
| 
       2728 
     | 
    
         
            -
             
     | 
| 
       2729 
     | 
    
         
            -
            ``drilldowns[${LABEL}].keys`` uses the following format. Multiple
         
     | 
| 
       2730 
     | 
    
         
            -
            ``drilldowns[${LABEL}].keys`` are mapped to one object (key-value
         
     | 
| 
       2731 
     | 
    
         
            -
            pairs)::
         
     | 
| 
       2732 
     | 
    
         
            -
             
     | 
| 
       2733 
     | 
    
         
            -
              {
         
     | 
| 
       2734 
     | 
    
         
            -
                "LABEL_1": [
         
     | 
| 
       2735 
     | 
    
         
            -
                  [N_HITS],
         
     | 
| 
       2736 
     | 
    
         
            -
                  COLUMNS,
         
     | 
| 
       2737 
     | 
    
         
            -
                  RECORDS
         
     | 
| 
       2738 
     | 
    
         
            -
                ],
         
     | 
| 
       2739 
     | 
    
         
            -
                "LABEL_2": [
         
     | 
| 
       2740 
     | 
    
         
            -
                  [N_HITS],
         
     | 
| 
       2741 
     | 
    
         
            -
                  COLUMNS,
         
     | 
| 
       2742 
     | 
    
         
            -
                  RECORDS
         
     | 
| 
       2743 
     | 
    
         
            -
                ],
         
     | 
| 
       2744 
     | 
    
         
            -
                ...,
         
     | 
| 
       2745 
     | 
    
         
            -
                "LABEL_N": [
         
     | 
| 
       2746 
     | 
    
         
            -
                  [N_HITS],
         
     | 
| 
       2747 
     | 
    
         
            -
                  COLUMNS,
         
     | 
| 
       2748 
     | 
    
         
            -
                  RECORDS
         
     | 
| 
       2749 
     | 
    
         
            -
                ]
         
     | 
| 
       2750 
     | 
    
         
            -
              }
         
     | 
| 
       2751 
     | 
    
         
            -
             
     | 
| 
       2752 
     | 
    
         
            -
            Each ``drilldowns[${LABEL}].keys`` corresponds to the following::
         
     | 
| 
       2753 
     | 
    
         
            -
             
     | 
| 
       2754 
     | 
    
         
            -
              "LABEL": [
         
     | 
| 
       2755 
     | 
    
         
            -
                [N_HITS],
         
     | 
| 
       2756 
     | 
    
         
            -
                COLUMNS,
         
     | 
| 
       2757 
     | 
    
         
            -
                RECORDS
         
     | 
| 
       2758 
     | 
    
         
            -
              ]
         
     | 
| 
       2759 
     | 
    
         
            -
             
     | 
| 
       2760 
     | 
    
         
            -
            The following value part is the same format as ``SEARCH_RESULT``::
         
     | 
| 
       2761 
     | 
    
         
            -
             
     | 
| 
       2762 
     | 
    
         
            -
              [
         
     | 
| 
       2763 
     | 
    
         
            -
                [N_HITS],
         
     | 
| 
       2764 
     | 
    
         
            -
                COLUMNS,
         
     | 
| 
       2765 
     | 
    
         
            -
                RECORDS
         
     | 
| 
       2766 
     | 
    
         
            -
              ]
         
     | 
| 
       2767 
     | 
    
         
            -
             
     | 
| 
       2768 
     | 
    
         
            -
            See also :ref:`select-drilldowns-label-output-format` for
         
     | 
| 
       2769 
     | 
    
         
            -
            ``drilldowns[${LABEL}]`` style drilldown output format.
         
     | 
| 
       2770 
     | 
    
         
            -
             
     | 
| 
       2771 
     | 
    
         
            -
             
     | 
| 
       2772 
     | 
    
         
            -
            See also
         
     | 
| 
       2773 
     | 
    
         
            -
            --------
         
     | 
| 
       2774 
     | 
    
         
            -
             
     | 
| 
       2775 
     | 
    
         
            -
              * :doc:`/reference/grn_expr/query_syntax`
         
     | 
| 
       2776 
     | 
    
         
            -
              * :doc:`/reference/grn_expr/script_syntax`
         
     |