rroonga 4.0.8-x86-mingw32 → 5.0.0-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/README.md +2 -2
- data/doc/text/news.textile +19 -0
- data/ext/groonga/rb-grn-exception.c +35 -1
- data/ext/groonga/rb-grn-normalizer.c +37 -7
- data/ext/groonga/rb-grn-table.c +106 -35
- data/ext/groonga/rb-grn.h +3 -2
- data/lib/1.9/groonga.so +0 -0
- data/lib/2.0/groonga.so +0 -0
- data/lib/2.1/groonga.so +0 -0
- data/lib/groonga/record.rb +45 -1
- data/rroonga-build.rb +6 -5
- data/test/groonga-test-utils.rb +9 -0
- data/test/test-array.rb +11 -0
- data/test/test-exception.rb +3 -1
- data/test/test-normalizer.rb +28 -0
- data/test/test-record.rb +34 -0
- data/test/test-table-group.rb +366 -0
- data/test/test-table.rb +0 -182
- data/vendor/local/bin/grndb.exe +0 -0
- data/vendor/local/bin/groonga-benchmark.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-1.dll +0 -0
- data/vendor/local/bin/libmsgpack-3.dll +0 -0
- data/vendor/local/bin/libmsgpackc-2.dll +0 -0
- data/vendor/local/bin/libonig-5.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-config +2 -2
- data/vendor/local/bin/mecab.exe +0 -0
- data/vendor/local/bin/onig-config +1 -1
- data/vendor/local/bin/zlib1.dll +0 -0
- data/vendor/local/etc/groonga/httpd/groonga-httpd.conf +2 -2
- data/vendor/local/include/groonga/groonga.h +2 -1
- data/vendor/local/include/groonga/groonga/command.h +79 -0
- data/vendor/local/include/groonga/groonga/groonga.h +32 -74
- data/vendor/local/include/groonga/groonga/output.h +108 -0
- data/vendor/local/include/groonga/groonga/plugin.h +18 -3
- 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 +3 -3
- data/vendor/local/lib/groonga/plugins/ruby/eval.a +0 -0
- data/vendor/local/lib/groonga/plugins/ruby/eval.dll +0 -0
- data/vendor/local/lib/groonga/plugins/ruby/eval.dll.a +0 -0
- data/vendor/local/lib/groonga/plugins/ruby/eval.la +3 -3
- data/vendor/local/lib/groonga/plugins/ruby/load.a +0 -0
- data/vendor/local/lib/groonga/plugins/ruby/load.dll +0 -0
- data/vendor/local/lib/groonga/plugins/ruby/load.dll.a +0 -0
- data/vendor/local/lib/groonga/plugins/ruby/load.la +3 -3
- data/vendor/local/lib/groonga/plugins/sharding.rb +3 -0
- data/vendor/local/lib/groonga/plugins/sharding/logical_count.rb +157 -0
- data/vendor/local/lib/groonga/plugins/sharding/logical_enumerator.rb +170 -0
- data/vendor/local/lib/groonga/plugins/sharding/logical_range_filter.rb +50 -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 +3 -3
- data/vendor/local/lib/groonga/plugins/table/table.a +0 -0
- data/vendor/local/lib/groonga/plugins/table/table.dll +0 -0
- data/vendor/local/lib/groonga/plugins/table/table.dll.a +0 -0
- data/vendor/local/lib/groonga/plugins/table/table.la +3 -3
- 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 +3 -3
- 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 +3 -3
- data/vendor/local/lib/groonga/scripts/ruby/command.rb +35 -0
- data/vendor/local/lib/groonga/scripts/ruby/{command → command_line}/grndb.rb +1 -1
- data/vendor/local/lib/groonga/scripts/ruby/context.rb +29 -8
- data/vendor/local/lib/groonga/scripts/ruby/context/rc.rb +166 -76
- data/vendor/local/lib/groonga/scripts/ruby/database.rb +16 -4
- data/vendor/local/lib/groonga/scripts/ruby/error.rb +16 -0
- data/vendor/local/lib/groonga/scripts/ruby/index_cursor.rb +18 -0
- data/vendor/local/lib/groonga/scripts/ruby/initialize/post.rb +10 -0
- data/vendor/local/lib/groonga/scripts/ruby/logger.rb +5 -1
- data/vendor/local/lib/groonga/scripts/ruby/plugin_loader.rb +14 -0
- data/vendor/local/lib/groonga/scripts/ruby/require.rb +1 -1
- data/vendor/local/lib/groonga/scripts/ruby/scan_info_builder.rb +3 -3
- data/vendor/local/lib/groonga/scripts/ruby/scan_info_data.rb +4 -2
- data/vendor/local/lib/groonga/scripts/ruby/table_cursor.rb +15 -0
- data/vendor/local/lib/groonga/scripts/ruby/writer.rb +21 -0
- data/vendor/local/lib/libgroonga.a +0 -0
- data/vendor/local/lib/libgroonga.dll.a +0 -0
- data/vendor/local/lib/libgroonga.la +3 -3
- 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/libmsgpack.a +0 -0
- data/vendor/local/lib/libmsgpack.dll.a +0 -0
- data/vendor/local/lib/libmsgpack.la +2 -2
- data/vendor/local/lib/libmsgpackc.a +0 -0
- data/vendor/local/lib/libmsgpackc.dll.a +0 -0
- data/vendor/local/lib/libmsgpackc.la +2 -2
- data/vendor/local/lib/libonig.a +0 -0
- data/vendor/local/lib/libonig.dll.a +0 -0
- data/vendor/local/lib/libonig.la +2 -2
- data/vendor/local/lib/libz.a +0 -0
- data/vendor/local/lib/libz.dll.a +0 -0
- data/vendor/local/lib/pkgconfig/groonga.pc +3 -3
- data/vendor/local/lib/pkgconfig/liblz4.pc +5 -5
- data/vendor/local/lib/pkgconfig/msgpack.pc +1 -1
- data/vendor/local/lib/pkgconfig/oniguruma.pc +6 -6
- data/vendor/local/lib/pkgconfig/zlib.pc +3 -3
- 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/sbin/groonga-httpd-restart +1 -1
- data/vendor/local/sbin/groonga-httpd.exe +0 -0
- data/vendor/local/share/doc/groonga/en/html/.buildinfo +1 -1
- data/vendor/local/share/doc/groonga/en/html/_sources/install/centos.txt +3 -3
- data/vendor/local/share/doc/groonga/en/html/_sources/install/debian.txt +4 -4
- data/vendor/local/share/doc/groonga/en/html/_sources/install/fedora.txt +3 -3
- data/vendor/local/share/doc/groonga/en/html/_sources/install/mac_os_x.txt +5 -5
- data/vendor/local/share/doc/groonga/en/html/_sources/install/others.txt +3 -3
- data/vendor/local/share/doc/groonga/en/html/_sources/install/solaris.txt +3 -3
- data/vendor/local/share/doc/groonga/en/html/_sources/install/ubuntu.txt +4 -4
- data/vendor/local/share/doc/groonga/en/html/_sources/install/windows.txt +9 -9
- data/vendor/local/share/doc/groonga/en/html/_sources/news.txt +16 -570
- data/vendor/local/share/doc/groonga/en/html/_sources/news/2.x.txt +5 -4
- data/vendor/local/share/doc/groonga/en/html/_sources/news/3.x.txt +1 -1
- data/vendor/local/share/doc/groonga/en/html/_sources/news/4.x.txt +686 -0
- data/vendor/local/share/doc/groonga/en/html/_sources/reference.txt +0 -1
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/api/grn_ctx.txt +3 -1
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/column.txt +12 -4
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/columns/index.txt +19 -0
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/columns/pseudo.txt +2 -2
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/columns/scalar.txt +19 -0
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/commands/select.txt +734 -29
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/functions/html_untag.txt +2 -1
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/grn_expr/query_syntax.txt +8 -7
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/grn_expr/script_syntax.txt +50 -0
- data/vendor/local/share/doc/groonga/en/html/_sources/reference/suggest/completion.txt +25 -23
- data/vendor/local/share/doc/groonga/en/html/_sources/server/http.txt +1 -1
- data/vendor/local/share/doc/groonga/en/html/_static/basic.css +68 -6
- data/vendor/local/share/doc/groonga/en/html/_static/doctools.js +26 -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 +10308 -0
- data/vendor/local/share/doc/groonga/en/html/_static/jquery.js +4 -2
- 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 +2 -2
- data/vendor/local/share/doc/groonga/en/html/_static/underscore-1.3.1.js +999 -0
- 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 +15 -15
- data/vendor/local/share/doc/groonga/en/html/characteristic.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/client.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/community.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/contribution.html +21 -19
- data/vendor/local/share/doc/groonga/en/html/contribution/development.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/contribution/development/com.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/contribution/development/cooperation.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/contribution/development/query.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/contribution/development/release.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/contribution/development/repository.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/contribution/development/test.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/contribution/documentation.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/contribution/documentation/c-api.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/contribution/documentation/i18n.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/contribution/documentation/introduction.html +27 -25
- data/vendor/local/share/doc/groonga/en/html/contribution/report.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/development.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/development/travis-ci.html +27 -25
- data/vendor/local/share/doc/groonga/en/html/genindex.html +13 -13
- data/vendor/local/share/doc/groonga/en/html/index.html +86 -78
- data/vendor/local/share/doc/groonga/en/html/install.html +36 -34
- data/vendor/local/share/doc/groonga/en/html/install/centos.html +31 -29
- data/vendor/local/share/doc/groonga/en/html/install/debian.html +27 -25
- data/vendor/local/share/doc/groonga/en/html/install/fedora.html +28 -26
- data/vendor/local/share/doc/groonga/en/html/install/mac_os_x.html +33 -30
- data/vendor/local/share/doc/groonga/en/html/install/others.html +90 -88
- data/vendor/local/share/doc/groonga/en/html/install/solaris.html +25 -23
- data/vendor/local/share/doc/groonga/en/html/install/ubuntu.html +28 -26
- data/vendor/local/share/doc/groonga/en/html/install/windows.html +33 -31
- data/vendor/local/share/doc/groonga/en/html/limitations.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/news.html +99 -641
- data/vendor/local/share/doc/groonga/en/html/news/0.x.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/news/1.0.x.html +21 -19
- data/vendor/local/share/doc/groonga/en/html/news/1.1.x.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/news/1.2.x.html +35 -33
- data/vendor/local/share/doc/groonga/en/html/news/1.3.x.html +30 -28
- data/vendor/local/share/doc/groonga/en/html/news/2.x.html +103 -100
- data/vendor/local/share/doc/groonga/en/html/news/3.x.html +72 -70
- data/vendor/local/share/doc/groonga/en/html/news/4.x.html +873 -0
- data/vendor/local/share/doc/groonga/en/html/news/senna.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/objects.inv +0 -0
- data/vendor/local/share/doc/groonga/en/html/reference.html +83 -75
- data/vendor/local/share/doc/groonga/en/html/reference/api.html +40 -38
- data/vendor/local/share/doc/groonga/en/html/reference/api/global_configurations.html +34 -32
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_cache.html +46 -44
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_column.html +68 -66
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_command_version.html +30 -28
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_content_type.html +27 -25
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_ctx.html +66 -62
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_db.html +36 -34
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_encoding.html +31 -29
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_expr.html +67 -65
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_geo.html +29 -27
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_hook.html +32 -30
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_ii.html +30 -28
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_index_cursor.html +29 -27
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_info.html +29 -27
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_match_escalation.html +28 -26
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_obj.html +77 -75
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_proc.html +32 -30
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_search.html +27 -25
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_table.html +63 -61
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_table_cursor.html +52 -50
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_type.html +28 -26
- data/vendor/local/share/doc/groonga/en/html/reference/api/grn_user_data.html +25 -23
- data/vendor/local/share/doc/groonga/en/html/reference/api/plugin.html +43 -41
- data/vendor/local/share/doc/groonga/en/html/reference/cast.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/reference/column.html +35 -33
- data/vendor/local/share/doc/groonga/en/html/reference/columns/index.html +152 -0
- data/vendor/local/share/doc/groonga/en/html/reference/columns/pseudo.html +56 -29
- data/vendor/local/share/doc/groonga/en/html/reference/columns/scalar.html +152 -0
- data/vendor/local/share/doc/groonga/en/html/reference/columns/vector.html +121 -94
- data/vendor/local/share/doc/groonga/en/html/reference/command.html +55 -53
- data/vendor/local/share/doc/groonga/en/html/reference/command/command_version.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/reference/command/output_format.html +56 -54
- data/vendor/local/share/doc/groonga/en/html/reference/command/request_id.html +25 -23
- data/vendor/local/share/doc/groonga/en/html/reference/command/return_code.html +97 -95
- data/vendor/local/share/doc/groonga/en/html/reference/commands/cache_limit.html +41 -39
- data/vendor/local/share/doc/groonga/en/html/reference/commands/check.html +46 -44
- data/vendor/local/share/doc/groonga/en/html/reference/commands/clearlock.html +26 -24
- data/vendor/local/share/doc/groonga/en/html/reference/commands/column_create.html +42 -40
- data/vendor/local/share/doc/groonga/en/html/reference/commands/column_list.html +74 -72
- data/vendor/local/share/doc/groonga/en/html/reference/commands/column_remove.html +27 -25
- data/vendor/local/share/doc/groonga/en/html/reference/commands/column_rename.html +44 -42
- data/vendor/local/share/doc/groonga/en/html/reference/commands/define_selector.html +40 -38
- data/vendor/local/share/doc/groonga/en/html/reference/commands/defrag.html +27 -25
- data/vendor/local/share/doc/groonga/en/html/reference/commands/delete.html +36 -34
- data/vendor/local/share/doc/groonga/en/html/reference/commands/dump.html +25 -23
- data/vendor/local/share/doc/groonga/en/html/reference/commands/load.html +43 -41
- data/vendor/local/share/doc/groonga/en/html/reference/commands/lock_clear.html +34 -32
- data/vendor/local/share/doc/groonga/en/html/reference/commands/log_level.html +26 -24
- data/vendor/local/share/doc/groonga/en/html/reference/commands/log_put.html +27 -25
- data/vendor/local/share/doc/groonga/en/html/reference/commands/log_reopen.html +25 -23
- data/vendor/local/share/doc/groonga/en/html/reference/commands/normalize.html +62 -60
- data/vendor/local/share/doc/groonga/en/html/reference/commands/normalizer_list.html +32 -30
- data/vendor/local/share/doc/groonga/en/html/reference/commands/quit.html +24 -22
- data/vendor/local/share/doc/groonga/en/html/reference/commands/range_filter.html +24 -22
- data/vendor/local/share/doc/groonga/en/html/reference/commands/register.html +37 -35
- data/vendor/local/share/doc/groonga/en/html/reference/commands/request_cancel.html +54 -52
- data/vendor/local/share/doc/groonga/en/html/reference/commands/ruby_eval.html +38 -36
- data/vendor/local/share/doc/groonga/en/html/reference/commands/ruby_load.html +38 -36
- data/vendor/local/share/doc/groonga/en/html/reference/commands/select.html +3069 -567
- data/vendor/local/share/doc/groonga/en/html/reference/commands/shutdown.html +24 -22
- data/vendor/local/share/doc/groonga/en/html/reference/commands/status.html +27 -25
- data/vendor/local/share/doc/groonga/en/html/reference/commands/suggest.html +66 -64
- data/vendor/local/share/doc/groonga/en/html/reference/commands/table_create.html +123 -121
- data/vendor/local/share/doc/groonga/en/html/reference/commands/table_list.html +36 -34
- data/vendor/local/share/doc/groonga/en/html/reference/commands/table_remove.html +26 -24
- data/vendor/local/share/doc/groonga/en/html/reference/commands/table_tokenize.html +46 -44
- data/vendor/local/share/doc/groonga/en/html/reference/commands/tokenize.html +82 -80
- data/vendor/local/share/doc/groonga/en/html/reference/commands/tokenizer_list.html +32 -30
- data/vendor/local/share/doc/groonga/en/html/reference/commands/truncate.html +39 -37
- data/vendor/local/share/doc/groonga/en/html/reference/executables.html +22 -20
- data/vendor/local/share/doc/groonga/en/html/reference/executables/grndb.html +38 -36
- data/vendor/local/share/doc/groonga/en/html/reference/executables/grnslap.html +24 -22
- data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-benchmark.html +29 -27
- data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-httpd.html +76 -74
- data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-server-http.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-create-dataset.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-httpd.html +45 -43
- data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga-suggest-learner.html +37 -35
- data/vendor/local/share/doc/groonga/en/html/reference/executables/groonga.html +58 -56
- data/vendor/local/share/doc/groonga/en/html/reference/function.html +21 -19
- data/vendor/local/share/doc/groonga/en/html/reference/functions/between.html +43 -41
- data/vendor/local/share/doc/groonga/en/html/reference/functions/edit_distance.html +22 -20
- data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_distance.html +82 -80
- data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_circle.html +33 -31
- data/vendor/local/share/doc/groonga/en/html/reference/functions/geo_in_rectangle.html +23 -21
- data/vendor/local/share/doc/groonga/en/html/reference/functions/highlight_full.html +54 -52
- data/vendor/local/share/doc/groonga/en/html/reference/functions/highlight_html.html +42 -40
- data/vendor/local/share/doc/groonga/en/html/reference/functions/html_untag.html +32 -29
- data/vendor/local/share/doc/groonga/en/html/reference/functions/in_values.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/reference/functions/now.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/reference/functions/query.html +49 -47
- data/vendor/local/share/doc/groonga/en/html/reference/functions/rand.html +21 -19
- data/vendor/local/share/doc/groonga/en/html/reference/functions/snippet_html.html +45 -43
- data/vendor/local/share/doc/groonga/en/html/reference/functions/sub_filter.html +42 -40
- data/vendor/local/share/doc/groonga/en/html/reference/grn_expr.html +27 -25
- data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/query_syntax.html +219 -216
- data/vendor/local/share/doc/groonga/en/html/reference/grn_expr/script_syntax.html +430 -381
- data/vendor/local/share/doc/groonga/en/html/reference/indexing.html +22 -20
- data/vendor/local/share/doc/groonga/en/html/reference/log.html +23 -21
- data/vendor/local/share/doc/groonga/en/html/reference/normalizers.html +52 -50
- data/vendor/local/share/doc/groonga/en/html/reference/operations.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/reference/operations/geolocation_search.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/reference/output.html +35 -33
- data/vendor/local/share/doc/groonga/en/html/reference/query_expanders.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/reference/query_expanders/tsv.html +58 -56
- data/vendor/local/share/doc/groonga/en/html/reference/suggest.html +21 -19
- data/vendor/local/share/doc/groonga/en/html/reference/suggest/completion.html +46 -41
- data/vendor/local/share/doc/groonga/en/html/reference/suggest/correction.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/reference/suggest/introduction.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/reference/suggest/suggestion.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/reference/tables.html +55 -53
- data/vendor/local/share/doc/groonga/en/html/reference/token_filters.html +39 -37
- data/vendor/local/share/doc/groonga/en/html/reference/tokenizers.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/reference/tuning.html +30 -28
- data/vendor/local/share/doc/groonga/en/html/reference/types.html +38 -36
- data/vendor/local/share/doc/groonga/en/html/search.html +12 -12
- data/vendor/local/share/doc/groonga/en/html/searchindex.js +1 -1
- data/vendor/local/share/doc/groonga/en/html/server.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/server/gqtp.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/server/http.html +21 -19
- data/vendor/local/share/doc/groonga/en/html/server/http/comparison.html +34 -32
- data/vendor/local/share/doc/groonga/en/html/server/http/groonga-httpd.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/server/http/groonga.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/server/package.html +34 -32
- data/vendor/local/share/doc/groonga/en/html/spec.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/spec/gqtp.html +128 -126
- data/vendor/local/share/doc/groonga/en/html/spec/search.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/troubleshooting.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/troubleshooting/different_results_with_the_same_keyword.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/troubleshooting/mmap_cannot_allocate_memory.html +21 -19
- data/vendor/local/share/doc/groonga/en/html/tutorial.html +21 -19
- data/vendor/local/share/doc/groonga/en/html/tutorial/data.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/tutorial/drilldown.html +34 -32
- data/vendor/local/share/doc/groonga/en/html/tutorial/index.html +23 -21
- data/vendor/local/share/doc/groonga/en/html/tutorial/introduction.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/tutorial/lexicon.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/tutorial/match_columns.html +24 -22
- data/vendor/local/share/doc/groonga/en/html/tutorial/micro_blog.html +53 -51
- data/vendor/local/share/doc/groonga/en/html/tutorial/network.html +20 -18
- data/vendor/local/share/doc/groonga/en/html/tutorial/patricia_trie.html +21 -19
- data/vendor/local/share/doc/groonga/en/html/tutorial/query_expansion.html +23 -21
- data/vendor/local/share/doc/groonga/en/html/tutorial/search.html +37 -35
- data/vendor/local/share/doc/groonga/ja/html/.buildinfo +1 -1
- data/vendor/local/share/doc/groonga/ja/html/_sources/install/centos.txt +3 -3
- data/vendor/local/share/doc/groonga/ja/html/_sources/install/debian.txt +4 -4
- data/vendor/local/share/doc/groonga/ja/html/_sources/install/fedora.txt +3 -3
- data/vendor/local/share/doc/groonga/ja/html/_sources/install/mac_os_x.txt +5 -5
- data/vendor/local/share/doc/groonga/ja/html/_sources/install/others.txt +3 -3
- data/vendor/local/share/doc/groonga/ja/html/_sources/install/solaris.txt +3 -3
- data/vendor/local/share/doc/groonga/ja/html/_sources/install/ubuntu.txt +4 -4
- data/vendor/local/share/doc/groonga/ja/html/_sources/install/windows.txt +9 -9
- data/vendor/local/share/doc/groonga/ja/html/_sources/news.txt +16 -570
- data/vendor/local/share/doc/groonga/ja/html/_sources/news/2.x.txt +5 -4
- data/vendor/local/share/doc/groonga/ja/html/_sources/news/3.x.txt +1 -1
- data/vendor/local/share/doc/groonga/ja/html/_sources/news/4.x.txt +686 -0
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference.txt +0 -1
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/api/grn_ctx.txt +3 -1
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/column.txt +12 -4
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/columns/index.txt +19 -0
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/columns/pseudo.txt +2 -2
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/columns/scalar.txt +19 -0
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/commands/select.txt +734 -29
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/functions/html_untag.txt +2 -1
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/grn_expr/query_syntax.txt +8 -7
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/grn_expr/script_syntax.txt +50 -0
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference/suggest/completion.txt +25 -23
- data/vendor/local/share/doc/groonga/ja/html/_sources/server/http.txt +1 -1
- data/vendor/local/share/doc/groonga/ja/html/_static/basic.css +68 -6
- data/vendor/local/share/doc/groonga/ja/html/_static/doctools.js +26 -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 +10308 -0
- data/vendor/local/share/doc/groonga/ja/html/_static/jquery.js +4 -2
- 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 +2 -2
- data/vendor/local/share/doc/groonga/ja/html/_static/underscore-1.3.1.js +999 -0
- 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 +15 -15
- data/vendor/local/share/doc/groonga/ja/html/characteristic.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/client.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/community.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/contribution.html +21 -19
- data/vendor/local/share/doc/groonga/ja/html/contribution/development.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/com.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/cooperation.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/query.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/release.html +23 -21
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/repository.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/test.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/contribution/documentation.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/c-api.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/i18n.html +21 -19
- data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/introduction.html +27 -25
- data/vendor/local/share/doc/groonga/ja/html/contribution/report.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/development.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/development/travis-ci.html +23 -21
- data/vendor/local/share/doc/groonga/ja/html/genindex.html +17 -17
- data/vendor/local/share/doc/groonga/ja/html/index.html +88 -80
- data/vendor/local/share/doc/groonga/ja/html/install.html +36 -34
- data/vendor/local/share/doc/groonga/ja/html/install/centos.html +40 -38
- data/vendor/local/share/doc/groonga/ja/html/install/debian.html +30 -29
- data/vendor/local/share/doc/groonga/ja/html/install/fedora.html +31 -29
- data/vendor/local/share/doc/groonga/ja/html/install/mac_os_x.html +31 -29
- data/vendor/local/share/doc/groonga/ja/html/install/others.html +81 -79
- data/vendor/local/share/doc/groonga/ja/html/install/solaris.html +24 -22
- data/vendor/local/share/doc/groonga/ja/html/install/ubuntu.html +31 -30
- data/vendor/local/share/doc/groonga/ja/html/install/windows.html +32 -30
- data/vendor/local/share/doc/groonga/ja/html/limitations.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/news.html +85 -677
- data/vendor/local/share/doc/groonga/ja/html/news/0.x.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/news/1.0.x.html +21 -19
- data/vendor/local/share/doc/groonga/ja/html/news/1.1.x.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/news/1.2.x.html +36 -34
- data/vendor/local/share/doc/groonga/ja/html/news/1.3.x.html +30 -28
- data/vendor/local/share/doc/groonga/ja/html/news/2.x.html +94 -92
- data/vendor/local/share/doc/groonga/ja/html/news/3.x.html +62 -60
- data/vendor/local/share/doc/groonga/ja/html/news/4.x.html +911 -0
- data/vendor/local/share/doc/groonga/ja/html/news/senna.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/objects.inv +0 -0
- data/vendor/local/share/doc/groonga/ja/html/reference.html +85 -77
- data/vendor/local/share/doc/groonga/ja/html/reference/api.html +40 -38
- data/vendor/local/share/doc/groonga/ja/html/reference/api/global_configurations.html +34 -32
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_cache.html +42 -40
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_column.html +70 -68
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_command_version.html +30 -28
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_content_type.html +27 -25
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_ctx.html +62 -60
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_db.html +42 -40
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_encoding.html +31 -29
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_expr.html +62 -60
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_geo.html +29 -27
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_hook.html +32 -30
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_ii.html +30 -28
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_index_cursor.html +29 -27
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_info.html +29 -27
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_match_escalation.html +28 -26
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_obj.html +78 -76
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_proc.html +32 -30
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_search.html +27 -25
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_table.html +63 -61
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_table_cursor.html +52 -50
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_type.html +28 -26
- data/vendor/local/share/doc/groonga/ja/html/reference/api/grn_user_data.html +25 -23
- data/vendor/local/share/doc/groonga/ja/html/reference/api/plugin.html +43 -41
- data/vendor/local/share/doc/groonga/ja/html/reference/cast.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/reference/column.html +35 -33
- data/vendor/local/share/doc/groonga/ja/html/reference/columns/index.html +153 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/columns/pseudo.html +56 -29
- data/vendor/local/share/doc/groonga/ja/html/reference/columns/scalar.html +153 -0
- data/vendor/local/share/doc/groonga/ja/html/reference/columns/vector.html +111 -84
- data/vendor/local/share/doc/groonga/ja/html/reference/command.html +56 -54
- data/vendor/local/share/doc/groonga/ja/html/reference/command/command_version.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/reference/command/output_format.html +50 -48
- data/vendor/local/share/doc/groonga/ja/html/reference/command/request_id.html +27 -25
- data/vendor/local/share/doc/groonga/ja/html/reference/command/return_code.html +100 -98
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/cache_limit.html +38 -36
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/check.html +46 -44
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/clearlock.html +26 -24
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_create.html +42 -40
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_list.html +66 -64
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_remove.html +27 -25
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/column_rename.html +41 -39
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/define_selector.html +40 -38
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/defrag.html +27 -25
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/delete.html +35 -33
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/dump.html +25 -23
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/load.html +36 -34
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/lock_clear.html +38 -37
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_level.html +26 -24
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_put.html +27 -25
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/log_reopen.html +25 -23
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/normalize.html +57 -55
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/normalizer_list.html +32 -30
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/quit.html +24 -22
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/range_filter.html +24 -22
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/register.html +34 -32
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/request_cancel.html +59 -57
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/ruby_eval.html +38 -36
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/ruby_load.html +38 -36
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/select.html +2832 -427
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/shutdown.html +24 -22
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/status.html +25 -23
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/suggest.html +64 -62
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_create.html +99 -97
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_list.html +36 -34
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_remove.html +26 -24
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/table_tokenize.html +41 -39
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/tokenize.html +67 -65
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/tokenizer_list.html +32 -30
- data/vendor/local/share/doc/groonga/ja/html/reference/commands/truncate.html +40 -39
- data/vendor/local/share/doc/groonga/ja/html/reference/executables.html +22 -20
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/grndb.html +50 -45
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/grnslap.html +24 -22
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-benchmark.html +29 -27
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-httpd.html +64 -62
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-server-http.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-create-dataset.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-httpd.html +45 -43
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga-suggest-learner.html +37 -35
- data/vendor/local/share/doc/groonga/ja/html/reference/executables/groonga.html +58 -56
- data/vendor/local/share/doc/groonga/ja/html/reference/function.html +21 -19
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/between.html +43 -41
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/edit_distance.html +22 -20
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_distance.html +70 -68
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_circle.html +33 -31
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/geo_in_rectangle.html +23 -21
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/highlight_full.html +44 -42
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/highlight_html.html +33 -31
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/html_untag.html +31 -29
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/in_values.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/now.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/query.html +42 -40
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/rand.html +21 -19
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/snippet_html.html +31 -29
- data/vendor/local/share/doc/groonga/ja/html/reference/functions/sub_filter.html +34 -32
- data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr.html +24 -22
- data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/query_syntax.html +119 -117
- data/vendor/local/share/doc/groonga/ja/html/reference/grn_expr/script_syntax.html +341 -301
- data/vendor/local/share/doc/groonga/ja/html/reference/indexing.html +21 -19
- data/vendor/local/share/doc/groonga/ja/html/reference/log.html +23 -21
- data/vendor/local/share/doc/groonga/ja/html/reference/normalizers.html +46 -44
- data/vendor/local/share/doc/groonga/ja/html/reference/operations.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/reference/operations/geolocation_search.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/reference/output.html +31 -29
- data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/reference/query_expanders/tsv.html +37 -35
- data/vendor/local/share/doc/groonga/ja/html/reference/suggest.html +21 -19
- data/vendor/local/share/doc/groonga/ja/html/reference/suggest/completion.html +35 -43
- data/vendor/local/share/doc/groonga/ja/html/reference/suggest/correction.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/reference/suggest/introduction.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/reference/suggest/suggestion.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/reference/tables.html +45 -43
- data/vendor/local/share/doc/groonga/ja/html/reference/token_filters.html +36 -34
- data/vendor/local/share/doc/groonga/ja/html/reference/tokenizers.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/reference/tuning.html +30 -28
- data/vendor/local/share/doc/groonga/ja/html/reference/types.html +38 -36
- data/vendor/local/share/doc/groonga/ja/html/search.html +12 -12
- data/vendor/local/share/doc/groonga/ja/html/searchindex.js +1 -1
- data/vendor/local/share/doc/groonga/ja/html/server.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/server/gqtp.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/server/http.html +22 -20
- data/vendor/local/share/doc/groonga/ja/html/server/http/comparison.html +28 -26
- data/vendor/local/share/doc/groonga/ja/html/server/http/groonga-httpd.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/server/http/groonga.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/server/package.html +35 -33
- data/vendor/local/share/doc/groonga/ja/html/spec.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/spec/gqtp.html +127 -125
- data/vendor/local/share/doc/groonga/ja/html/spec/search.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/troubleshooting.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/troubleshooting/different_results_with_the_same_keyword.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/troubleshooting/mmap_cannot_allocate_memory.html +21 -19
- data/vendor/local/share/doc/groonga/ja/html/tutorial.html +21 -19
- data/vendor/local/share/doc/groonga/ja/html/tutorial/data.html +25 -23
- data/vendor/local/share/doc/groonga/ja/html/tutorial/drilldown.html +33 -31
- data/vendor/local/share/doc/groonga/ja/html/tutorial/index.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/tutorial/introduction.html +21 -19
- data/vendor/local/share/doc/groonga/ja/html/tutorial/lexicon.html +20 -18
- data/vendor/local/share/doc/groonga/ja/html/tutorial/match_columns.html +27 -25
- data/vendor/local/share/doc/groonga/ja/html/tutorial/micro_blog.html +50 -48
- data/vendor/local/share/doc/groonga/ja/html/tutorial/network.html +21 -19
- data/vendor/local/share/doc/groonga/ja/html/tutorial/patricia_trie.html +21 -19
- data/vendor/local/share/doc/groonga/ja/html/tutorial/query_expansion.html +23 -21
- data/vendor/local/share/doc/groonga/ja/html/tutorial/search.html +35 -33
- data/vendor/local/share/man/ja/man1/groonga.1 +6711 -3135
- data/vendor/local/share/man/man1/groonga.1 +7192 -3297
- metadata +33 -4
@@ -7,7 +7,7 @@
|
|
7
7
|
<head>
|
8
8
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
9
9
|
|
10
|
-
<title>7.11.2. スクリプト構文 — Groonga
|
10
|
+
<title>7.11.2. スクリプト構文 — Groonga v5.0.0ドキュメント</title>
|
11
11
|
|
12
12
|
<link rel="stylesheet" href="../../_static/groonga.css" type="text/css" />
|
13
13
|
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
|
@@ -15,7 +15,7 @@
|
|
15
15
|
<script type="text/javascript">
|
16
16
|
var DOCUMENTATION_OPTIONS = {
|
17
17
|
URL_ROOT: '../../',
|
18
|
-
VERSION: '
|
18
|
+
VERSION: '5.0.0',
|
19
19
|
COLLAPSE_INDEX: false,
|
20
20
|
FILE_SUFFIX: '.html',
|
21
21
|
HAS_SOURCE: true
|
@@ -26,12 +26,12 @@
|
|
26
26
|
<script type="text/javascript" src="../../_static/doctools.js"></script>
|
27
27
|
<script type="text/javascript" src="../../_static/translations.js"></script>
|
28
28
|
<link rel="shortcut icon" href="../../_static/favicon.ico"/>
|
29
|
-
<link rel="top" title="Groonga
|
29
|
+
<link rel="top" title="Groonga v5.0.0ドキュメント" href="../../index.html" />
|
30
30
|
<link rel="up" title="7.11. grn_expr" href="../grn_expr.html" />
|
31
31
|
<link rel="next" title="7.12. 関数" href="../function.html" />
|
32
32
|
<link rel="prev" title="7.11.1. クエリー構文" href="query_syntax.html" />
|
33
33
|
</head>
|
34
|
-
<body>
|
34
|
+
<body role="document">
|
35
35
|
<div class="header">
|
36
36
|
<h1 class="title">
|
37
37
|
<a id="top-link" href="../../index.html">
|
@@ -49,7 +49,7 @@
|
|
49
49
|
</div>
|
50
50
|
|
51
51
|
|
52
|
-
<div class="related">
|
52
|
+
<div class="related" role="navigation" aria-label="related navigation">
|
53
53
|
<h3>ナビゲーション</h3>
|
54
54
|
<ul>
|
55
55
|
<li class="right" style="margin-right: 10px">
|
@@ -61,7 +61,7 @@
|
|
61
61
|
<li class="right" >
|
62
62
|
<a href="query_syntax.html" title="7.11.1. クエリー構文"
|
63
63
|
accesskey="P">前へ</a> |</li>
|
64
|
-
<li><a href="../../index.html">Groonga
|
64
|
+
<li><a href="../../index.html">Groonga v5.0.0ドキュメント</a> »</li>
|
65
65
|
<li><a href="../../reference.html" >7. リファレンスマニュアル</a> »</li>
|
66
66
|
<li><a href="../grn_expr.html" accesskey="U">7.11. grn_expr</a> »</li>
|
67
67
|
</ul>
|
@@ -70,14 +70,51 @@
|
|
70
70
|
<div class="document">
|
71
71
|
<div class="documentwrapper">
|
72
72
|
<div class="bodywrapper">
|
73
|
-
<div class="body">
|
73
|
+
<div class="body" role="main">
|
74
74
|
|
75
75
|
<div class="section" id="script-syntax">
|
76
76
|
<h1>7.11.2. スクリプト構文<a class="headerlink" href="#script-syntax" title="このヘッドラインへのパーマリンク">¶</a></h1>
|
77
|
-
<p>スクリプト構文は複雑な検索条件を指定するための構文です。この構文はECMAScriptに似ています。例えば、 <
|
78
|
-
<p>スクリプト構文はECMAScriptの構文と完全に互換性があるわけではありません。例えば、 <
|
77
|
+
<p>スクリプト構文は複雑な検索条件を指定するための構文です。この構文はECMAScriptに似ています。例えば、 <code class="docutils literal"><span class="pre">_key</span> <span class="pre">==</span> <span class="pre">"book"</span></code> は <code class="docutils literal"><span class="pre">_key</span></code> の値が <code class="docutils literal"><span class="pre">"book"</span></code> のレコードを検索するという意味です。 <a class="reference internal" href="query_syntax.html"><em>クエリー構文</em></a> ではすべての値は文字列でしたが、スクリプト構文では値に型があります。例えば、 <code class="docutils literal"><span class="pre">"book"</span></code> は文字列で <code class="docutils literal"><span class="pre">1</span></code> は整数で、 <code class="docutils literal"><span class="pre">TokenBigram</span></code> は <code class="docutils literal"><span class="pre">TokenBigram</span></code> という名前のオブジェクトです。</p>
|
78
|
+
<p>スクリプト構文はECMAScriptの構文と完全に互換性があるわけではありません。例えば、 <code class="docutils literal"><span class="pre">if</span></code> 制御文や <code class="docutils literal"><span class="pre">for</span></code> 繰り返し文や変数定義文といった文をサポートしていません。関数定義もサポートしていません。しかし、独自の演算子を追加しています。独自の演算子はECMAScriptの構文を説明した後に説明します。</p>
|
79
|
+
<div class="section" id="security">
|
80
|
+
<span id="script-syntax-security"></span><h2>7.11.2.1. セキュリティー<a class="headerlink" href="#security" title="このヘッドラインへのパーマリンク">¶</a></h2>
|
81
|
+
<p>セキュリティーの観点からユーザーからの入力をそのままGroongaに渡すべきではありません。悪意のあるユーザーがそのユーザーには参照できてはいけないレコードを取得するクエリーを入力するかもしれないからです。</p>
|
82
|
+
<p>例えば、以下の状況を考えてみましょう。</p>
|
83
|
+
<p>あるGroongaアプリケーションがGroongaへのリクエストを次のようなプログラムで構築していたとします。:</p>
|
84
|
+
<div class="highlight-none"><div class="highlight"><pre>filter = "column @ \"#{user_input}\""
|
85
|
+
select_options = {
|
86
|
+
# ...
|
87
|
+
:filter => filter,
|
88
|
+
}
|
89
|
+
groonga_client.select(select_options)
|
90
|
+
</pre></div>
|
91
|
+
</div>
|
92
|
+
<p><code class="docutils literal"><span class="pre">user_input</span></code> はユーザーからの入力です。入力が <code class="docutils literal"><span class="pre">query</span></code> だった場合は構築された <a class="reference internal" href="../commands/select.html#select-filter"><em>filter</em></a> 引数は次のようになります。:</p>
|
93
|
+
<div class="highlight-none"><div class="highlight"><pre>column @ "query"
|
94
|
+
</pre></div>
|
95
|
+
</div>
|
96
|
+
<p>もし、入力が <code class="docutils literal"><span class="pre">x"</span> <span class="pre">||</span> <span class="pre">true</span> <span class="pre">||</span> <span class="pre">"</span></code> だった場合は構築された <a class="reference internal" href="../commands/select.html#select-filter"><em>filter</em></a> 引数は次のようになります。:</p>
|
97
|
+
<div class="highlight-none"><div class="highlight"><pre>column @ "x" || true || ""
|
98
|
+
</pre></div>
|
99
|
+
</div>
|
100
|
+
<p>このクエリーはすべてのレコードにマッチします。このユーザーはデータベース中のすべてのレコードを取得するでしょう。このユーザーには悪意があったのかもしれません。</p>
|
101
|
+
<p>ユーザーからの入力では値だけを受け取るようにする方がよいです。これは、ユーザーからの入力には <code class="docutils literal"><span class="pre">@</span></code> や <code class="docutils literal"><span class="pre">&&</span></code> のような演算子を受け付けないようにするということです。もし、演算子も受け付けるようにするなら、ユーザーは悪意のあるクエリーを作ることができます。</p>
|
102
|
+
<p>ユーザーの入力が値だけなら、入力された値をエスケープすることで悪意のあるクエリーを防ぐことができます。以下はユーザーの入力をどのようにエスケープすればよいかのリストです。</p>
|
103
|
+
<blockquote>
|
104
|
+
<div><ul class="simple">
|
105
|
+
<li><p class="first">真の値: <code class="docutils literal"><span class="pre">true</span></code> に変換してください。</p>
|
106
|
+
</li>
|
107
|
+
<li><p class="first">負の値: <code class="docutils literal"><span class="pre">false</span></code> に変換してください。</p>
|
108
|
+
</li>
|
109
|
+
<li><p class="first">数値:数字に変換してください。例えば、 <code class="docutils literal"><span class="pre">1.2</span></code> は <code class="docutils literal"><span class="pre">1.2</span></code> にしてください。</p>
|
110
|
+
</li>
|
111
|
+
<li><p class="first">文字列:文字列中の <code class="docutils literal"><span class="pre">"</span></code> を <code class="docutils literal"><span class="pre">\"</span></code> で、 <code class="docutils literal"><span class="pre">\</span></code> を <code class="docutils literal"><span class="pre">\\</span></code> で置換してください。その後、置換した文字列を <code class="docutils literal"><span class="pre">"</span></code> で囲んでください。例えば、 <code class="docutils literal"><span class="pre">double</span> <span class="pre">"</span> <span class="pre">quote</span> <span class="pre">and</span> <span class="pre">back</span> <span class="pre">\</span> <span class="pre">slash</span></code> は <code class="docutils literal"><span class="pre">"double</span> <span class="pre">\"</span> <span class="pre">quote</span> <span class="pre">and</span> <span class="pre">back</span> <span class="pre">\\</span> <span class="pre">slash"</span></code> に変換します。</p>
|
112
|
+
</li>
|
113
|
+
</ul>
|
114
|
+
</div></blockquote>
|
115
|
+
</div>
|
79
116
|
<div class="section" id="sample-data">
|
80
|
-
<h2>7.11.2.
|
117
|
+
<h2>7.11.2.2. サンプルデータ<a class="headerlink" href="#sample-data" title="このヘッドラインへのパーマリンク">¶</a></h2>
|
81
118
|
<p>使い方を示すために使うスキーマ定義とサンプルデータは以下の通りです。</p>
|
82
119
|
<p>実行例:</p>
|
83
120
|
<div class="highlight-none"><div class="highlight"><pre>table_create Entries TABLE_PAT_KEY ShortText
|
@@ -113,80 +150,80 @@ load --table Entries
|
|
113
150
|
# [[0, 1337566253.89858, 0.000355720520019531], 5]
|
114
151
|
</pre></div>
|
115
152
|
</div>
|
116
|
-
<p>ブログエントリ用の <
|
117
|
-
<p><
|
153
|
+
<p>ブログエントリ用の <code class="docutils literal"><span class="pre">Entries</span></code> テーブルがあります。各エントリはタイトルと内容と「いいね!」数を持っています。タイトルは <code class="docutils literal"><span class="pre">Entries</span></code> のキーとします。内容は <code class="docutils literal"><span class="pre">Entries.content</span></code> カラムの値とします。「いいね!」数は <code class="docutils literal"><span class="pre">Entries.n_likes</span></code> カラムの値とします。</p>
|
154
|
+
<p><code class="docutils literal"><span class="pre">Entries._key</span></code> カラムと <code class="docutils literal"><span class="pre">Entries.content</span></code> カラムには <code class="docutils literal"><span class="pre">TokenBigram</span></code> トークナイザーを使ったインデックスを作成します。そのため、 <code class="docutils literal"><span class="pre">Entries._key</span></code> と <code class="docutils literal"><span class="pre">Entries.content</span></code> は両方とも全文検索できます。</p>
|
118
155
|
<p>これで例を示すためのスキーマとデータの準備ができました。</p>
|
119
156
|
</div>
|
120
157
|
<div class="section" id="literals">
|
121
|
-
<h2>7.11.2.
|
158
|
+
<h2>7.11.2.3. リテラル<a class="headerlink" href="#literals" title="このヘッドラインへのパーマリンク">¶</a></h2>
|
122
159
|
<div class="section" id="integer">
|
123
|
-
<h3>7.11.2.
|
124
|
-
<p>整数リテラルは <
|
125
|
-
<p>整数リテラルの最大値は <
|
160
|
+
<h3>7.11.2.3.1. 整数<a class="headerlink" href="#integer" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
161
|
+
<p>整数リテラルは <code class="docutils literal"><span class="pre">1234567890</span></code> のような <code class="docutils literal"><span class="pre">0</span></code> から <code class="docutils literal"><span class="pre">9</span></code> の並びです。 <code class="docutils literal"><span class="pre">+29</span></code> や <code class="docutils literal"><span class="pre">-29</span></code> のように符号として最初に <code class="docutils literal"><span class="pre">+</span></code> または <code class="docutils literal"><span class="pre">-</span></code> をつけることができます。整数リテラルは10進数です。8進数や16進数などは使えません。</p>
|
162
|
+
<p>整数リテラルの最大値は <code class="docutils literal"><span class="pre">9223372036854775807</span></code> ( <code class="docutils literal"><span class="pre">=</span> <span class="pre">2</span> <span class="pre">**</span> <span class="pre">63</span> <span class="pre">-</span> <span class="pre">1</span></code> )です。最小値は <code class="docutils literal"><span class="pre">-9223372036854775808</span></code> ( <code class="docutils literal"><span class="pre">=</span> <span class="pre">-(2</span> <span class="pre">**</span> <span class="pre">63)</span></code> )です。</p>
|
126
163
|
</div>
|
127
164
|
<div class="section" id="float">
|
128
|
-
<h3>7.11.2.
|
129
|
-
<p>浮動小数点数リテラルは <
|
165
|
+
<h3>7.11.2.3.2. 浮動小数点数<a class="headerlink" href="#float" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
166
|
+
<p>浮動小数点数リテラルは <code class="docutils literal"><span class="pre">3.14</span></code> のように、まず <code class="docutils literal"><span class="pre">0</span></code> から <code class="docutils literal"><span class="pre">9</span></code> 、次に <code class="docutils literal"><span class="pre">.</span></code> 、最後に <code class="docutils literal"><span class="pre">0</span></code> から <code class="docutils literal"><span class="pre">9</span></code> という並びです。 <code class="docutils literal"><span class="pre">+3.14</span></code> や <code class="docutils literal"><span class="pre">-3.14</span></code> のように符号として最初に <code class="docutils literal"><span class="pre">+</span></code> または <code class="docutils literal"><span class="pre">-</span></code> をつけることができます。 <code class="docutils literal"><span class="pre">${基数}e${指数}</span></code> や <code class="docutils literal"><span class="pre">${基数}E${指数}</span></code> というフォーマットもサポートしています。例えば、 <code class="docutils literal"><span class="pre">314e-2</span></code> は <code class="docutils literal"><span class="pre">3.14</span></code> と同じです。</p>
|
130
167
|
</div>
|
131
168
|
<div class="section" id="string">
|
132
|
-
<h3>7.11.2.
|
133
|
-
<p>文字列リテラルは <
|
134
|
-
<p>文字列エンコーディングはデータベースのエンコーディングと合わせなければいけません。デフォルトのエンコーディングはUTF-8です。これは configure の <
|
169
|
+
<h3>7.11.2.3.3. 文字列<a class="headerlink" href="#string" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
170
|
+
<p>文字列リテラルは <code class="docutils literal"><span class="pre">"..."</span></code> です。リテラル中の <code class="docutils literal"><span class="pre">"</span></code> は <code class="docutils literal"><span class="pre">\"</span></code> というように <code class="docutils literal"><span class="pre">\</span></code> を前につけてエスケープします。例えば、 <code class="docutils literal"><span class="pre">"Say</span> <span class="pre">\"Hello!\"."</span></code> は <code class="docutils literal"><span class="pre">Say</span> <span class="pre">"Hello!".</span></code> という文字列のリテラルです。</p>
|
171
|
+
<p>文字列エンコーディングはデータベースのエンコーディングと合わせなければいけません。デフォルトのエンコーディングはUTF-8です。これは configure の <code class="docutils literal"><span class="pre">--with-default-encoding</span></code> オプションや <a class="reference internal" href="../executables/groonga.html"><em>groongaコマンド</em></a> の <code class="docutils literal"><span class="pre">--encodiong</span></code> などで変更できます。</p>
|
135
172
|
</div>
|
136
173
|
<div class="section" id="boolean">
|
137
|
-
<h3>7.11.2.
|
138
|
-
<p>真偽値のリテラルは <
|
174
|
+
<h3>7.11.2.3.4. 真偽値<a class="headerlink" href="#boolean" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
175
|
+
<p>真偽値のリテラルは <code class="docutils literal"><span class="pre">true</span></code> と <code class="docutils literal"><span class="pre">false</span></code> です。 <code class="docutils literal"><span class="pre">true</span></code> は真という意味で、 <code class="docutils literal"><span class="pre">false</span></code> は偽という意味です。</p>
|
139
176
|
</div>
|
140
177
|
<div class="section" id="null">
|
141
|
-
<h3>7.11.2.
|
142
|
-
<p>NULLのリテラルは <
|
178
|
+
<h3>7.11.2.3.5. NULL<a class="headerlink" href="#null" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
179
|
+
<p>NULLのリテラルは <code class="docutils literal"><span class="pre">null</span></code> です。GroongaはNULL値をサポートしてませんが、NULLリテラルをサポートしています。</p>
|
143
180
|
</div>
|
144
181
|
<div class="section" id="time">
|
145
|
-
<h3>7.11.2.
|
182
|
+
<h3>7.11.2.3.6. 時間<a class="headerlink" href="#time" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
146
183
|
<div class="admonition note">
|
147
|
-
<p class="first admonition-title"
|
184
|
+
<p class="first admonition-title">注釈</p>
|
148
185
|
<p class="last">これはgroonga独自の記法です。</p>
|
149
186
|
</div>
|
150
187
|
<p>時間のリテラルはありません。文字列での時間記法、整数での時間記法または浮動小数点数での時間記法を使ってください。</p>
|
151
|
-
<p>文字列での時間記法は <
|
152
|
-
<p>整数での時間記法はUTC時間で1970年1月1日0時0分0秒からの経過秒数を使います。この時間はPOSIX時間とも呼ばれています。例えば、 <
|
153
|
-
<p>浮動小数点数での時間記法はUTC時間で1970年1月1日0時0分0秒からの経過秒数と経過マイクロ秒数を使います。例えば、 <
|
188
|
+
<p>文字列での時間記法は <code class="docutils literal"><span class="pre">"YYYY/MM/DD</span> <span class="pre">hh:mm:ss.uuuuuu"</span></code> または <code class="docutils literal"><span class="pre">"YYYY-MM-DD</span> <span class="pre">hh:mm:ss.uuuuuu"</span></code> です。 <code class="docutils literal"><span class="pre">YYYY</span></code> は西暦、 <code class="docutils literal"><span class="pre">MM</span></code> は月、 <code class="docutils literal"><span class="pre">DD</span></code> は日、 <code class="docutils literal"><span class="pre">hh</span></code> は時、 <code class="docutils literal"><span class="pre">mm</span></code> は分、 <code class="docutils literal"><span class="pre">ss</span></code> は秒、 <code class="docutils literal"><span class="pre">uuuuuu</span></code> はマイクロ秒です。ローカル時間です。例えば、 <code class="docutils literal"><span class="pre">"2012/07/23</span> <span class="pre">02:41:10.436218"</span></code> はISO 8601形式では <code class="docutils literal"><span class="pre">2012-07-23T02:41:10.436218</span></code> になります。</p>
|
189
|
+
<p>整数での時間記法はUTC時間で1970年1月1日0時0分0秒からの経過秒数を使います。この時間はPOSIX時間とも呼ばれています。例えば、 <code class="docutils literal"><span class="pre">1343011270</span></code> はISO 8601形式では <code class="docutils literal"><span class="pre">2012-07-23T02:41:10Z</span></code> になります。</p>
|
190
|
+
<p>浮動小数点数での時間記法はUTC時間で1970年1月1日0時0分0秒からの経過秒数と経過マイクロ秒数を使います。例えば、 <code class="docutils literal"><span class="pre">1343011270.436218</span></code> はISO 8601形式では <code class="docutils literal"><span class="pre">2012-07-23T02:41:10.346218Z</span></code> になります。</p>
|
154
191
|
</div>
|
155
192
|
<div class="section" id="geo-point">
|
156
|
-
<h3>7.11.2.
|
193
|
+
<h3>7.11.2.3.7. 座標値<a class="headerlink" href="#geo-point" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
157
194
|
<div class="admonition note">
|
158
|
-
<p class="first admonition-title"
|
195
|
+
<p class="first admonition-title">注釈</p>
|
159
196
|
<p class="last">これはgroonga独自の記法です。</p>
|
160
197
|
</div>
|
161
198
|
<p>座標値のリテラルはありません。文字列での座標値記法を使ってください。</p>
|
162
199
|
<p>文字列での座標値記法には以下のパターンがあります。</p>
|
163
200
|
<blockquote>
|
164
201
|
<div><ul class="simple">
|
165
|
-
<li><p class="first"><
|
202
|
+
<li><p class="first"><code class="docutils literal"><span class="pre">"ミリ秒表記の緯度xミリ秒表記の経度"</span></code></p>
|
166
203
|
</li>
|
167
|
-
<li><p class="first"><
|
204
|
+
<li><p class="first"><code class="docutils literal"><span class="pre">"ミリ秒表記の緯度,ミリ秒表記の経度"</span></code></p>
|
168
205
|
</li>
|
169
|
-
<li><p class="first"><
|
206
|
+
<li><p class="first"><code class="docutils literal"><span class="pre">"度数表記の緯度x度数表記の経度"</span></code></p>
|
170
207
|
</li>
|
171
|
-
<li><p class="first"><
|
208
|
+
<li><p class="first"><code class="docutils literal"><span class="pre">"度数表記の緯度,度数表記の経度"</span></code></p>
|
172
209
|
</li>
|
173
210
|
</ul>
|
174
211
|
</div></blockquote>
|
175
|
-
<p><
|
212
|
+
<p><code class="docutils literal"><span class="pre">x</span></code> と <code class="docutils literal"><span class="pre">,</span></code> のどちらも区切り文字として使えます。緯度と経度はミリ秒または度数で指定します。</p>
|
176
213
|
</div>
|
177
214
|
<div class="section" id="array">
|
178
|
-
<h3>7.11.2.
|
179
|
-
<p>配列リテラルは <
|
215
|
+
<h3>7.11.2.3.8. 配列<a class="headerlink" href="#array" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
216
|
+
<p>配列リテラルは <code class="docutils literal"><span class="pre">[element1,</span> <span class="pre">element2,</span> <span class="pre">...]</span></code> です。</p>
|
180
217
|
</div>
|
181
218
|
<div class="section" id="object-literal">
|
182
|
-
<h3>7.11.2.
|
183
|
-
<p>オブジェクトのリテラルは <
|
219
|
+
<h3>7.11.2.3.9. オブジェクトリテラル<a class="headerlink" href="#object-literal" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
220
|
+
<p>オブジェクトのリテラルは <code class="docutils literal"><span class="pre">{name1:</span> <span class="pre">value1,</span> <span class="pre">name2:</span> <span class="pre">value2,</span> <span class="pre">...}</span></code> です。groongaはまだオブジェクトリテラルをサポートしていません。</p>
|
184
221
|
</div>
|
185
222
|
</div>
|
186
223
|
<div class="section" id="control-syntaxes">
|
187
|
-
<h2>7.11.2.
|
188
|
-
<p>スクリプト構文は文をサポートしていません。そのため、 <
|
189
|
-
<p><
|
224
|
+
<h2>7.11.2.4. 制御構文<a class="headerlink" href="#control-syntaxes" title="このヘッドラインへのパーマリンク">¶</a></h2>
|
225
|
+
<p>スクリプト構文は文をサポートしていません。そのため、 <code class="docutils literal"><span class="pre">if</span></code> のような制御文を使うことはできません。制御用の構文は <code class="docutils literal"><span class="pre">A</span> <span class="pre">?</span> <span class="pre">B</span> <span class="pre">:</span> <span class="pre">C</span></code> 式だけ使うことができます。</p>
|
226
|
+
<p><code class="docutils literal"><span class="pre">A</span> <span class="pre">?</span> <span class="pre">B</span> <span class="pre">:</span> <span class="pre">C</span></code> は <code class="docutils literal"><span class="pre">A</span></code> が真なら <code class="docutils literal"><span class="pre">B</span></code> を返して、そうでなかったら <code class="docutils literal"><span class="pre">C</span></code> を返します。</p>
|
190
227
|
<p>以下は簡単な使用例です。</p>
|
191
228
|
<p>実行例:</p>
|
192
229
|
<div class="highlight-none"><div class="highlight"><pre>select Entries --filter 'n_likes == (_id == 1 ? 5 : 3)'
|
@@ -242,12 +279,12 @@ load --table Entries
|
|
242
279
|
# ]
|
243
280
|
</pre></div>
|
244
281
|
</div>
|
245
|
-
<p>この式は <
|
282
|
+
<p>この式は <code class="docutils literal"><span class="pre">_id</span></code> カラムの値が <code class="docutils literal"><span class="pre">1</span></code> で <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">5</span></code> または <code class="docutils literal"><span class="pre">_id</span></code> カラムの値が <code class="docutils literal"><span class="pre">1</span></code> ではなく <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">3</span></code> のレコードにマッチします。</p>
|
246
283
|
</div>
|
247
284
|
<div class="section" id="grouping">
|
248
|
-
<h2>7.11.2.
|
249
|
-
<p>構文は <
|
250
|
-
<p><
|
285
|
+
<h2>7.11.2.5. グループ化<a class="headerlink" href="#grouping" title="このヘッドラインへのパーマリンク">¶</a></h2>
|
286
|
+
<p>構文は <code class="docutils literal"><span class="pre">(...)</span></code> です。 <code class="docutils literal"><span class="pre">...</span></code> はカンマ区切りの式のリストです。</p>
|
287
|
+
<p><code class="docutils literal"><span class="pre">(...)</span></code> は1つ以上の式をグループ化します。グループ化された式は1つの式として処理されます。 <code class="docutils literal"><span class="pre">a</span> <span class="pre">&&</span> <span class="pre">b</span> <span class="pre">||</span> <span class="pre">c</span></code> は <code class="docutils literal"><span class="pre">a</span></code> と <code class="docutils literal"><span class="pre">b</span></code> の両方がマッチするか、 <code class="docutils literal"><span class="pre">c</span></code> がマッチすれば式全体がマッチする、という意味になります。 <code class="docutils literal"><span class="pre">a</span> <span class="pre">&&</span> <span class="pre">(b</span> <span class="pre">||</span> <span class="pre">c)</span></code> は <code class="docutils literal"><span class="pre">a</span></code> がマッチして <code class="docutils literal"><span class="pre">b</span></code> と <code class="docutils literal"><span class="pre">c</span></code> はどちらか一方がマッチすれば式全体がマッチする、という意味になります。</p>
|
251
288
|
<p>以下は簡単な使用例です。</p>
|
252
289
|
<p>実行例:</p>
|
253
290
|
<div class="highlight-none"><div class="highlight"><pre>select Entries --filter 'n_likes < 5 && content @ "senna" || content @ "fast"'
|
@@ -342,13 +379,13 @@ select Entries --filter 'n_likes < 5 && (content @ "senna&qu
|
|
342
379
|
# ]
|
343
380
|
</pre></div>
|
344
381
|
</div>
|
345
|
-
<p>最初の式はグループ化していません。この式は <
|
346
|
-
<p>2番目の式はグループ化しています。この式は <
|
382
|
+
<p>最初の式はグループ化していません。この式は <code class="docutils literal"><span class="pre">n_likes</span> <span class="pre"><</span> <span class="pre">5</span></code> と <code class="docutils literal"><span class="pre">content</span> <span class="pre">@</span> <span class="pre">"senna"</span></code> の両方がマッチするか <code class="docutils literal"><span class="pre">content</span> <span class="pre">@</span> <span class="pre">"fast"</span></code> がマッチするレコードにマッチします。</p>
|
383
|
+
<p>2番目の式はグループ化しています。この式は <code class="docutils literal"><span class="pre">n_likes</span> <span class="pre"><</span> <span class="pre">5</span></code> にマッチして、 <code class="docutils literal"><span class="pre">content</span> <span class="pre">@</span> <span class="pre">"senna"</span></code> と <code class="docutils literal"><span class="pre">content</span> <span class="pre">@</span> <span class="pre">"fast"</span></code> は少なくともどちらか一方にマッチするレコードにマッチします。</p>
|
347
384
|
</div>
|
348
385
|
<div class="section" id="function-call">
|
349
|
-
<h2>7.11.2.
|
350
|
-
<p>構文は <
|
351
|
-
<p><
|
386
|
+
<h2>7.11.2.6. 関数呼び出し<a class="headerlink" href="#function-call" title="このヘッドラインへのパーマリンク">¶</a></h2>
|
387
|
+
<p>構文は <code class="docutils literal"><span class="pre">name(arugment1,</span> <span class="pre">argument2,</span> <span class="pre">...)</span></code> です。</p>
|
388
|
+
<p><code class="docutils literal"><span class="pre">name(argument1,</span> <span class="pre">argument2,</span> <span class="pre">...)</span></code> は <code class="docutils literal"><span class="pre">name</span></code> という関数を引数 <code class="docutils literal"><span class="pre">argument1</span></code>, <code class="docutils literal"><span class="pre">argument2</span></code>, <code class="docutils literal"><span class="pre">...</span></code> で呼び出します。</p>
|
352
389
|
<p>利用可能な関数の一覧は <a class="reference internal" href="../function.html"><em>関数</em></a> を参照してください。</p>
|
353
390
|
<p>以下は簡単な使用例です。</p>
|
354
391
|
<p>実行例:</p>
|
@@ -399,18 +436,18 @@ select Entries --filter 'n_likes < 5 && (content @ "senna&qu
|
|
399
436
|
# ]
|
400
437
|
</pre></div>
|
401
438
|
</div>
|
402
|
-
<p>この式は <a class="reference internal" href="../functions/edit_distance.html"><em>edit_distance</em></a> を使っています。この式は <
|
439
|
+
<p>この式は <a class="reference internal" href="../functions/edit_distance.html"><em>edit_distance</em></a> を使っています。この式は <code class="docutils literal"><span class="pre">_key</span></code> カラムの値が <code class="docutils literal"><span class="pre">"Groonga"</span></code> に似ているレコードにマッチします。 <code class="docutils literal"><span class="pre">"Groonga"</span></code> との類似度は編集距離で計算します。編集距離が1文字以下なら似ているとします。この場合は <code class="docutils literal"><span class="pre">"Groonga"</span></code> と <code class="docutils literal"><span class="pre">"Mroonga"</span></code> が似ている値です。</p>
|
403
440
|
</div>
|
404
441
|
<div class="section" id="basic-operators">
|
405
|
-
<h2>7.11.2.
|
442
|
+
<h2>7.11.2.7. 基本的な演算子<a class="headerlink" href="#basic-operators" title="このヘッドラインへのパーマリンク">¶</a></h2>
|
406
443
|
<p>groongaはECMAScriptで定義されている演算子をサポートしています。</p>
|
407
444
|
<div class="section" id="arithmetic-operators">
|
408
|
-
<h3>7.11.2.
|
445
|
+
<h3>7.11.2.7.1. 算術演算子<a class="headerlink" href="#arithmetic-operators" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
409
446
|
<p>以下は算術演算子の説明です。</p>
|
410
447
|
<div class="section" id="addition-operator">
|
411
|
-
<h4>7.11.2.
|
412
|
-
<p>構文は <
|
413
|
-
<p>この演算子は <
|
448
|
+
<h4>7.11.2.7.1.1. 加算演算子<a class="headerlink" href="#addition-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
|
449
|
+
<p>構文は <code class="docutils literal"><span class="pre">number1</span> <span class="pre">+</span> <span class="pre">number2</span></code> です。</p>
|
450
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">number1</span></code> と <code class="docutils literal"><span class="pre">number2</span></code> を足した結果を返します。</p>
|
414
451
|
<p>以下は簡単な使用例です。</p>
|
415
452
|
<p>実行例:</p>
|
416
453
|
<div class="highlight-none"><div class="highlight"><pre>select Entries --filter 'n_likes == 10 + 5'
|
@@ -454,12 +491,12 @@ select Entries --filter 'n_likes < 5 && (content @ "senna&qu
|
|
454
491
|
# ]
|
455
492
|
</pre></div>
|
456
493
|
</div>
|
457
|
-
<p>この式は <
|
494
|
+
<p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">15</span></code> (= <code class="docutils literal"><span class="pre">10</span> <span class="pre">+</span> <span class="pre">5</span></code>) のレコードにマッチします。</p>
|
458
495
|
</div>
|
459
496
|
<div class="section" id="subtraction-operator">
|
460
|
-
<h4>7.11.2.
|
461
|
-
<p>構文は <
|
462
|
-
<p>この演算子は <
|
497
|
+
<h4>7.11.2.7.1.2. 減算演算子<a class="headerlink" href="#subtraction-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
|
498
|
+
<p>構文は <code class="docutils literal"><span class="pre">number1</span> <span class="pre">-</span> <span class="pre">number2</span></code> です。</p>
|
499
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">number2</span></code> から <code class="docutils literal"><span class="pre">number1</span></code> を引いた結果を返します。</p>
|
463
500
|
<p>以下は簡単な使用例です。</p>
|
464
501
|
<p>実行例:</p>
|
465
502
|
<div class="highlight-none"><div class="highlight"><pre>select Entries --filter 'n_likes == 20 - 5'
|
@@ -503,12 +540,12 @@ select Entries --filter 'n_likes < 5 && (content @ "senna&qu
|
|
503
540
|
# ]
|
504
541
|
</pre></div>
|
505
542
|
</div>
|
506
|
-
<p>この式は <
|
543
|
+
<p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">15</span></code> (= <code class="docutils literal"><span class="pre">20</span> <span class="pre">-</span> <span class="pre">5</span></code>) のレコードにマッチします。</p>
|
507
544
|
</div>
|
508
545
|
<div class="section" id="multiplication-operator">
|
509
|
-
<h4>7.11.2.
|
510
|
-
<p>構文は <
|
511
|
-
<p>この演算子は <
|
546
|
+
<h4>7.11.2.7.1.3. 乗算演算子<a class="headerlink" href="#multiplication-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
|
547
|
+
<p>構文は <code class="docutils literal"><span class="pre">number1</span> <span class="pre">*</span> <span class="pre">number2</span></code> です。</p>
|
548
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">number1</span></code> と <code class="docutils literal"><span class="pre">number2</span></code> を掛けた結果を返します。</p>
|
512
549
|
<p>以下は簡単な使用例です。</p>
|
513
550
|
<p>実行例:</p>
|
514
551
|
<div class="highlight-none"><div class="highlight"><pre>select Entries --filter 'n_likes == 3 * 5'
|
@@ -552,12 +589,12 @@ select Entries --filter 'n_likes < 5 && (content @ "senna&qu
|
|
552
589
|
# ]
|
553
590
|
</pre></div>
|
554
591
|
</div>
|
555
|
-
<p>この式は <
|
592
|
+
<p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">15</span></code> (= <code class="docutils literal"><span class="pre">3</span> <span class="pre">*</span> <span class="pre">5</span></code>) のレコードにマッチします。</p>
|
556
593
|
</div>
|
557
594
|
<div class="section" id="division-operator">
|
558
|
-
<h4>7.11.2.
|
559
|
-
<p>構文は <
|
560
|
-
<p>この演算子は <
|
595
|
+
<h4>7.11.2.7.1.4. 除算演算子<a class="headerlink" href="#division-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
|
596
|
+
<p>構文は <code class="docutils literal"><span class="pre">number1</span> <span class="pre">/</span> <span class="pre">number2</span></code> と <code class="docutils literal"><span class="pre">number1</span> <span class="pre">%</span> <span class="pre">number2</span></code> です。</p>
|
597
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">number2</span></code> を <code class="docutils literal"><span class="pre">number1</span></code> で割ります。 <code class="docutils literal"><span class="pre">/</span></code> は商を返します。 <code class="docutils literal"><span class="pre">%</span></code> は余りを返します。</p>
|
561
598
|
<p>以下は簡単な使用例です。</p>
|
562
599
|
<p>実行例:</p>
|
563
600
|
<div class="highlight-none"><div class="highlight"><pre>select Entries --filter 'n_likes == 26 / 7'
|
@@ -607,7 +644,7 @@ select Entries --filter 'n_likes < 5 && (content @ "senna&qu
|
|
607
644
|
# ]
|
608
645
|
</pre></div>
|
609
646
|
</div>
|
610
|
-
<p>この式は <
|
647
|
+
<p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">3</span></code> (= <code class="docutils literal"><span class="pre">26</span> <span class="pre">/</span> <span class="pre">7</span></code>) のレコードにマッチします。</p>
|
611
648
|
<p>実行例:</p>
|
612
649
|
<div class="highlight-none"><div class="highlight"><pre>select Entries --filter 'n_likes == 26 % 7'
|
613
650
|
# [
|
@@ -650,16 +687,16 @@ select Entries --filter 'n_likes < 5 && (content @ "senna&qu
|
|
650
687
|
# ]
|
651
688
|
</pre></div>
|
652
689
|
</div>
|
653
|
-
<p>この式は <
|
690
|
+
<p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">5</span></code> (= <code class="docutils literal"><span class="pre">26</span> <span class="pre">%</span> <span class="pre">7</span></code>) の値にマッチします。</p>
|
654
691
|
</div>
|
655
692
|
</div>
|
656
693
|
<div class="section" id="logical-operators">
|
657
|
-
<h3>7.11.2.
|
694
|
+
<h3>7.11.2.7.2. 論理演算子<a class="headerlink" href="#logical-operators" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
658
695
|
<p>以下は論理演算子の説明です。</p>
|
659
696
|
<div class="section" id="logical-not-operator">
|
660
|
-
<h4>7.11.2.
|
661
|
-
<p>構文は <
|
662
|
-
<p>この演算子は <
|
697
|
+
<h4>7.11.2.7.2.1. 論理否定演算子<a class="headerlink" href="#logical-not-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
|
698
|
+
<p>構文は <code class="docutils literal"><span class="pre">!condition</span></code> です。</p>
|
699
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">condition</span></code> の真偽値を反転します。</p>
|
663
700
|
<p>以下は簡単な使用例です。</p>
|
664
701
|
<p>実行例:</p>
|
665
702
|
<div class="highlight-none"><div class="highlight"><pre>select Entries --filter '!(n_likes == 5)'
|
@@ -721,12 +758,12 @@ select Entries --filter 'n_likes < 5 && (content @ "senna&qu
|
|
721
758
|
# ]
|
722
759
|
</pre></div>
|
723
760
|
</div>
|
724
|
-
<p>この式は <
|
761
|
+
<p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">5</span></code> ではない式にマッチします。</p>
|
725
762
|
</div>
|
726
763
|
<div class="section" id="logical-and-operator">
|
727
|
-
<h4>7.11.2.
|
728
|
-
<p>構文は <
|
729
|
-
<p>この演算子は <
|
764
|
+
<h4>7.11.2.7.2.2. 論理積演算子<a class="headerlink" href="#logical-and-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
|
765
|
+
<p>構文は <code class="docutils literal"><span class="pre">condition1</span> <span class="pre">&&</span> <span class="pre">condition2</span></code> です。</p>
|
766
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">condition1</span></code> と <code class="docutils literal"><span class="pre">condition2</span></code> の両方が真のときに真を返し、そうでなければ偽を返します。</p>
|
730
767
|
<p>以下は簡単な使用例です。</p>
|
731
768
|
<p>実行例:</p>
|
732
769
|
<div class="highlight-none"><div class="highlight"><pre>select Entries --filter 'content @ "fast" && n_likes >= 10'
|
@@ -776,12 +813,12 @@ select Entries --filter 'n_likes < 5 && (content @ "senna&qu
|
|
776
813
|
# ]
|
777
814
|
</pre></div>
|
778
815
|
</div>
|
779
|
-
<p>この式は <
|
816
|
+
<p>この式は <code class="docutils literal"><span class="pre">content</span></code> カラムの値が <code class="docutils literal"><span class="pre">fast</span></code> を含んでいて、 <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">10</span></code> 以上のレコードにマッチします。</p>
|
780
817
|
</div>
|
781
818
|
<div class="section" id="logical-or-operator">
|
782
|
-
<h4>7.11.2.
|
783
|
-
<p>構文は <
|
784
|
-
<p>この演算子は <
|
819
|
+
<h4>7.11.2.7.2.3. 論理和演算子<a class="headerlink" href="#logical-or-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
|
820
|
+
<p>構文は <code class="docutils literal"><span class="pre">condition1</span> <span class="pre">||</span> <span class="pre">condition2</span></code> です。</p>
|
821
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">condition1</span></code> と <code class="docutils literal"><span class="pre">condition2</span></code> のどちらか一方が真のときに真を返し、そうでなければ偽を返します。</p>
|
785
822
|
<p>以下は簡単な使用例です。</p>
|
786
823
|
<p>実行例:</p>
|
787
824
|
<div class="highlight-none"><div class="highlight"><pre>select Entries --filter 'n_likes == 5 || n_likes == 10'
|
@@ -831,12 +868,12 @@ select Entries --filter 'n_likes < 5 && (content @ "senna&qu
|
|
831
868
|
# ]
|
832
869
|
</pre></div>
|
833
870
|
</div>
|
834
|
-
<p>この式は <
|
871
|
+
<p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">5</span></code> または <code class="docutils literal"><span class="pre">10</span></code> のレコードにマッチします。</p>
|
835
872
|
</div>
|
836
873
|
<div class="section" id="logical-and-not-operator">
|
837
|
-
<h4>7.11.2.
|
838
|
-
<p>構文は <
|
839
|
-
<p>この演算子は <
|
874
|
+
<h4>7.11.2.7.2.4. 論理差演算子<a class="headerlink" href="#logical-and-not-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
|
875
|
+
<p>構文は <code class="docutils literal"><span class="pre">condition1</span> <span class="pre">&!</span> <span class="pre">condition2</span></code> です。</p>
|
876
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">condition1</span></code> が真で <code class="docutils literal"><span class="pre">condition2</span></code> が偽のときに真を返し、そうでなければ偽を返します。差集合を返すということです。</p>
|
840
877
|
<p>以下は簡単な使用例です。</p>
|
841
878
|
<p>実行例:</p>
|
842
879
|
<div class="highlight-none"><div class="highlight"><pre>select Entries --filter 'content @ "fast" &! content @ "mroonga"'
|
@@ -880,16 +917,16 @@ select Entries --filter 'n_likes < 5 && (content @ "senna&qu
|
|
880
917
|
# ]
|
881
918
|
</pre></div>
|
882
919
|
</div>
|
883
|
-
<p>この式は <
|
920
|
+
<p>この式は <code class="docutils literal"><span class="pre">content</span></code> カラムの値が <code class="docutils literal"><span class="pre">fast</span></code> を含んでいるが <code class="docutils literal"><span class="pre">mroonga</span></code> を含んでいないレコードにマッチします。</p>
|
884
921
|
</div>
|
885
922
|
</div>
|
886
923
|
<div class="section" id="bitwise-operators">
|
887
|
-
<h3>7.11.2.
|
924
|
+
<h3>7.11.2.7.3. ビット演算子<a class="headerlink" href="#bitwise-operators" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
888
925
|
<p>以下はビット演算子の説明です。</p>
|
889
926
|
<div class="section" id="bitwise-not-operator">
|
890
|
-
<h4>7.11.2.
|
891
|
-
<p>構文は <
|
892
|
-
<p>この演算子は <
|
927
|
+
<h4>7.11.2.7.3.1. ビット否定演算子<a class="headerlink" href="#bitwise-not-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
|
928
|
+
<p>構文は <code class="docutils literal"><span class="pre">~number</span></code> です。</p>
|
929
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">number</span></code> の各ビットを反転した結果を返します。</p>
|
893
930
|
<p>以下は簡単な使用例です。</p>
|
894
931
|
<p>実行例:</p>
|
895
932
|
<div class="highlight-none"><div class="highlight"><pre>select Entries --filter '~n_likes == -6'
|
@@ -933,12 +970,12 @@ select Entries --filter 'n_likes < 5 && (content @ "senna&qu
|
|
933
970
|
# ]
|
934
971
|
</pre></div>
|
935
972
|
</div>
|
936
|
-
<p>この式は <
|
973
|
+
<p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">5</span></code> のレコードにマッチします。なぜならば、 <code class="docutils literal"><span class="pre">5</span></code> の各ビットを反転すると <code class="docutils literal"><span class="pre">-6</span></code> になるからです。</p>
|
937
974
|
</div>
|
938
975
|
<div class="section" id="bitwise-and-operator">
|
939
|
-
<h4>7.11.2.
|
940
|
-
<p>構文は <
|
941
|
-
<p>この演算子は <
|
976
|
+
<h4>7.11.2.7.3.2. ビット論理積演算子<a class="headerlink" href="#bitwise-and-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
|
977
|
+
<p>構文は <code class="docutils literal"><span class="pre">number1</span> <span class="pre">&</span> <span class="pre">number2</span></code> です。</p>
|
978
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">number1</span></code> と <code class="docutils literal"><span class="pre">number2</span></code> をビット単位で論理積をした結果を返します。</p>
|
942
979
|
<p>以下は簡単な使用例です。</p>
|
943
980
|
<p>実行例:</p>
|
944
981
|
<div class="highlight-none"><div class="highlight"><pre>select Entries --filter '(n_likes & 1) == 1'
|
@@ -1000,13 +1037,13 @@ select Entries --filter 'n_likes < 5 && (content @ "senna&qu
|
|
1000
1037
|
# ]
|
1001
1038
|
</pre></div>
|
1002
1039
|
</div>
|
1003
|
-
<p>この式は <
|
1040
|
+
<p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が偶数のレコードにマッチします。なぜならば、偶数と <code class="docutils literal"><span class="pre">1</span></code> のビット単位の論理積は <code class="docutils literal"><span class="pre">1</span></code> になり、奇数と <code class="docutils literal"><span class="pre">1</span></code> のビット単位の論理積は <code class="docutils literal"><span class="pre">0</span></code> になるからです。</p>
|
1004
1041
|
</div>
|
1005
1042
|
</div>
|
1006
1043
|
<div class="section" id="bitwise-or-operator">
|
1007
|
-
<h3>7.11.2.
|
1008
|
-
<p>構文は <
|
1009
|
-
<p>この演算子は <
|
1044
|
+
<h3>7.11.2.7.4. ビット論理和演算子<a class="headerlink" href="#bitwise-or-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
1045
|
+
<p>構文は <code class="docutils literal"><span class="pre">number1</span> <span class="pre">|</span> <span class="pre">number2</span></code> です。</p>
|
1046
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">number1</span></code> と <code class="docutils literal"><span class="pre">number2</span></code> をビット単位で論理和した結果を返します。</p>
|
1010
1047
|
<p>以下は簡単な使用例です。</p>
|
1011
1048
|
<p>実行例:</p>
|
1012
1049
|
<div class="highlight-none"><div class="highlight"><pre>select Entries --filter 'n_likes == (1 | 4)'
|
@@ -1050,12 +1087,12 @@ select Entries --filter 'n_likes < 5 && (content @ "senna&qu
|
|
1050
1087
|
# ]
|
1051
1088
|
</pre></div>
|
1052
1089
|
</div>
|
1053
|
-
<p>この式は <
|
1090
|
+
<p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">5</span></code> (= <code class="docutils literal"><span class="pre">1</span> <span class="pre">|</span> <span class="pre">4</span></code>) のレコードにマッチします。</p>
|
1054
1091
|
</div>
|
1055
1092
|
<div class="section" id="bitwise-xor-operator">
|
1056
|
-
<h3>7.11.2.
|
1057
|
-
<p>構文は <
|
1058
|
-
<p>この演算子は <
|
1093
|
+
<h3>7.11.2.7.5. ビット排他的論理和演算子<a class="headerlink" href="#bitwise-xor-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
1094
|
+
<p>構文は <code class="docutils literal"><span class="pre">number1</span> <span class="pre">^</span> <span class="pre">number2</span></code> です。</p>
|
1095
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">number1</span></code> と <code class="docutils literal"><span class="pre">number2</span></code> をビット単位で排他的論理和した結果を返します。</p>
|
1059
1096
|
<p>以下は簡単な使用例です。</p>
|
1060
1097
|
<p>実行例:</p>
|
1061
1098
|
<div class="highlight-none"><div class="highlight"><pre>select Entries --filter 'n_likes == (10 ^ 15)'
|
@@ -1099,15 +1136,15 @@ select Entries --filter 'n_likes < 5 && (content @ "senna&qu
|
|
1099
1136
|
# ]
|
1100
1137
|
</pre></div>
|
1101
1138
|
</div>
|
1102
|
-
<p>この式は <
|
1139
|
+
<p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">5</span></code> (= <code class="docutils literal"><span class="pre">10</span> <span class="pre">^</span> <span class="pre">15</span></code>) の値にマッチします。</p>
|
1103
1140
|
</div>
|
1104
1141
|
<div class="section" id="shift-operators">
|
1105
|
-
<h3>7.11.2.
|
1142
|
+
<h3>7.11.2.7.6. シフト演算子<a class="headerlink" href="#shift-operators" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
1106
1143
|
<p>以下はシフト演算子の説明です。</p>
|
1107
1144
|
<div class="section" id="left-shift-operator">
|
1108
|
-
<h4>7.11.2.
|
1109
|
-
<p>構文は <
|
1110
|
-
<p>この演算子は <
|
1145
|
+
<h4>7.11.2.7.6.1. 左シフト演算子<a class="headerlink" href="#left-shift-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
|
1146
|
+
<p>構文は <code class="docutils literal"><span class="pre">number1</span> <span class="pre"><<</span> <span class="pre">number2</span></code> です。</p>
|
1147
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">number1</span></code> のビットを左に <code class="docutils literal"><span class="pre">number2</span></code> ビットシフトする。</p>
|
1111
1148
|
<p>以下は簡単な使用例です。</p>
|
1112
1149
|
<p>実行例:</p>
|
1113
1150
|
<div class="highlight-none"><div class="highlight"><pre>select Entries --filter 'n_likes == (5 << 1)'
|
@@ -1151,12 +1188,12 @@ select Entries --filter 'n_likes < 5 && (content @ "senna&qu
|
|
1151
1188
|
# ]
|
1152
1189
|
</pre></div>
|
1153
1190
|
</div>
|
1154
|
-
<p>この式は <
|
1191
|
+
<p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">10</span></code> (= <code class="docutils literal"><span class="pre">5</span> <span class="pre"><<</span> <span class="pre">1</span></code>) のレコードにマッチします。</p>
|
1155
1192
|
</div>
|
1156
1193
|
<div class="section" id="signed-right-shift-operator">
|
1157
|
-
<h4>7.11.2.
|
1158
|
-
<p>構文は <
|
1159
|
-
<p>この演算子は <
|
1194
|
+
<h4>7.11.2.7.6.2. 符号付き右シフト演算子<a class="headerlink" href="#signed-right-shift-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
|
1195
|
+
<p>構文は <code class="docutils literal"><span class="pre">number1</span> <span class="pre">>></span> <span class="pre">number2</span></code> です。</p>
|
1196
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">number1</span></code> のビットを右に <code class="docutils literal"><span class="pre">number2</span></code> ビットシフトします。結果の符号は <code class="docutils literal"><span class="pre">number1</span></code> の符号と同じです。</p>
|
1160
1197
|
<p>以下は簡単な使用例です。</p>
|
1161
1198
|
<p>実行例:</p>
|
1162
1199
|
<div class="highlight-none"><div class="highlight"><pre>select Entries --filter 'n_likes == -(-10 >> 1)'
|
@@ -1200,12 +1237,12 @@ select Entries --filter 'n_likes < 5 && (content @ "senna&qu
|
|
1200
1237
|
# ]
|
1201
1238
|
</pre></div>
|
1202
1239
|
</div>
|
1203
|
-
<p>この式は <
|
1240
|
+
<p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">5</span></code> (= <code class="docutils literal"><span class="pre">-(-10</span> <span class="pre">>></span> <span class="pre">1)</span></code> = <code class="docutils literal"><span class="pre">-(-5)</span></code>) のレコードにマッチします。</p>
|
1204
1241
|
</div>
|
1205
1242
|
<div class="section" id="unsigned-right-shift-operator">
|
1206
|
-
<h4>7.11.2.
|
1207
|
-
<p>構文は <
|
1208
|
-
<p>この演算子は <
|
1243
|
+
<h4>7.11.2.7.6.3. 符号なし右シフト演算子<a class="headerlink" href="#unsigned-right-shift-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
|
1244
|
+
<p>構文は <code class="docutils literal"><span class="pre">number1</span> <span class="pre">>>></span> <span class="pre">number2</span></code> です。</p>
|
1245
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">number1</span></code> のビットを右に <code class="docutils literal"><span class="pre">number2</span></code> ビットシフトします。一番左の <code class="docutils literal"><span class="pre">number2</span></code> ビットには <code class="docutils literal"><span class="pre">0</span></code> が入ります。</p>
|
1209
1246
|
<p>以下は簡単な使用例です。</p>
|
1210
1247
|
<p>実行例:</p>
|
1211
1248
|
<div class="highlight-none"><div class="highlight"><pre>select Entries --filter 'n_likes == (2147483648 - (-10 >>> 1))'
|
@@ -1249,16 +1286,16 @@ select Entries --filter 'n_likes < 5 && (content @ "senna&qu
|
|
1249
1286
|
# ]
|
1250
1287
|
</pre></div>
|
1251
1288
|
</div>
|
1252
|
-
<p>この式は <
|
1289
|
+
<p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">5</span></code> (= <code class="docutils literal"><span class="pre">2147483648</span> <span class="pre">-</span> <span class="pre">(-10</span> <span class="pre">>>></span> <span class="pre">1)</span></code> = <code class="docutils literal"><span class="pre">2147483648</span> <span class="pre">-</span> <span class="pre">2147483643</span></code>) のレコードにマッチします。</p>
|
1253
1290
|
</div>
|
1254
1291
|
</div>
|
1255
1292
|
<div class="section" id="comparison-operators">
|
1256
|
-
<h3>7.11.2.
|
1293
|
+
<h3>7.11.2.7.7. 比較演算子<a class="headerlink" href="#comparison-operators" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
1257
1294
|
<p>以下は比較演算子の説明です。</p>
|
1258
1295
|
<div class="section" id="equal-operator">
|
1259
|
-
<h4>7.11.2.
|
1260
|
-
<p>構文は <
|
1261
|
-
<p>この演算子は <
|
1296
|
+
<h4>7.11.2.7.7.1. 等価演算子<a class="headerlink" href="#equal-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
|
1297
|
+
<p>構文は <code class="docutils literal"><span class="pre">object1</span> <span class="pre">==</span> <span class="pre">object2</span></code> です。</p>
|
1298
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">object1</span></code> が <code class="docutils literal"><span class="pre">object2</span></code> と等しいときは真を返し、そうでなければ偽を返します。</p>
|
1262
1299
|
<p>以下は簡単な使用例です。</p>
|
1263
1300
|
<p>実行例:</p>
|
1264
1301
|
<div class="highlight-none"><div class="highlight"><pre>select Entries --filter 'n_likes == 5'
|
@@ -1302,12 +1339,12 @@ select Entries --filter 'n_likes < 5 && (content @ "senna&qu
|
|
1302
1339
|
# ]
|
1303
1340
|
</pre></div>
|
1304
1341
|
</div>
|
1305
|
-
<p>この式は <
|
1342
|
+
<p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">5</span></code> の値にマッチします。</p>
|
1306
1343
|
</div>
|
1307
1344
|
<div class="section" id="not-equal-operator">
|
1308
|
-
<h4>7.11.2.
|
1309
|
-
<p>構文は <
|
1310
|
-
<p>この演算子は <
|
1345
|
+
<h4>7.11.2.7.7.2. 不等価演算子<a class="headerlink" href="#not-equal-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
|
1346
|
+
<p>構文は <code class="docutils literal"><span class="pre">object1</span> <span class="pre">!=</span> <span class="pre">object2</span></code> です。</p>
|
1347
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">object1</span></code> が <code class="docutils literal"><span class="pre">object2</span></code> と等しくないときに真を返し、そうでなければ偽を返します。</p>
|
1311
1348
|
<p>以下は簡単な使用例です。</p>
|
1312
1349
|
<p>実行例:</p>
|
1313
1350
|
<div class="highlight-none"><div class="highlight"><pre>select Entries --filter 'n_likes != 5'
|
@@ -1369,32 +1406,32 @@ select Entries --filter 'n_likes < 5 && (content @ "senna&qu
|
|
1369
1406
|
# ]
|
1370
1407
|
</pre></div>
|
1371
1408
|
</div>
|
1372
|
-
<p>この式は <
|
1409
|
+
<p>この式は <code class="docutils literal"><span class="pre">n_likes</span></code> カラムの値が <code class="docutils literal"><span class="pre">5</span></code> ではない式にマッチします。</p>
|
1373
1410
|
</div>
|
1374
1411
|
<div class="section" id="less-than-operator">
|
1375
|
-
<h4>7.11.2.
|
1412
|
+
<h4>7.11.2.7.7.3. 小なり演算子<a class="headerlink" href="#less-than-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
|
1376
1413
|
<p>TODO: ...</p>
|
1377
1414
|
</div>
|
1378
1415
|
<div class="section" id="less-than-or-equal-to-operator">
|
1379
|
-
<h4>7.11.2.
|
1416
|
+
<h4>7.11.2.7.7.4. 以下演算子<a class="headerlink" href="#less-than-or-equal-to-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
|
1380
1417
|
<p>TODO: ...</p>
|
1381
1418
|
</div>
|
1382
1419
|
<div class="section" id="greater-than-operator">
|
1383
|
-
<h4>7.11.2.
|
1420
|
+
<h4>7.11.2.7.7.5. 大なり演算子<a class="headerlink" href="#greater-than-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
|
1384
1421
|
<p>TODO: ...</p>
|
1385
1422
|
</div>
|
1386
1423
|
<div class="section" id="greater-than-or-equal-to-operator">
|
1387
|
-
<h4>7.11.2.
|
1424
|
+
<h4>7.11.2.7.7.6. 以上演算子<a class="headerlink" href="#greater-than-or-equal-to-operator" title="このヘッドラインへのパーマリンク">¶</a></h4>
|
1388
1425
|
<p>TODO: ...</p>
|
1389
1426
|
</div>
|
1390
1427
|
</div>
|
1391
1428
|
</div>
|
1392
1429
|
<div class="section" id="assignment-operators">
|
1393
|
-
<h2>7.11.2.
|
1430
|
+
<h2>7.11.2.8. 代入演算子<a class="headerlink" href="#assignment-operators" title="このヘッドラインへのパーマリンク">¶</a></h2>
|
1394
1431
|
<div class="section" id="addition-assignment-operator">
|
1395
|
-
<h3>7.11.2.
|
1396
|
-
<p>構文は <
|
1397
|
-
<p>この演算子は <
|
1432
|
+
<h3>7.11.2.8.1. 加算代入演算子<a class="headerlink" href="#addition-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
1433
|
+
<p>構文は <code class="docutils literal"><span class="pre">column</span> <span class="pre">+=</span> <span class="pre">value</span></code> です。</p>
|
1434
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">column1</span></code> に <code class="docutils literal"><span class="pre">column2</span></code> を加算代入します。</p>
|
1398
1435
|
<p>実行例:</p>
|
1399
1436
|
<div class="highlight-none"><div class="highlight"><pre>select Entries --output_columns _key,n_likes,_score --filter true --scorer '_score += n_likes'
|
1400
1437
|
# [
|
@@ -1452,14 +1489,14 @@ select Entries --filter 'n_likes < 5 && (content @ "senna&qu
|
|
1452
1489
|
# ]
|
1453
1490
|
</pre></div>
|
1454
1491
|
</div>
|
1455
|
-
<p><
|
1456
|
-
<p>例えば、 <
|
1457
|
-
<p>そのため、 <
|
1492
|
+
<p><code class="docutils literal"><span class="pre">--filter</span></code> による <code class="docutils literal"><span class="pre">_score</span></code> の値はこの場合は常に1です。その後、'_score = _score + n_likes' という加算代入演算をそれぞれのレコードへ適用します。</p>
|
1493
|
+
<p>例えば、 <code class="docutils literal"><span class="pre">_key</span></code> として"Good-bye Senna"を格納しているレコードの <code class="docutils literal"><span class="pre">_score</span></code> の値は3です。</p>
|
1494
|
+
<p>そのため、 <code class="docutils literal"><span class="pre">1</span> <span class="pre">+</span> <span class="pre">3</span></code> という式が評価されてから <code class="docutils literal"><span class="pre">_score</span></code> カラムへと演算結果が保存されます。</p>
|
1458
1495
|
</div>
|
1459
1496
|
<div class="section" id="subtraction-assignment-operator">
|
1460
|
-
<h3>7.11.2.
|
1461
|
-
<p>構文は <
|
1462
|
-
<p>この演算子は <
|
1497
|
+
<h3>7.11.2.8.2. 減算代入演算子<a class="headerlink" href="#subtraction-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
1498
|
+
<p>構文は <code class="docutils literal"><span class="pre">column1</span> <span class="pre">-=</span> <span class="pre">column2</span></code> です。</p>
|
1499
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">column1</span></code> から <code class="docutils literal"><span class="pre">column2</span></code> を減算代入します。</p>
|
1463
1500
|
<p>実行例:</p>
|
1464
1501
|
<div class="highlight-none"><div class="highlight"><pre>select Entries --output_columns _key,n_likes,_score --filter true --scorer '_score -= n_likes'
|
1465
1502
|
# [
|
@@ -1517,14 +1554,14 @@ select Entries --filter 'n_likes < 5 && (content @ "senna&qu
|
|
1517
1554
|
# ]
|
1518
1555
|
</pre></div>
|
1519
1556
|
</div>
|
1520
|
-
<p><
|
1521
|
-
<p>例えば、 <
|
1522
|
-
<p>そのため、 <
|
1557
|
+
<p><code class="docutils literal"><span class="pre">--filter</span></code> による <code class="docutils literal"><span class="pre">_score</span></code> の値はこの場合は常に1です。その後、'_score = _score - n_likes' という減算代入演算をそれぞれのレコードへ適用します。</p>
|
1558
|
+
<p>例えば、 <code class="docutils literal"><span class="pre">_key</span></code> として"Good-bye Senna"を格納しているレコードの <code class="docutils literal"><span class="pre">_score</span></code> の値は3です。</p>
|
1559
|
+
<p>そのため、 <code class="docutils literal"><span class="pre">1</span> <span class="pre">-</span> <span class="pre">3</span></code> という式が評価されてから <code class="docutils literal"><span class="pre">_score</span></code> カラムへと演算結果が保存されます。</p>
|
1523
1560
|
</div>
|
1524
1561
|
<div class="section" id="multiplication-assignment-operator">
|
1525
|
-
<h3>7.11.2.
|
1526
|
-
<p>構文は <
|
1527
|
-
<p>この演算子は <
|
1562
|
+
<h3>7.11.2.8.3. 乗算代入演算子<a class="headerlink" href="#multiplication-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
1563
|
+
<p>構文は <code class="docutils literal"><span class="pre">column1</span> <span class="pre">*=</span> <span class="pre">column2</span></code> です。</p>
|
1564
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">column1</span></code> に <code class="docutils literal"><span class="pre">column2</span></code> を乗算演算する。</p>
|
1528
1565
|
<p>実行例:</p>
|
1529
1566
|
<div class="highlight-none"><div class="highlight"><pre>select Entries --output_columns _key,n_likes,_score --filter true --scorer '_score *= n_likes'
|
1530
1567
|
# [
|
@@ -1582,14 +1619,14 @@ select Entries --filter 'n_likes < 5 && (content @ "senna&qu
|
|
1582
1619
|
# ]
|
1583
1620
|
</pre></div>
|
1584
1621
|
</div>
|
1585
|
-
<p><
|
1586
|
-
<p>例えば、 <
|
1587
|
-
<p>そのため、 <
|
1622
|
+
<p><code class="docutils literal"><span class="pre">--filter</span></code> による <code class="docutils literal"><span class="pre">_score</span></code> の値はこの場合は常に1です。その後、'_score = _score * n_likes' という乗算代入演算をそれぞれのレコードへ適用します。</p>
|
1623
|
+
<p>例えば、 <code class="docutils literal"><span class="pre">_key</span></code> として"Good-bye Senna"を格納しているレコードの <code class="docutils literal"><span class="pre">_score</span></code> の値は3です。</p>
|
1624
|
+
<p>そのため、 <code class="docutils literal"><span class="pre">1</span> <span class="pre">*</span> <span class="pre">3</span></code> という式が評価されてから <code class="docutils literal"><span class="pre">_score</span></code> カラムへと演算結果が保存されます。</p>
|
1588
1625
|
</div>
|
1589
1626
|
<div class="section" id="division-assignment-operator">
|
1590
|
-
<h3>7.11.2.
|
1591
|
-
<p>構文は <
|
1592
|
-
<p>この演算子は <
|
1627
|
+
<h3>7.11.2.8.4. 除算代入演算子<a class="headerlink" href="#division-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
1628
|
+
<p>構文は <code class="docutils literal"><span class="pre">column1</span> <span class="pre">/=</span> <span class="pre">column2</span></code> です。</p>
|
1629
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">column1</span></code> に <code class="docutils literal"><span class="pre">column2</span></code> を除算代入します。</p>
|
1593
1630
|
<p>実行例:</p>
|
1594
1631
|
<div class="highlight-none"><div class="highlight"><pre>select Entries --output_columns _key,n_likes,_score --filter true --scorer '_score /= n_likes'
|
1595
1632
|
# [
|
@@ -1647,14 +1684,14 @@ select Entries --filter 'n_likes < 5 && (content @ "senna&qu
|
|
1647
1684
|
# ]
|
1648
1685
|
</pre></div>
|
1649
1686
|
</div>
|
1650
|
-
<p><
|
1651
|
-
<p>例えば、 <
|
1652
|
-
<p>そのため、 <
|
1687
|
+
<p><code class="docutils literal"><span class="pre">--filter</span></code> による <code class="docutils literal"><span class="pre">_score</span></code> の値はこの場合は常に1です。その後、'_score = _score / n_likes' という除算代入演算をそれぞれのレコードへ適用します。</p>
|
1688
|
+
<p>例えば、 <code class="docutils literal"><span class="pre">_key</span></code> として"Good-bye Senna"を格納しているレコードの <code class="docutils literal"><span class="pre">_score</span></code> の値は3です。</p>
|
1689
|
+
<p>そのため、 <code class="docutils literal"><span class="pre">1</span> <span class="pre">/</span> <span class="pre">3</span></code> という式が評価されてから <code class="docutils literal"><span class="pre">_score</span></code> カラムへと演算結果が保存されます。</p>
|
1653
1690
|
</div>
|
1654
1691
|
<div class="section" id="modulo-assignment-operator">
|
1655
|
-
<h3>7.11.2.
|
1656
|
-
<p>構文は <
|
1657
|
-
<p>この演算子は <
|
1692
|
+
<h3>7.11.2.8.5. 剰余代入演算子<a class="headerlink" href="#modulo-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
1693
|
+
<p>構文は <code class="docutils literal"><span class="pre">column1</span> <span class="pre">%=</span> <span class="pre">column2</span></code> です。</p>
|
1694
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">column1</span></code> に <code class="docutils literal"><span class="pre">column2</span></code> を剰余代入します。</p>
|
1658
1695
|
<p>実行例:</p>
|
1659
1696
|
<div class="highlight-none"><div class="highlight"><pre>select Entries --output_columns _key,n_likes,_score --filter true --scorer '_score %= n_likes'
|
1660
1697
|
# [
|
@@ -1712,14 +1749,14 @@ select Entries --filter 'n_likes < 5 && (content @ "senna&qu
|
|
1712
1749
|
# ]
|
1713
1750
|
</pre></div>
|
1714
1751
|
</div>
|
1715
|
-
<p><
|
1716
|
-
<p>例えば、 <
|
1717
|
-
<p>そのため、 <
|
1752
|
+
<p><code class="docutils literal"><span class="pre">--filter</span></code> による <code class="docutils literal"><span class="pre">_score</span></code> の値はこの場合は常に1です。その後、'_score = _score % n_likes' という除算代入演算をそれぞれのレコードへ適用します。</p>
|
1753
|
+
<p>例えば、 <code class="docutils literal"><span class="pre">_key</span></code> として"Good-bye Senna"を格納しているレコードの <code class="docutils literal"><span class="pre">_score</span></code> の値は3です。</p>
|
1754
|
+
<p>そのため、 <code class="docutils literal"><span class="pre">1</span> <span class="pre">%</span> <span class="pre">3</span></code> という式が評価されてから <code class="docutils literal"><span class="pre">_score</span></code> カラムへと演算結果が保存されます。</p>
|
1718
1755
|
</div>
|
1719
1756
|
<div class="section" id="bitwise-left-shift-assignment-operator">
|
1720
|
-
<h3>7.11.2.
|
1721
|
-
<p>構文は <
|
1722
|
-
<p>この演算子は <
|
1757
|
+
<h3>7.11.2.8.6. 左シフト代入演算子<a class="headerlink" href="#bitwise-left-shift-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
1758
|
+
<p>構文は <code class="docutils literal"><span class="pre">column1</span> <span class="pre"><<</span> <span class="pre">column2</span></code> です。</p>
|
1759
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">column1</span></code> のビットを左に <code class="docutils literal"><span class="pre">column2</span></code> 左ビットシフト代入演算します。</p>
|
1723
1760
|
<p>実行例:</p>
|
1724
1761
|
<div class="highlight-none"><div class="highlight"><pre>select Entries --output_columns _key,n_likes,_score --filter true --scorer '_score <<= n_likes'
|
1725
1762
|
# [
|
@@ -1777,24 +1814,24 @@ select Entries --filter 'n_likes < 5 && (content @ "senna&qu
|
|
1777
1814
|
# ]
|
1778
1815
|
</pre></div>
|
1779
1816
|
</div>
|
1780
|
-
<p><
|
1781
|
-
<p>例えば、 <
|
1782
|
-
<p>そのため、 <
|
1817
|
+
<p><code class="docutils literal"><span class="pre">--filter</span></code> による <code class="docutils literal"><span class="pre">_score</span></code> の値はこの場合は常に1です。その後、'_score = _score << n_likes' という左ビットシフト代入演算をそれぞれのレコードへ適用します。</p>
|
1818
|
+
<p>例えば、 <code class="docutils literal"><span class="pre">_key</span></code> として"Good-bye Senna"を格納しているレコードの <code class="docutils literal"><span class="pre">_score</span></code> の値は3です。</p>
|
1819
|
+
<p>そのため、 <code class="docutils literal"><span class="pre">1</span> <span class="pre"><<</span> <span class="pre">3</span></code> という式が評価されてから <code class="docutils literal"><span class="pre">_score</span></code> カラムへと演算結果が保存されます。</p>
|
1783
1820
|
</div>
|
1784
1821
|
<div class="section" id="bitwise-signed-right-shift-assignment-operator">
|
1785
|
-
<h3>7.11.2.
|
1786
|
-
<p>構文は <
|
1787
|
-
<p>この演算子は <
|
1822
|
+
<h3>7.11.2.8.7. 符号あり右シフト代入演算子<a class="headerlink" href="#bitwise-signed-right-shift-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
1823
|
+
<p>構文は <code class="docutils literal"><span class="pre">column1</span> <span class="pre">>>=</span> <span class="pre">column2</span></code> です。</p>
|
1824
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">column1</span></code> のビットを <code class="docutils literal"><span class="pre">column2</span></code> 右ビットシフト代入演算します。</p>
|
1788
1825
|
</div>
|
1789
1826
|
<div class="section" id="bitwise-unsigned-right-shift-assignment-operator">
|
1790
|
-
<h3>7.11.2.
|
1791
|
-
<p>構文は <
|
1792
|
-
<p>この演算子は <
|
1827
|
+
<h3>7.11.2.8.8. 符号なし右シフト代入演算子<a class="headerlink" href="#bitwise-unsigned-right-shift-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
1828
|
+
<p>構文は <code class="docutils literal"><span class="pre">column1</span> <span class="pre">>>>=</span> <span class="pre">column2</span></code> です。</p>
|
1829
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">column1</span></code> のビットを <code class="docutils literal"><span class="pre">column2</span></code> 符号なし右ビットシフト代入演算します。</p>
|
1793
1830
|
</div>
|
1794
1831
|
<div class="section" id="bitwise-and-assignment-operator">
|
1795
|
-
<h3>7.11.2.
|
1796
|
-
<p>構文は <
|
1797
|
-
<p>この演算子は <
|
1832
|
+
<h3>7.11.2.8.9. ビット論理積代入演算子<a class="headerlink" href="#bitwise-and-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
1833
|
+
<p>構文は <code class="docutils literal"><span class="pre">column1</span> <span class="pre">&=</span> <span class="pre">column2</span></code> です。</p>
|
1834
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">column1</span></code> に <code class="docutils literal"><span class="pre">column2</span></code> をビット論理積代入演算します。</p>
|
1798
1835
|
<p>実行例:</p>
|
1799
1836
|
<div class="highlight-none"><div class="highlight"><pre>select Entries --output_columns _key,n_likes,_score --filter true --scorer '_score &= n_likes'
|
1800
1837
|
# [
|
@@ -1852,14 +1889,14 @@ select Entries --filter 'n_likes < 5 && (content @ "senna&qu
|
|
1852
1889
|
# ]
|
1853
1890
|
</pre></div>
|
1854
1891
|
</div>
|
1855
|
-
<p><
|
1856
|
-
<p>例えば、 <
|
1857
|
-
<p>そのため、 <
|
1892
|
+
<p><code class="docutils literal"><span class="pre">--filter</span></code> による <code class="docutils literal"><span class="pre">_score</span></code> の値はこの場合は常に1です。その後、'_score = _score & n_likes' というビット論理積代入演算をそれぞれのレコードへ適用します。</p>
|
1893
|
+
<p>例えば、 <code class="docutils literal"><span class="pre">_key</span></code> として"Groonga"を格納しているレコードの値は10です。</p>
|
1894
|
+
<p>そのため、 <code class="docutils literal"><span class="pre">1</span> <span class="pre">&</span> <span class="pre">10</span></code> という式が評価されてから <code class="docutils literal"><span class="pre">_score</span></code> カラムへと演算結果が保存されます。</p>
|
1858
1895
|
</div>
|
1859
1896
|
<div class="section" id="bitwise-or-assignment-operator">
|
1860
|
-
<h3>7.11.2.
|
1861
|
-
<p>構文は <
|
1862
|
-
<p>この演算子は <
|
1897
|
+
<h3>7.11.2.8.10. ビット論理和代入演算子<a class="headerlink" href="#bitwise-or-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
1898
|
+
<p>構文は <code class="docutils literal"><span class="pre">column1</span> <span class="pre">|=</span> <span class="pre">column2</span></code> です。</p>
|
1899
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">column1</span></code> に <code class="docutils literal"><span class="pre">column2</span></code> をビット論理和代入演算する。</p>
|
1863
1900
|
<p>実行例:</p>
|
1864
1901
|
<div class="highlight-none"><div class="highlight"><pre>select Entries --output_columns _key,n_likes,_score --filter true --scorer '_score |= n_likes'
|
1865
1902
|
# [
|
@@ -1917,14 +1954,14 @@ select Entries --filter 'n_likes < 5 && (content @ "senna&qu
|
|
1917
1954
|
# ]
|
1918
1955
|
</pre></div>
|
1919
1956
|
</div>
|
1920
|
-
<p><
|
1921
|
-
<p>例えば、 <
|
1922
|
-
<p>そのため、 <
|
1957
|
+
<p><code class="docutils literal"><span class="pre">--filter</span></code> による <code class="docutils literal"><span class="pre">_score</span></code> の値はこの場合は常に1です。その後、'_score = _score | n_likes' というビット論理和代入演算をそれぞれのレコードへ適用します。</p>
|
1958
|
+
<p>例えば、 <code class="docutils literal"><span class="pre">_key</span></code> として"Groonga"を格納しているレコードの値は10です。</p>
|
1959
|
+
<p>そのため、 <code class="docutils literal"><span class="pre">1</span> <span class="pre">|</span> <span class="pre">10</span></code> という式が評価されてから <code class="docutils literal"><span class="pre">_score</span></code> カラムへと演算結果が保存されます。</p>
|
1923
1960
|
</div>
|
1924
1961
|
<div class="section" id="bitwise-xor-assignment-operator">
|
1925
|
-
<h3>7.11.2.
|
1926
|
-
<p>構文は <
|
1927
|
-
<p>この演算子は <
|
1962
|
+
<h3>7.11.2.8.11. ビット排他的論理和代入演算子<a class="headerlink" href="#bitwise-xor-assignment-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
1963
|
+
<p>構文は <code class="docutils literal"><span class="pre">column1</span> <span class="pre">^=</span> <span class="pre">column2</span></code> です。</p>
|
1964
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">column1</span></code> に <code class="docutils literal"><span class="pre">column2</span></code> をビット排他的論理和代入演算します。</p>
|
1928
1965
|
<p>実行例:</p>
|
1929
1966
|
<div class="highlight-none"><div class="highlight"><pre>select Entries --output_columns _key,n_likes,_score --filter true --scorer '_score ^= n_likes'
|
1930
1967
|
# [
|
@@ -1982,18 +2019,18 @@ select Entries --filter 'n_likes < 5 && (content @ "senna&qu
|
|
1982
2019
|
# ]
|
1983
2020
|
</pre></div>
|
1984
2021
|
</div>
|
1985
|
-
<p><
|
1986
|
-
<p>例えば、 <
|
1987
|
-
<p>そのため、 <
|
2022
|
+
<p><code class="docutils literal"><span class="pre">--filter</span></code> による <code class="docutils literal"><span class="pre">_score</span></code> の値はこの場合は常に1です。その後、'_score = _score ^ n_likes' という減算代入演算をそれぞれのレコードへ適用します。</p>
|
2023
|
+
<p>例えば、 <code class="docutils literal"><span class="pre">_key</span></code> として"Good-bye Senna"を格納しているレコードの <code class="docutils literal"><span class="pre">_score</span></code> の値は3です。</p>
|
2024
|
+
<p>そのため、 <code class="docutils literal"><span class="pre">1</span> <span class="pre">^</span> <span class="pre">3</span></code> という式が評価されてから <code class="docutils literal"><span class="pre">_score</span></code> カラムへと演算結果が保存されます。</p>
|
1988
2025
|
</div>
|
1989
2026
|
</div>
|
1990
2027
|
<div class="section" id="original-operators">
|
1991
|
-
<h2>7.11.2.
|
1992
|
-
<p>スクリプト構文はECMAScriptの構文に独自の二項演算子を追加しています。これらは検索に特化した操作をします。演算子の最初の文字は <
|
2028
|
+
<h2>7.11.2.9. 独自の演算子<a class="headerlink" href="#original-operators" title="このヘッドラインへのパーマリンク">¶</a></h2>
|
2029
|
+
<p>スクリプト構文はECMAScriptの構文に独自の二項演算子を追加しています。これらは検索に特化した操作をします。演算子の最初の文字は <code class="docutils literal"><span class="pre">@</span></code> または <code class="docutils literal"><span class="pre">*</span></code> です。</p>
|
1993
2030
|
<div class="section" id="match-operator">
|
1994
|
-
<span id="match-oeprator"></span><h3>7.11.2.
|
1995
|
-
<p>構文は <
|
1996
|
-
<p>この演算子は <
|
2031
|
+
<span id="match-oeprator"></span><h3>7.11.2.9.1. マッチ演算子<a class="headerlink" href="#match-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
2032
|
+
<p>構文は <code class="docutils literal"><span class="pre">column</span> <span class="pre">@</span> <span class="pre">value</span></code> です。</p>
|
2033
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">column</span></code> の転置インデックスを使って <code class="docutils literal"><span class="pre">value</span></code> を検索します。普通は全文検索をしますが、タグ検索もできます。これは、タグ検索も転置インデックスを使って実現しているからです。</p>
|
1997
2034
|
<p><a class="reference internal" href="query_syntax.html"><em>クエリー構文</em></a> はデフォルトでこの演算子を使っています。</p>
|
1998
2035
|
<p>以下は簡単な使用例です。</p>
|
1999
2036
|
<p>実行例:</p>
|
@@ -2026,13 +2063,13 @@ select Entries --filter 'n_likes < 5 && (content @ "senna&qu
|
|
2026
2063
|
# ]
|
2027
2064
|
</pre></div>
|
2028
2065
|
</div>
|
2029
|
-
<p>この式は <
|
2066
|
+
<p>この式は <code class="docutils literal"><span class="pre">content</span></code> カラムの値に <code class="docutils literal"><span class="pre">fast</span></code> という単語を含んでいるレコードにマッチします。</p>
|
2030
2067
|
</div>
|
2031
2068
|
<div class="section" id="prefix-search-operator">
|
2032
|
-
<span id="id1"></span><h3>7.11.2.
|
2033
|
-
<p>構文は <
|
2034
|
-
<p>この条件式は <
|
2035
|
-
<p>カラムの値を高速に前方一致検索できます。ただし、そのカラムにはインデックスを作成し、そのインデックス用のテーブルをパトリシアトライ( <
|
2069
|
+
<span id="id1"></span><h3>7.11.2.9.2. 前方一致検索演算子<a class="headerlink" href="#prefix-search-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
2070
|
+
<p>構文は <code class="docutils literal"><span class="pre">column</span> <span class="pre">@^</span> <span class="pre">value</span></code> です。</p>
|
2071
|
+
<p>この条件式は <code class="docutils literal"><span class="pre">value</span></code> で前方一致検索します。前方一致検索は <code class="docutils literal"><span class="pre">value</span></code> で始まる単語を含むレコードを検索します。</p>
|
2072
|
+
<p>カラムの値を高速に前方一致検索できます。ただし、そのカラムにはインデックスを作成し、そのインデックス用のテーブルをパトリシアトライ( <code class="docutils literal"><span class="pre">TABLE_PAT_KEY</span></code> )またはダブル配列トライ( <code class="docutils literal"><span class="pre">TABLE_DAT_KEY</span></code> )にしなければいけません。あるいは、パトリシアトライテーブルまたはダブル配列テーブルの <code class="docutils literal"><span class="pre">_key</span></code> も高速に前方一致検索できます。 <code class="docutils literal"><span class="pre">_key</span></code> にインデックスを作成する必要はありません。</p>
|
2036
2073
|
<p>他の種類のテーブルでも前方一致検索を使えますがレコード全件を処理します。レコード数が少ない場合には問題ありませんが、レコード数が多いと時間がかかります。</p>
|
2037
2074
|
<p>以下は簡単な使用例です。</p>
|
2038
2075
|
<p>実行例:</p>
|
@@ -2065,18 +2102,18 @@ select Entries --filter 'n_likes < 5 && (content @ "senna&qu
|
|
2065
2102
|
# ]
|
2066
2103
|
</pre></div>
|
2067
2104
|
</div>
|
2068
|
-
<p>この式は <
|
2105
|
+
<p>この式は <code class="docutils literal"><span class="pre">_key</span></code> カラムの値が <code class="docutils literal"><span class="pre">Goo</span></code> で始まる単語を含むレコードにマッチします。この式には <code class="docutils literal"><span class="pre">Good-bye</span> <span class="pre">Senna</span></code> と <code class="docutils literal"><span class="pre">Good-bye</span> <span class="pre">Tritonn</span></code> がマッチします。</p>
|
2069
2106
|
</div>
|
2070
2107
|
<div class="section" id="suffix-search-operator">
|
2071
|
-
<span id="id2"></span><h3>7.11.2.
|
2072
|
-
<p>構文は <
|
2073
|
-
<p>この演算子は <
|
2074
|
-
<p>カラムの値を高速に後方一致検索できます。ただし、そのカラムにはインデックスを作成し、そのインデックス用のテーブルを <
|
2108
|
+
<span id="id2"></span><h3>7.11.2.9.3. 後方一致検索演算子<a class="headerlink" href="#suffix-search-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
2109
|
+
<p>構文は <code class="docutils literal"><span class="pre">column</span> <span class="pre">@$</span> <span class="pre">value</span></code> です。</p>
|
2110
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">value</span></code> で後方一致検索します。後方一致検索は <code class="docutils literal"><span class="pre">value</span></code> で終わる単語を含むレコードを検索します。</p>
|
2111
|
+
<p>カラムの値を高速に後方一致検索できます。ただし、そのカラムにはインデックスを作成し、そのインデックス用のテーブルを <code class="docutils literal"><span class="pre">KEY_WITH_SIS</span></code> フラグ付きのパトリシアトライテーブル( <code class="docutils literal"><span class="pre">TABLE_PAT_KEY</span></code> )にしなければいけません。 <code class="docutils literal"><span class="pre">KEY_WITH_SIS</span></code> フラグ付きのパトリシアトライテーブル( <code class="docutils literal"><span class="pre">TABLE_PAT_KEY</span></code> )の <code class="docutils literal"><span class="pre">_key</span></code> 擬似カラムの値も高速に後方一致検索できます。 <code class="docutils literal"><span class="pre">_key</span></code> にはインデックスを作成する必要はありません。 <code class="docutils literal"><span class="pre">_key</span></code> ベースの高速な後方一致検索よりもカラムベースの高速な後方一致検索を使うことをおすすめします。 <code class="docutils literal"><span class="pre">_key</span></code> ベースの高速な後方一致検索は自動的に登録された部分文字列も返ってきます。(TODO: 後方一致検索に関するドキュメントを書いてここからリンクを張る。)</p>
|
2075
2112
|
<div class="admonition note">
|
2076
|
-
<p class="first admonition-title"
|
2113
|
+
<p class="first admonition-title">注釈</p>
|
2077
2114
|
<p class="last">高速な後方一致検索は日本語のひらがななど非ASCII文字にしか使えません。ASCII文字には高速な後方一致検索を使えません。</p>
|
2078
2115
|
</div>
|
2079
|
-
<p>後方一致検索は他の種類のテーブルもしくはパトリシアトライを <
|
2116
|
+
<p>後方一致検索は他の種類のテーブルもしくはパトリシアトライを <code class="docutils literal"><span class="pre">KEY_WITH_SIS</span></code> フラグなしで使用しているテーブルに対しても使えますが、レコード全件を処理します。レコード数が少ない場合には問題ありませんが、レコード数が多いと時間がかかります。</p>
|
2080
2117
|
<p>簡単な例です。ASCII文字ではない文字である日本語のひらがなに対して高速な後方一致検索をしています。</p>
|
2081
2118
|
<p>実行例:</p>
|
2082
2119
|
<div class="highlight-none"><div class="highlight"><pre>table_create Titles TABLE_NO_KEY
|
@@ -2130,14 +2167,14 @@ select Titles --query 'content:$んが'
|
|
2130
2167
|
# ]
|
2131
2168
|
</pre></div>
|
2132
2169
|
</div>
|
2133
|
-
<p>この式は <
|
2170
|
+
<p>この式は <code class="docutils literal"><span class="pre">content</span></code> カラムの値が <code class="docutils literal"><span class="pre">んが</span></code> で終わるレコードにマッチします。この場合は <code class="docutils literal"><span class="pre">ぐるんが</span></code> と <code class="docutils literal"><span class="pre">むるんが</span></code> にマッチします。</p>
|
2134
2171
|
</div>
|
2135
2172
|
<div class="section" id="near-search-operator">
|
2136
|
-
<span id="id3"></span><h3>7.11.2.
|
2137
|
-
<p>構文は <
|
2138
|
-
<p>この演算子は <
|
2139
|
-
<p>(TODO: <
|
2140
|
-
<p><
|
2173
|
+
<span id="id3"></span><h3>7.11.2.9.4. 近傍検索演算子<a class="headerlink" href="#near-search-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
2174
|
+
<p>構文は <code class="docutils literal"><span class="pre">column</span> <span class="pre">*N</span> <span class="pre">"word1</span> <span class="pre">word2</span> <span class="pre">..."</span></code> です。</p>
|
2175
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">word1</span> <span class="pre">word2</span> <span class="pre">...</span></code> という単語で近傍検索します。近傍検索はすべての単語が含まれていてかつそれぞれの単語が近くにあるレコードを検索します。距離が <code class="docutils literal"><span class="pre">10</span></code> 以内の近さであれば近くにあると判断します。今のところ、この値は変更できません。距離の単位はN-gram系のトークナイザーでは文字数で、形態素解析系のトークナイザーでは単語数です。</p>
|
2176
|
+
<p>(TODO: <code class="docutils literal"><span class="pre">TokenBigram</span></code> はASCIIだけの単語はトークンに分割しないという説明を追加すること。このため、 <code class="docutils literal"><span class="pre">TokenBigram</span></code> はN-gram系のトークナイザーだけどASCIIだけの単語を扱う時の単位は単語数になる。)</p>
|
2177
|
+
<p><code class="docutils literal"><span class="pre">column</span></code> 用の全文検索用インデックスカラムを定義しておく必要があることに注意してください。</p>
|
2141
2178
|
<p>以下は簡単な使用例です。</p>
|
2142
2179
|
<p>実行例:</p>
|
2143
2180
|
<div class="highlight-none"><div class="highlight"><pre>select Entries --filter 'content *N "I fast"' --output_columns content
|
@@ -2192,15 +2229,15 @@ select Entries --filter 'content *N "also Really"' --output_co
|
|
2192
2229
|
# ]
|
2193
2230
|
</pre></div>
|
2194
2231
|
</div>
|
2195
|
-
<p>最初の式は <
|
2196
|
-
<p>二番目の式は <
|
2197
|
-
<p>三番目の式は <
|
2232
|
+
<p>最初の式は <code class="docutils literal"><span class="pre">I</span></code> と <code class="docutils literal"><span class="pre">fast</span></code> が含まれていて、かつ、これらの単語が10単語以内近くにあるレコードにマッチします。そのため <code class="docutils literal"><span class="pre">I</span> <span class="pre">also</span> <span class="pre">started</span> <span class="pre">to</span> <span class="pre">use</span> <span class="pre">mroonga.</span> <span class="pre">It's</span> <span class="pre">also</span> <span class="pre">very</span> <span class="pre">fast!</span> <span class="pre">...</span></code> にマッチします。 <code class="docutils literal"><span class="pre">I</span></code> と <code class="docutils literal"><span class="pre">fast</span></code> の間の単語数はちょうど10です。</p>
|
2233
|
+
<p>二番目の式は <code class="docutils literal"><span class="pre">I</span></code> と <code class="docutils literal"><span class="pre">Really</span></code> が含まれていて、かつ、これらの単語が10単語以内近くにあるレコードにマッチします。そのため、 <code class="docutils literal"><span class="pre">I</span> <span class="pre">also</span> <span class="pre">st</span> <span class="pre">arted</span> <span class="pre">to</span> <span class="pre">use</span> <span class="pre">mroonga.</span> <span class="pre">It's</span> <span class="pre">also</span> <span class="pre">very</span> <span class="pre">fast!</span> <span class="pre">Really</span> <span class="pre">fast!</span></code> はマッチしません。 <code class="docutils literal"><span class="pre">I</span></code> と <code class="docutils literal"><span class="pre">Really</span></code> の間の単語数は11です。</p>
|
2234
|
+
<p>三番目の式は <code class="docutils literal"><span class="pre">also</span></code> と <code class="docutils literal"><span class="pre">Really</span></code> が含まれていて、かつ、これらの単語が10単語以内近くにあるレコードにマッチします。そのため、 <code class="docutils literal"><span class="pre">I</span> <span class="pre">also</span> <span class="pre">started</span> <span class="pre">to</span> <span class="pre">use</span> <span class="pre">mroonga.</span> <span class="pre">It's</span> <span class="pre">also</span> <span class="pre">very</span> <span class="pre">fast!</span> <span class="pre">Really</span> <span class="pre">fast!</span></code> にマッチします。 <code class="docutils literal"><span class="pre">also</span></code> と <code class="docutils literal"><span class="pre">Really</span></code> の間の単語数は10です。</p>
|
2198
2235
|
</div>
|
2199
2236
|
<div class="section" id="similar-search">
|
2200
|
-
<span id="similar-search-operator"></span><h3>7.11.2.
|
2201
|
-
<p>構文は <
|
2202
|
-
<p>この演算子は <
|
2203
|
-
<p><
|
2237
|
+
<span id="similar-search-operator"></span><h3>7.11.2.9.5. 類似文書検索<a class="headerlink" href="#similar-search" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
2238
|
+
<p>構文は <code class="docutils literal"><span class="pre">column</span> <span class="pre">*S</span> <span class="pre">"document"</span></code> です。</p>
|
2239
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">document</span></code> という文書で類似文書検索します。類似文書検索は <code class="docutils literal"><span class="pre">document</span></code> と似た内容を持つレコードを検索します。</p>
|
2240
|
+
<p><code class="docutils literal"><span class="pre">column</span></code> 用の全文検索用インデックスカラムを定義しておく必要があることに注意してください。</p>
|
2204
2241
|
<p>以下は簡単な使用例です。</p>
|
2205
2242
|
<p>実行例:</p>
|
2206
2243
|
<div class="highlight-none"><div class="highlight"><pre>select Entries --filter 'content *S "I migrated all Solr system!"' --output_columns content
|
@@ -2232,13 +2269,13 @@ select Entries --filter 'content *N "also Really"' --output_co
|
|
2232
2269
|
# ]
|
2233
2270
|
</pre></div>
|
2234
2271
|
</div>
|
2235
|
-
<p>この式は <
|
2272
|
+
<p>この式は <code class="docutils literal"><span class="pre">I</span> <span class="pre">migrated</span> <span class="pre">all</span> <span class="pre">Solr</span> <span class="pre">system!</span></code> と似た内容を持つレコードを検索します。この場合は、 <code class="docutils literal"><span class="pre">I</span> <span class="pre">migrated</span> <span class="pre">all</span> <span class="pre">XXX</span> <span class="pre">system!</span></code> という内容のレコードがマッチします。</p>
|
2236
2273
|
</div>
|
2237
2274
|
<div class="section" id="term-extract-operator">
|
2238
|
-
<span id="id4"></span><h3>7.11.2.
|
2239
|
-
<p>構文は <
|
2240
|
-
<p>この演算子は <
|
2241
|
-
<p>テーブルはパトリシアトライ( <
|
2275
|
+
<span id="id4"></span><h3>7.11.2.9.6. 単語抽出演算子<a class="headerlink" href="#term-extract-operator" title="このヘッドラインへのパーマリンク">¶</a></h3>
|
2276
|
+
<p>構文は <code class="docutils literal"><span class="pre">_key</span> <span class="pre">*T</span> <span class="pre">"document"</span></code> です。</p>
|
2277
|
+
<p>この演算子は <code class="docutils literal"><span class="pre">document</span></code> から単語を抽出します。単語は <code class="docutils literal"><span class="pre">_key</span></code> のテーブルのキーとして登録されていなければいけません。</p>
|
2278
|
+
<p>テーブルはパトリシアトライ( <code class="docutils literal"><span class="pre">TABLE_PAT_KEY</span></code> )またはダブル配列トライ( <code class="docutils literal"><span class="pre">TABLE_DAT_KEY</span></code> )でなければいけません。ハッシュテーブル( <code class="docutils literal"><span class="pre">TABLE_HASH_KEY</span></code> )や配列( <code class="docutils literal"><span class="pre">TABLE_NO_KEY</span></code> )は最長共通接頭辞検索(Longest Common Prefix Search)できないため使えません。この演算子は最長共通接頭辞検索を使っています。</p>
|
2242
2279
|
<p>以下は簡単な使用例です。</p>
|
2243
2280
|
<p>実行例:</p>
|
2244
2281
|
<div class="highlight-none"><div class="highlight"><pre>table_create Words TABLE_PAT_KEY|KEY_NORMALIZE ShortText
|
@@ -2280,7 +2317,7 @@ select Words --filter '_key *T "Groonga is the successor project to Sen
|
|
2280
2317
|
# ]
|
2281
2318
|
</pre></div>
|
2282
2319
|
</div>
|
2283
|
-
<p>この式は文書 <
|
2320
|
+
<p>この式は文書 <code class="docutils literal"><span class="pre">Groonga</span> <span class="pre">is</span> <span class="pre">the</span> <span class="pre">successor</span> <span class="pre">project</span> <span class="pre">to</span> <span class="pre">Senna.</span></code> に含まれている単語を抽出します。今回は <code class="docutils literal"><span class="pre">Words</span></code> に <code class="docutils literal"><span class="pre">KEY_NORMALIZE</span></code> フラグが指定されています。そのため、 <code class="docutils literal"><span class="pre">Words</span></code> には <code class="docutils literal"><span class="pre">groonga</span></code> とロードしていますが <code class="docutils literal"><span class="pre">Groonga</span></code> も抽出できています。また、全ての抽出された単語も正規化されています。</p>
|
2284
2321
|
</div>
|
2285
2322
|
</div>
|
2286
2323
|
</div>
|
@@ -2289,87 +2326,88 @@ select Words --filter '_key *T "Groonga is the successor project to Sen
|
|
2289
2326
|
</div>
|
2290
2327
|
</div>
|
2291
2328
|
</div>
|
2292
|
-
<div class="sphinxsidebar">
|
2329
|
+
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
2293
2330
|
<div class="sphinxsidebarwrapper">
|
2294
2331
|
<h3><a href="../../index.html">目次</a></h3>
|
2295
2332
|
<ul>
|
2296
2333
|
<li><a class="reference internal" href="#">7.11.2. スクリプト構文</a><ul>
|
2297
|
-
<li><a class="reference internal" href="#
|
2298
|
-
<li><a class="reference internal" href="#
|
2299
|
-
<li><a class="reference internal" href="#
|
2300
|
-
<li><a class="reference internal" href="#
|
2301
|
-
<li><a class="reference internal" href="#
|
2302
|
-
<li><a class="reference internal" href="#
|
2303
|
-
<li><a class="reference internal" href="#
|
2304
|
-
<li><a class="reference internal" href="#
|
2305
|
-
<li><a class="reference internal" href="#
|
2306
|
-
<li><a class="reference internal" href="#
|
2307
|
-
<li><a class="reference internal" href="#
|
2334
|
+
<li><a class="reference internal" href="#security">7.11.2.1. セキュリティー</a></li>
|
2335
|
+
<li><a class="reference internal" href="#sample-data">7.11.2.2. サンプルデータ</a></li>
|
2336
|
+
<li><a class="reference internal" href="#literals">7.11.2.3. リテラル</a><ul>
|
2337
|
+
<li><a class="reference internal" href="#integer">7.11.2.3.1. 整数</a></li>
|
2338
|
+
<li><a class="reference internal" href="#float">7.11.2.3.2. 浮動小数点数</a></li>
|
2339
|
+
<li><a class="reference internal" href="#string">7.11.2.3.3. 文字列</a></li>
|
2340
|
+
<li><a class="reference internal" href="#boolean">7.11.2.3.4. 真偽値</a></li>
|
2341
|
+
<li><a class="reference internal" href="#null">7.11.2.3.5. NULL</a></li>
|
2342
|
+
<li><a class="reference internal" href="#time">7.11.2.3.6. 時間</a></li>
|
2343
|
+
<li><a class="reference internal" href="#geo-point">7.11.2.3.7. 座標値</a></li>
|
2344
|
+
<li><a class="reference internal" href="#array">7.11.2.3.8. 配列</a></li>
|
2345
|
+
<li><a class="reference internal" href="#object-literal">7.11.2.3.9. オブジェクトリテラル</a></li>
|
2308
2346
|
</ul>
|
2309
2347
|
</li>
|
2310
|
-
<li><a class="reference internal" href="#control-syntaxes">7.11.2.
|
2311
|
-
<li><a class="reference internal" href="#grouping">7.11.2.
|
2312
|
-
<li><a class="reference internal" href="#function-call">7.11.2.
|
2313
|
-
<li><a class="reference internal" href="#basic-operators">7.11.2.
|
2314
|
-
<li><a class="reference internal" href="#arithmetic-operators">7.11.2.
|
2315
|
-
<li><a class="reference internal" href="#addition-operator">7.11.2.
|
2316
|
-
<li><a class="reference internal" href="#subtraction-operator">7.11.2.
|
2317
|
-
<li><a class="reference internal" href="#multiplication-operator">7.11.2.
|
2318
|
-
<li><a class="reference internal" href="#division-operator">7.11.2.
|
2348
|
+
<li><a class="reference internal" href="#control-syntaxes">7.11.2.4. 制御構文</a></li>
|
2349
|
+
<li><a class="reference internal" href="#grouping">7.11.2.5. グループ化</a></li>
|
2350
|
+
<li><a class="reference internal" href="#function-call">7.11.2.6. 関数呼び出し</a></li>
|
2351
|
+
<li><a class="reference internal" href="#basic-operators">7.11.2.7. 基本的な演算子</a><ul>
|
2352
|
+
<li><a class="reference internal" href="#arithmetic-operators">7.11.2.7.1. 算術演算子</a><ul>
|
2353
|
+
<li><a class="reference internal" href="#addition-operator">7.11.2.7.1.1. 加算演算子</a></li>
|
2354
|
+
<li><a class="reference internal" href="#subtraction-operator">7.11.2.7.1.2. 減算演算子</a></li>
|
2355
|
+
<li><a class="reference internal" href="#multiplication-operator">7.11.2.7.1.3. 乗算演算子</a></li>
|
2356
|
+
<li><a class="reference internal" href="#division-operator">7.11.2.7.1.4. 除算演算子</a></li>
|
2319
2357
|
</ul>
|
2320
2358
|
</li>
|
2321
|
-
<li><a class="reference internal" href="#logical-operators">7.11.2.
|
2322
|
-
<li><a class="reference internal" href="#logical-not-operator">7.11.2.
|
2323
|
-
<li><a class="reference internal" href="#logical-and-operator">7.11.2.
|
2324
|
-
<li><a class="reference internal" href="#logical-or-operator">7.11.2.
|
2325
|
-
<li><a class="reference internal" href="#logical-and-not-operator">7.11.2.
|
2359
|
+
<li><a class="reference internal" href="#logical-operators">7.11.2.7.2. 論理演算子</a><ul>
|
2360
|
+
<li><a class="reference internal" href="#logical-not-operator">7.11.2.7.2.1. 論理否定演算子</a></li>
|
2361
|
+
<li><a class="reference internal" href="#logical-and-operator">7.11.2.7.2.2. 論理積演算子</a></li>
|
2362
|
+
<li><a class="reference internal" href="#logical-or-operator">7.11.2.7.2.3. 論理和演算子</a></li>
|
2363
|
+
<li><a class="reference internal" href="#logical-and-not-operator">7.11.2.7.2.4. 論理差演算子</a></li>
|
2326
2364
|
</ul>
|
2327
2365
|
</li>
|
2328
|
-
<li><a class="reference internal" href="#bitwise-operators">7.11.2.
|
2329
|
-
<li><a class="reference internal" href="#bitwise-not-operator">7.11.2.
|
2330
|
-
<li><a class="reference internal" href="#bitwise-and-operator">7.11.2.
|
2366
|
+
<li><a class="reference internal" href="#bitwise-operators">7.11.2.7.3. ビット演算子</a><ul>
|
2367
|
+
<li><a class="reference internal" href="#bitwise-not-operator">7.11.2.7.3.1. ビット否定演算子</a></li>
|
2368
|
+
<li><a class="reference internal" href="#bitwise-and-operator">7.11.2.7.3.2. ビット論理積演算子</a></li>
|
2331
2369
|
</ul>
|
2332
2370
|
</li>
|
2333
|
-
<li><a class="reference internal" href="#bitwise-or-operator">7.11.2.
|
2334
|
-
<li><a class="reference internal" href="#bitwise-xor-operator">7.11.2.
|
2335
|
-
<li><a class="reference internal" href="#shift-operators">7.11.2.
|
2336
|
-
<li><a class="reference internal" href="#left-shift-operator">7.11.2.
|
2337
|
-
<li><a class="reference internal" href="#signed-right-shift-operator">7.11.2.
|
2338
|
-
<li><a class="reference internal" href="#unsigned-right-shift-operator">7.11.2.
|
2371
|
+
<li><a class="reference internal" href="#bitwise-or-operator">7.11.2.7.4. ビット論理和演算子</a></li>
|
2372
|
+
<li><a class="reference internal" href="#bitwise-xor-operator">7.11.2.7.5. ビット排他的論理和演算子</a></li>
|
2373
|
+
<li><a class="reference internal" href="#shift-operators">7.11.2.7.6. シフト演算子</a><ul>
|
2374
|
+
<li><a class="reference internal" href="#left-shift-operator">7.11.2.7.6.1. 左シフト演算子</a></li>
|
2375
|
+
<li><a class="reference internal" href="#signed-right-shift-operator">7.11.2.7.6.2. 符号付き右シフト演算子</a></li>
|
2376
|
+
<li><a class="reference internal" href="#unsigned-right-shift-operator">7.11.2.7.6.3. 符号なし右シフト演算子</a></li>
|
2339
2377
|
</ul>
|
2340
2378
|
</li>
|
2341
|
-
<li><a class="reference internal" href="#comparison-operators">7.11.2.
|
2342
|
-
<li><a class="reference internal" href="#equal-operator">7.11.2.
|
2343
|
-
<li><a class="reference internal" href="#not-equal-operator">7.11.2.
|
2344
|
-
<li><a class="reference internal" href="#less-than-operator">7.11.2.
|
2345
|
-
<li><a class="reference internal" href="#less-than-or-equal-to-operator">7.11.2.
|
2346
|
-
<li><a class="reference internal" href="#greater-than-operator">7.11.2.
|
2347
|
-
<li><a class="reference internal" href="#greater-than-or-equal-to-operator">7.11.2.
|
2379
|
+
<li><a class="reference internal" href="#comparison-operators">7.11.2.7.7. 比較演算子</a><ul>
|
2380
|
+
<li><a class="reference internal" href="#equal-operator">7.11.2.7.7.1. 等価演算子</a></li>
|
2381
|
+
<li><a class="reference internal" href="#not-equal-operator">7.11.2.7.7.2. 不等価演算子</a></li>
|
2382
|
+
<li><a class="reference internal" href="#less-than-operator">7.11.2.7.7.3. 小なり演算子</a></li>
|
2383
|
+
<li><a class="reference internal" href="#less-than-or-equal-to-operator">7.11.2.7.7.4. 以下演算子</a></li>
|
2384
|
+
<li><a class="reference internal" href="#greater-than-operator">7.11.2.7.7.5. 大なり演算子</a></li>
|
2385
|
+
<li><a class="reference internal" href="#greater-than-or-equal-to-operator">7.11.2.7.7.6. 以上演算子</a></li>
|
2348
2386
|
</ul>
|
2349
2387
|
</li>
|
2350
2388
|
</ul>
|
2351
2389
|
</li>
|
2352
|
-
<li><a class="reference internal" href="#assignment-operators">7.11.2.
|
2353
|
-
<li><a class="reference internal" href="#addition-assignment-operator">7.11.2.
|
2354
|
-
<li><a class="reference internal" href="#subtraction-assignment-operator">7.11.2.
|
2355
|
-
<li><a class="reference internal" href="#multiplication-assignment-operator">7.11.2.
|
2356
|
-
<li><a class="reference internal" href="#division-assignment-operator">7.11.2.
|
2357
|
-
<li><a class="reference internal" href="#modulo-assignment-operator">7.11.2.
|
2358
|
-
<li><a class="reference internal" href="#bitwise-left-shift-assignment-operator">7.11.2.
|
2359
|
-
<li><a class="reference internal" href="#bitwise-signed-right-shift-assignment-operator">7.11.2.
|
2360
|
-
<li><a class="reference internal" href="#bitwise-unsigned-right-shift-assignment-operator">7.11.2.
|
2361
|
-
<li><a class="reference internal" href="#bitwise-and-assignment-operator">7.11.2.
|
2362
|
-
<li><a class="reference internal" href="#bitwise-or-assignment-operator">7.11.2.
|
2363
|
-
<li><a class="reference internal" href="#bitwise-xor-assignment-operator">7.11.2.
|
2390
|
+
<li><a class="reference internal" href="#assignment-operators">7.11.2.8. 代入演算子</a><ul>
|
2391
|
+
<li><a class="reference internal" href="#addition-assignment-operator">7.11.2.8.1. 加算代入演算子</a></li>
|
2392
|
+
<li><a class="reference internal" href="#subtraction-assignment-operator">7.11.2.8.2. 減算代入演算子</a></li>
|
2393
|
+
<li><a class="reference internal" href="#multiplication-assignment-operator">7.11.2.8.3. 乗算代入演算子</a></li>
|
2394
|
+
<li><a class="reference internal" href="#division-assignment-operator">7.11.2.8.4. 除算代入演算子</a></li>
|
2395
|
+
<li><a class="reference internal" href="#modulo-assignment-operator">7.11.2.8.5. 剰余代入演算子</a></li>
|
2396
|
+
<li><a class="reference internal" href="#bitwise-left-shift-assignment-operator">7.11.2.8.6. 左シフト代入演算子</a></li>
|
2397
|
+
<li><a class="reference internal" href="#bitwise-signed-right-shift-assignment-operator">7.11.2.8.7. 符号あり右シフト代入演算子</a></li>
|
2398
|
+
<li><a class="reference internal" href="#bitwise-unsigned-right-shift-assignment-operator">7.11.2.8.8. 符号なし右シフト代入演算子</a></li>
|
2399
|
+
<li><a class="reference internal" href="#bitwise-and-assignment-operator">7.11.2.8.9. ビット論理積代入演算子</a></li>
|
2400
|
+
<li><a class="reference internal" href="#bitwise-or-assignment-operator">7.11.2.8.10. ビット論理和代入演算子</a></li>
|
2401
|
+
<li><a class="reference internal" href="#bitwise-xor-assignment-operator">7.11.2.8.11. ビット排他的論理和代入演算子</a></li>
|
2364
2402
|
</ul>
|
2365
2403
|
</li>
|
2366
|
-
<li><a class="reference internal" href="#original-operators">7.11.2.
|
2367
|
-
<li><a class="reference internal" href="#match-operator">7.11.2.
|
2368
|
-
<li><a class="reference internal" href="#prefix-search-operator">7.11.2.
|
2369
|
-
<li><a class="reference internal" href="#suffix-search-operator">7.11.2.
|
2370
|
-
<li><a class="reference internal" href="#near-search-operator">7.11.2.
|
2371
|
-
<li><a class="reference internal" href="#similar-search">7.11.2.
|
2372
|
-
<li><a class="reference internal" href="#term-extract-operator">7.11.2.
|
2404
|
+
<li><a class="reference internal" href="#original-operators">7.11.2.9. 独自の演算子</a><ul>
|
2405
|
+
<li><a class="reference internal" href="#match-operator">7.11.2.9.1. マッチ演算子</a></li>
|
2406
|
+
<li><a class="reference internal" href="#prefix-search-operator">7.11.2.9.2. 前方一致検索演算子</a></li>
|
2407
|
+
<li><a class="reference internal" href="#suffix-search-operator">7.11.2.9.3. 後方一致検索演算子</a></li>
|
2408
|
+
<li><a class="reference internal" href="#near-search-operator">7.11.2.9.4. 近傍検索演算子</a></li>
|
2409
|
+
<li><a class="reference internal" href="#similar-search">7.11.2.9.5. 類似文書検索</a></li>
|
2410
|
+
<li><a class="reference internal" href="#term-extract-operator">7.11.2.9.6. 単語抽出演算子</a></li>
|
2373
2411
|
</ul>
|
2374
2412
|
</li>
|
2375
2413
|
</ul>
|
@@ -2382,12 +2420,14 @@ select Words --filter '_key *T "Groonga is the successor project to Sen
|
|
2382
2420
|
<h4>次のトピックへ</h4>
|
2383
2421
|
<p class="topless"><a href="../function.html"
|
2384
2422
|
title="次の章へ">7.12. 関数</a></p>
|
2385
|
-
<
|
2386
|
-
|
2387
|
-
<
|
2388
|
-
|
2389
|
-
|
2390
|
-
|
2423
|
+
<div role="note" aria-label="source link">
|
2424
|
+
<h3>このページ</h3>
|
2425
|
+
<ul class="this-page-menu">
|
2426
|
+
<li><a href="../../_sources/reference/grn_expr/script_syntax.txt"
|
2427
|
+
rel="nofollow">ソースコードを表示</a></li>
|
2428
|
+
</ul>
|
2429
|
+
</div>
|
2430
|
+
<div id="searchbox" style="display: none" role="search">
|
2391
2431
|
<h3>クイック検索</h3>
|
2392
2432
|
<form class="search" action="../../search.html" method="get">
|
2393
2433
|
<input type="text" name="q" />
|
@@ -2404,7 +2444,7 @@ select Words --filter '_key *T "Groonga is the successor project to Sen
|
|
2404
2444
|
</div>
|
2405
2445
|
<div class="clearer"></div>
|
2406
2446
|
</div>
|
2407
|
-
<div class="related">
|
2447
|
+
<div class="related" role="navigation" aria-label="related navigation">
|
2408
2448
|
<h3>ナビゲーション</h3>
|
2409
2449
|
<ul>
|
2410
2450
|
<li class="right" style="margin-right: 10px">
|
@@ -2416,13 +2456,13 @@ select Words --filter '_key *T "Groonga is the successor project to Sen
|
|
2416
2456
|
<li class="right" >
|
2417
2457
|
<a href="query_syntax.html" title="7.11.1. クエリー構文"
|
2418
2458
|
>前へ</a> |</li>
|
2419
|
-
<li><a href="../../index.html">Groonga
|
2459
|
+
<li><a href="../../index.html">Groonga v5.0.0ドキュメント</a> »</li>
|
2420
2460
|
<li><a href="../../reference.html" >7. リファレンスマニュアル</a> »</li>
|
2421
2461
|
<li><a href="../grn_expr.html" >7.11. grn_expr</a> »</li>
|
2422
2462
|
</ul>
|
2423
2463
|
</div>
|
2424
|
-
<div class="footer">
|
2425
|
-
© Copyright 2009-
|
2464
|
+
<div class="footer" role="contentinfo">
|
2465
|
+
© Copyright 2009-2015, Brazil, Inc.
|
2426
2466
|
</div>
|
2427
2467
|
</body>
|
2428
2468
|
</html>
|