rroonga 1.3.0-x86-mingw32 → 1.3.1-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +33 -2
- data/benchmark/common.rb +2 -2
- data/benchmark/read-write-many-small-items.rb +71 -62
- data/benchmark/write-many-small-items.rb +61 -53
- data/ext/groonga/rb-grn-context.c +23 -5
- data/ext/groonga/rb-grn-index-column.c +2 -6
- data/ext/groonga/rb-grn-operator.c +31 -1
- data/ext/groonga/rb-grn-variable-size-column.c +77 -1
- data/ext/groonga/rb-grn.h +2 -11
- data/ext/groonga/rb-groonga.c +1 -2
- data/lib/1.8/groonga.so +0 -0
- data/lib/1.9/groonga.so +0 -0
- data/lib/groonga/command.rb +169 -0
- data/lib/groonga/context.rb +4 -124
- data/lib/groonga/dumper.rb +10 -8
- data/lib/groonga/record.rb +7 -0
- data/lib/groonga/schema.rb +98 -7
- data/rroonga-build.rb +3 -3
- data/test/{test-context-select.rb → test-command-select.rb} +3 -3
- data/test/test-record.rb +18 -1
- data/test/test-schema-dumper.rb +48 -0
- data/test/test-schema-type.rb +35 -0
- data/test/test-schema.rb +81 -11
- data/test/test-table-select.rb +49 -38
- data/test/test-variable-size-column.rb +30 -0
- data/vendor/local/bin/grntest.exe +0 -0
- data/vendor/local/bin/groonga.exe +0 -0
- data/vendor/local/bin/libgroonga-0.dll +0 -0
- data/vendor/local/bin/libmecab-1.dll +0 -0
- data/vendor/local/bin/mecab.exe +0 -0
- data/vendor/local/include/groonga/groonga/plugin.h +3 -2
- data/vendor/local/include/groonga/groonga.h +106 -78
- 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/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/libgroonga.a +0 -0
- data/vendor/local/lib/libgroonga.dll.a +0 -0
- data/vendor/local/lib/libmecab.a +0 -0
- data/vendor/local/lib/libmecab.dll.a +0 -0
- data/vendor/local/lib/pkgconfig/groonga.pc +5 -2
- data/vendor/local/libexec/mecab/mecab-cost-train.exe +0 -0
- data/vendor/local/libexec/mecab/mecab-dict-gen.exe +0 -0
- data/vendor/local/libexec/mecab/mecab-dict-index.exe +0 -0
- data/vendor/local/libexec/mecab/mecab-system-eval.exe +0 -0
- data/vendor/local/libexec/mecab/mecab-test-gen.exe +0 -0
- data/vendor/local/share/doc/groonga/en/html/.buildinfo +1 -1
- data/vendor/local/share/doc/groonga/en/html/_sources/characteristic.txt +42 -32
- data/vendor/local/share/doc/groonga/en/html/_sources/commands/delete.txt +5 -1
- data/vendor/local/share/doc/groonga/en/html/_sources/commands/table_create.txt +5 -2
- data/vendor/local/share/doc/groonga/en/html/_sources/community.txt +4 -3
- data/vendor/local/share/doc/groonga/en/html/_sources/contribution.txt +8 -6
- data/vendor/local/share/doc/groonga/en/html/_sources/functions/geo_distance.txt +42 -3
- data/vendor/local/share/doc/groonga/en/html/_sources/functions/geo_in_circle.txt +26 -1
- data/vendor/local/share/doc/groonga/en/html/_sources/index.txt +2 -2
- data/vendor/local/share/doc/groonga/en/html/_sources/install.txt +102 -27
- data/vendor/local/share/doc/groonga/en/html/_sources/limitations.txt +10 -10
- data/vendor/local/share/doc/groonga/en/html/_sources/news.txt +130 -21
- data/vendor/local/share/doc/groonga/en/html/_sources/output.txt +164 -0
- data/vendor/local/share/doc/groonga/en/html/_sources/reference.txt +1 -0
- data/vendor/local/share/doc/groonga/en/html/_sources/suggest.txt +0 -5
- data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/data.txt +6 -4
- data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/drilldown.txt +1 -3
- data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/index.txt +2 -1
- data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/introduction.txt +95 -116
- data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/match_columns.txt +1 -4
- data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/micro_blog.txt +1 -4
- data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/network.txt +3 -0
- data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/patricia_trie.txt +1 -2
- data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/query_expansion.txt +5 -0
- data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/search.txt +3 -0
- data/vendor/local/share/doc/groonga/en/html/_sources/tutorial.txt +2 -2
- data/vendor/local/share/doc/groonga/en/html/_sources/type.txt +3 -3
- data/vendor/local/share/doc/groonga/en/html/_static/basic.css +13 -1
- data/vendor/local/share/doc/groonga/en/html/_static/doctools.js +5 -5
- data/vendor/local/share/doc/groonga/en/html/_static/searchtools.js +11 -7
- data/vendor/local/share/doc/groonga/en/html/_static/websupport.js +1 -1
- data/vendor/local/share/doc/groonga/en/html/characteristic.html +60 -52
- data/vendor/local/share/doc/groonga/en/html/command_version.html +30 -30
- data/vendor/local/share/doc/groonga/en/html/commands/cache_limit.html +34 -34
- data/vendor/local/share/doc/groonga/en/html/commands/check.html +34 -34
- data/vendor/local/share/doc/groonga/en/html/commands/clearlock.html +34 -34
- data/vendor/local/share/doc/groonga/en/html/commands/column_create.html +34 -34
- data/vendor/local/share/doc/groonga/en/html/commands/column_list.html +34 -34
- data/vendor/local/share/doc/groonga/en/html/commands/column_remove.html +34 -34
- data/vendor/local/share/doc/groonga/en/html/commands/define_selector.html +36 -36
- data/vendor/local/share/doc/groonga/en/html/commands/defrag.html +34 -34
- data/vendor/local/share/doc/groonga/en/html/commands/delete.html +38 -35
- data/vendor/local/share/doc/groonga/en/html/commands/dump.html +32 -32
- data/vendor/local/share/doc/groonga/en/html/commands/load.html +36 -36
- data/vendor/local/share/doc/groonga/en/html/commands/log_level.html +36 -36
- data/vendor/local/share/doc/groonga/en/html/commands/log_put.html +36 -36
- data/vendor/local/share/doc/groonga/en/html/commands/log_reopen.html +38 -38
- data/vendor/local/share/doc/groonga/en/html/commands/quit.html +32 -32
- data/vendor/local/share/doc/groonga/en/html/commands/select.html +38 -38
- data/vendor/local/share/doc/groonga/en/html/commands/shutdown.html +32 -32
- data/vendor/local/share/doc/groonga/en/html/commands/status.html +34 -34
- data/vendor/local/share/doc/groonga/en/html/commands/suggest.html +36 -36
- data/vendor/local/share/doc/groonga/en/html/commands/table_create.html +38 -36
- data/vendor/local/share/doc/groonga/en/html/commands/table_list.html +34 -34
- data/vendor/local/share/doc/groonga/en/html/commands/table_remove.html +34 -34
- data/vendor/local/share/doc/groonga/en/html/commands/view_add.html +34 -34
- data/vendor/local/share/doc/groonga/en/html/commands.html +41 -41
- data/vendor/local/share/doc/groonga/en/html/community.html +14 -12
- data/vendor/local/share/doc/groonga/en/html/contribution/development/com.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/contribution/development/document.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/contribution/development/query.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/contribution/development/test.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/contribution/development.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/contribution/documentation/c-api.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/contribution/documentation/i18n.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/contribution/documentation.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/contribution/report.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/contribution.html +15 -13
- data/vendor/local/share/doc/groonga/en/html/executables/grnslap.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/executables/grntest.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/executables/groonga-http.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/executables/groonga-suggest-create-dataset.html +12 -12
- data/vendor/local/share/doc/groonga/en/html/executables/groonga.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/executables.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/expr.html +25 -25
- data/vendor/local/share/doc/groonga/en/html/functions/edit_distance.html +32 -32
- data/vendor/local/share/doc/groonga/en/html/functions/geo_distance.html +71 -36
- data/vendor/local/share/doc/groonga/en/html/functions/geo_in_circle.html +53 -33
- data/vendor/local/share/doc/groonga/en/html/functions/geo_in_rectangle.html +32 -32
- data/vendor/local/share/doc/groonga/en/html/functions/now.html +30 -30
- data/vendor/local/share/doc/groonga/en/html/functions/rand.html +32 -32
- data/vendor/local/share/doc/groonga/en/html/functions.html +22 -22
- data/vendor/local/share/doc/groonga/en/html/genindex.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/geolocation_search.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/index.html +92 -87
- data/vendor/local/share/doc/groonga/en/html/install.html +109 -40
- data/vendor/local/share/doc/groonga/en/html/limitations.html +19 -19
- data/vendor/local/share/doc/groonga/en/html/log.html +21 -21
- data/vendor/local/share/doc/groonga/en/html/news/0.x.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/news/1.0.x.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/news/1.1.x.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/news/senna.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/news.html +233 -112
- data/vendor/local/share/doc/groonga/en/html/objects.inv +0 -0
- data/vendor/local/share/doc/groonga/en/html/output.html +302 -0
- data/vendor/local/share/doc/groonga/en/html/pseudo_column.html +21 -21
- data/vendor/local/share/doc/groonga/en/html/reference.html +59 -55
- data/vendor/local/share/doc/groonga/en/html/search.html +6 -6
- data/vendor/local/share/doc/groonga/en/html/searchindex.js +1 -1
- data/vendor/local/share/doc/groonga/en/html/spec/search.html +11 -11
- data/vendor/local/share/doc/groonga/en/html/spec.html +11 -11
- data/vendor/local/share/doc/groonga/en/html/suggest/completion.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/suggest/correction.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/suggest/introduction.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/suggest/suggestion.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/suggest/tutorial.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/suggest.html +7 -12
- data/vendor/local/share/doc/groonga/en/html/troubleshooting/different_results_with_the_same_keyword.html +7 -7
- data/vendor/local/share/doc/groonga/en/html/troubleshooting.html +11 -11
- data/vendor/local/share/doc/groonga/en/html/tutorial/data.html +23 -23
- data/vendor/local/share/doc/groonga/en/html/tutorial/drilldown.html +10 -10
- data/vendor/local/share/doc/groonga/en/html/tutorial/index.html +10 -10
- data/vendor/local/share/doc/groonga/en/html/tutorial/introduction.html +124 -164
- data/vendor/local/share/doc/groonga/en/html/tutorial/lexicon.html +10 -10
- data/vendor/local/share/doc/groonga/en/html/tutorial/match_columns.html +10 -10
- data/vendor/local/share/doc/groonga/en/html/tutorial/micro_blog.html +10 -10
- data/vendor/local/share/doc/groonga/en/html/tutorial/network.html +14 -14
- data/vendor/local/share/doc/groonga/en/html/tutorial/patricia_trie.html +10 -10
- data/vendor/local/share/doc/groonga/en/html/tutorial/query_expansion.html +11 -10
- data/vendor/local/share/doc/groonga/en/html/tutorial/search.html +10 -10
- data/vendor/local/share/doc/groonga/en/html/tutorial.html +26 -26
- data/vendor/local/share/doc/groonga/en/html/type.html +31 -31
- data/vendor/local/share/doc/groonga/ja/html/.buildinfo +1 -1
- data/vendor/local/share/doc/groonga/ja/html/_sources/characteristic.txt +42 -32
- data/vendor/local/share/doc/groonga/ja/html/_sources/commands/delete.txt +5 -1
- data/vendor/local/share/doc/groonga/ja/html/_sources/commands/table_create.txt +5 -2
- data/vendor/local/share/doc/groonga/ja/html/_sources/community.txt +4 -3
- data/vendor/local/share/doc/groonga/ja/html/_sources/contribution.txt +8 -6
- data/vendor/local/share/doc/groonga/ja/html/_sources/functions/geo_distance.txt +42 -3
- data/vendor/local/share/doc/groonga/ja/html/_sources/functions/geo_in_circle.txt +26 -1
- data/vendor/local/share/doc/groonga/ja/html/_sources/index.txt +2 -2
- data/vendor/local/share/doc/groonga/ja/html/_sources/install.txt +102 -27
- data/vendor/local/share/doc/groonga/ja/html/_sources/limitations.txt +10 -10
- data/vendor/local/share/doc/groonga/ja/html/_sources/news.txt +130 -21
- data/vendor/local/share/doc/groonga/ja/html/_sources/output.txt +164 -0
- data/vendor/local/share/doc/groonga/ja/html/_sources/reference.txt +1 -0
- data/vendor/local/share/doc/groonga/ja/html/_sources/suggest.txt +0 -5
- data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/data.txt +6 -4
- data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/drilldown.txt +1 -3
- data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/index.txt +2 -1
- data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/introduction.txt +95 -116
- data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/match_columns.txt +1 -4
- data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/micro_blog.txt +1 -4
- data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/network.txt +3 -0
- data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/patricia_trie.txt +1 -2
- data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/query_expansion.txt +5 -0
- data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/search.txt +3 -0
- data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial.txt +2 -2
- data/vendor/local/share/doc/groonga/ja/html/_sources/type.txt +3 -3
- data/vendor/local/share/doc/groonga/ja/html/_static/basic.css +13 -1
- data/vendor/local/share/doc/groonga/ja/html/_static/doctools.js +5 -5
- data/vendor/local/share/doc/groonga/ja/html/_static/searchtools.js +11 -7
- data/vendor/local/share/doc/groonga/ja/html/_static/websupport.js +1 -1
- data/vendor/local/share/doc/groonga/ja/html/characteristic.html +55 -47
- data/vendor/local/share/doc/groonga/ja/html/command_version.html +30 -30
- data/vendor/local/share/doc/groonga/ja/html/commands/cache_limit.html +34 -34
- data/vendor/local/share/doc/groonga/ja/html/commands/check.html +34 -34
- data/vendor/local/share/doc/groonga/ja/html/commands/clearlock.html +34 -34
- data/vendor/local/share/doc/groonga/ja/html/commands/column_create.html +34 -34
- data/vendor/local/share/doc/groonga/ja/html/commands/column_list.html +34 -34
- data/vendor/local/share/doc/groonga/ja/html/commands/column_remove.html +34 -34
- data/vendor/local/share/doc/groonga/ja/html/commands/define_selector.html +36 -36
- data/vendor/local/share/doc/groonga/ja/html/commands/defrag.html +34 -34
- data/vendor/local/share/doc/groonga/ja/html/commands/delete.html +38 -35
- data/vendor/local/share/doc/groonga/ja/html/commands/dump.html +32 -32
- data/vendor/local/share/doc/groonga/ja/html/commands/load.html +36 -36
- data/vendor/local/share/doc/groonga/ja/html/commands/log_level.html +36 -36
- data/vendor/local/share/doc/groonga/ja/html/commands/log_put.html +36 -36
- data/vendor/local/share/doc/groonga/ja/html/commands/log_reopen.html +38 -38
- data/vendor/local/share/doc/groonga/ja/html/commands/quit.html +32 -32
- data/vendor/local/share/doc/groonga/ja/html/commands/select.html +38 -38
- data/vendor/local/share/doc/groonga/ja/html/commands/shutdown.html +32 -32
- data/vendor/local/share/doc/groonga/ja/html/commands/status.html +34 -34
- data/vendor/local/share/doc/groonga/ja/html/commands/suggest.html +36 -36
- data/vendor/local/share/doc/groonga/ja/html/commands/table_create.html +38 -36
- data/vendor/local/share/doc/groonga/ja/html/commands/table_list.html +34 -34
- data/vendor/local/share/doc/groonga/ja/html/commands/table_remove.html +34 -34
- data/vendor/local/share/doc/groonga/ja/html/commands/view_add.html +34 -34
- data/vendor/local/share/doc/groonga/ja/html/commands.html +41 -41
- data/vendor/local/share/doc/groonga/ja/html/community.html +10 -8
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/com.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/document.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/query.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/test.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/contribution/development.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/c-api.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/i18n.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/contribution/documentation.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/contribution/report.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/contribution.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/executables/grnslap.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/executables/grntest.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/executables/groonga-http.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/executables/groonga-suggest-create-dataset.html +12 -12
- data/vendor/local/share/doc/groonga/ja/html/executables/groonga.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/executables.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/expr.html +25 -25
- data/vendor/local/share/doc/groonga/ja/html/functions/edit_distance.html +32 -32
- data/vendor/local/share/doc/groonga/ja/html/functions/geo_distance.html +71 -36
- data/vendor/local/share/doc/groonga/ja/html/functions/geo_in_circle.html +53 -33
- data/vendor/local/share/doc/groonga/ja/html/functions/geo_in_rectangle.html +32 -32
- data/vendor/local/share/doc/groonga/ja/html/functions/now.html +30 -30
- data/vendor/local/share/doc/groonga/ja/html/functions/rand.html +32 -32
- data/vendor/local/share/doc/groonga/ja/html/functions.html +22 -22
- data/vendor/local/share/doc/groonga/ja/html/genindex.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/geolocation_search.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/index.html +84 -79
- data/vendor/local/share/doc/groonga/ja/html/install.html +92 -16
- data/vendor/local/share/doc/groonga/ja/html/limitations.html +13 -13
- data/vendor/local/share/doc/groonga/ja/html/log.html +21 -21
- data/vendor/local/share/doc/groonga/ja/html/news/0.x.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/news/1.0.x.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/news/1.1.x.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/news/senna.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/news.html +202 -99
- data/vendor/local/share/doc/groonga/ja/html/objects.inv +0 -0
- data/vendor/local/share/doc/groonga/ja/html/output.html +287 -0
- data/vendor/local/share/doc/groonga/ja/html/pseudo_column.html +21 -21
- data/vendor/local/share/doc/groonga/ja/html/reference.html +59 -55
- data/vendor/local/share/doc/groonga/ja/html/search.html +6 -6
- data/vendor/local/share/doc/groonga/ja/html/searchindex.js +1 -1
- data/vendor/local/share/doc/groonga/ja/html/spec/search.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/spec.html +11 -11
- data/vendor/local/share/doc/groonga/ja/html/suggest/completion.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/suggest/correction.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/suggest/introduction.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/suggest/suggestion.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/suggest/tutorial.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/suggest.html +7 -11
- data/vendor/local/share/doc/groonga/ja/html/troubleshooting/different_results_with_the_same_keyword.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/troubleshooting.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/tutorial/data.html +20 -20
- data/vendor/local/share/doc/groonga/ja/html/tutorial/drilldown.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/tutorial/index.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/tutorial/introduction.html +93 -115
- data/vendor/local/share/doc/groonga/ja/html/tutorial/lexicon.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/tutorial/match_columns.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/tutorial/micro_blog.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/tutorial/network.html +8 -8
- data/vendor/local/share/doc/groonga/ja/html/tutorial/patricia_trie.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/tutorial/query_expansion.html +8 -7
- data/vendor/local/share/doc/groonga/ja/html/tutorial/search.html +7 -7
- data/vendor/local/share/doc/groonga/ja/html/tutorial.html +21 -21
- data/vendor/local/share/doc/groonga/ja/html/type.html +31 -31
- data/vendor/local/share/doc/groonga/source/characteristic.txt +42 -32
- data/vendor/local/share/doc/groonga/source/commands/delete.txt +5 -1
- data/vendor/local/share/doc/groonga/source/commands/table_create.txt +5 -2
- data/vendor/local/share/doc/groonga/source/community.txt +4 -3
- data/vendor/local/share/doc/groonga/source/contribution.txt +8 -6
- data/vendor/local/share/doc/groonga/source/example/tutorial/data-1.log +8 -8
- data/vendor/local/share/doc/groonga/source/example/tutorial/data-2.log +4 -4
- data/vendor/local/share/doc/groonga/source/example/tutorial/data-3.log +4 -4
- data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-1.log +3 -15
- data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-2.log +2 -7
- data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-3.log +2 -7
- data/vendor/local/share/doc/groonga/source/functions/geo_distance.txt +42 -3
- data/vendor/local/share/doc/groonga/source/functions/geo_in_circle.txt +26 -1
- data/vendor/local/share/doc/groonga/source/index.txt +2 -2
- data/vendor/local/share/doc/groonga/source/install.txt +102 -27
- data/vendor/local/share/doc/groonga/source/limitations.txt +10 -10
- data/vendor/local/share/doc/groonga/source/news.txt +130 -21
- data/vendor/local/share/doc/groonga/source/output.txt +164 -0
- data/vendor/local/share/doc/groonga/source/reference.txt +1 -0
- data/vendor/local/share/doc/groonga/source/suggest.txt +0 -5
- data/vendor/local/share/doc/groonga/source/tutorial/data.txt +6 -4
- data/vendor/local/share/doc/groonga/source/tutorial/drilldown.txt +1 -3
- data/vendor/local/share/doc/groonga/source/tutorial/index.txt +2 -1
- data/vendor/local/share/doc/groonga/source/tutorial/introduction.txt +95 -116
- data/vendor/local/share/doc/groonga/source/tutorial/match_columns.txt +1 -4
- data/vendor/local/share/doc/groonga/source/tutorial/micro_blog.txt +1 -4
- data/vendor/local/share/doc/groonga/source/tutorial/network.txt +3 -0
- data/vendor/local/share/doc/groonga/source/tutorial/patricia_trie.txt +1 -2
- data/vendor/local/share/doc/groonga/source/tutorial/query_expansion.txt +5 -0
- data/vendor/local/share/doc/groonga/source/tutorial/search.txt +3 -0
- data/vendor/local/share/doc/groonga/source/tutorial.txt +2 -2
- data/vendor/local/share/doc/groonga/source/type.txt +3 -3
- data/vendor/local/share/groonga/examples/dictionary/html/js/dictionary.js +1 -0
- data/vendor/local/share/groonga/html/admin/index.html +40 -0
- data/vendor/local/share/groonga/html/admin/js/jquery.flot-0.7.min.js +6 -0
- data/vendor/local/share/groonga/html/admin/js/jquery.flot.license.txt +22 -0
- data/vendor/local/share/man/ja/man1/groonga.1 +560 -138
- data/vendor/local/share/man/man1/groonga.1 +637 -223
- metadata +887 -898
- data/ext/groonga/Makefile +0 -184
- data/ext/groonga/rb-grn-query.c +0 -260
- data/test/test-query.rb +0 -22
@@ -1,4 +1,4 @@
|
|
1
|
-
.TH "GROONGA" "1" "
|
1
|
+
.TH "GROONGA" "1" "2012 年 01 月 29 日" "1.2.9" "groonga"
|
2
2
|
.SH NAME
|
3
3
|
groonga \- groongaのドキュメント
|
4
4
|
.
|
@@ -35,42 +35,51 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
|
35
35
|
\fBnews\fP
|
36
36
|
.UNINDENT
|
37
37
|
.SH GROONGAの特徴
|
38
|
-
.SS
|
38
|
+
.SS groonga の概要
|
39
39
|
.sp
|
40
|
-
groonga
|
41
|
-
.SS HTTPなどの複数プロトコルに対応したサーバ
|
40
|
+
groonga は転置索引を用いた高速・高精度な全文検索エンジンであり、登録された文書をすぐに検索結果に反映できます。また、参照をブロックせずに更新できることから、即時更新の必要なアプリケーションにおいても高い性能を発揮します。
|
42
41
|
.sp
|
43
|
-
|
42
|
+
全文検索エンジンとして開発された groonga ですが、独自のカラムストアを持つ列指向のデータベースとしての側面も持っています。そのため、MySQL や PostgreSQL など、既存の代表的なデータベースが苦手とする集計クエリを高速に処理できるという特徴があり、組み合わせによって弱点を補うような使い方もできます。
|
44
43
|
.sp
|
45
|
-
|
46
|
-
.SS
|
44
|
+
groonga の基本機能は C ライブラリとして提供されていますが、MySQL や PostgreSQL と連携させたり、Ruby から呼び出したりすることもできます。そのため、任意のアプリケーションに組み込むことが可能であり、多様な使い方が考えられます。 興味のある方は \fI\%利用例\fP をご覧ください。
|
45
|
+
.SS 全文検索と即時更新
|
47
46
|
.sp
|
48
|
-
|
47
|
+
一般的なデータベースにおいては、追加・削除などの操作がすぐに反映されます。一方、全文検索においては、転置索引が逐次更新の難しいデータ構造であることから、文書の追加・削除に対応しないエンジンが少なくありません。
|
49
48
|
.sp
|
50
|
-
|
49
|
+
これに対し、転置索引を用いた全文検索エンジンでありながら、groonga は文書を短時間で追加・削除することができます。その上、更新しながらでも検索できるという優れた特徴を持っているため、全文検索エンジンとしてはとても柔軟性があります。また、複数の転置索引を統合するような重い処理を必要としないので、安定して高い性能を発揮することが期待できます。
|
50
|
+
.SS カラムストアと集計クエリ
|
51
51
|
.sp
|
52
|
-
|
53
|
-
.SS 複数プロセス・複数スレッドで共有できるストレージ
|
52
|
+
現代は、インターネットを情報源とすれば、いくらでも情報を収集できる時代です。しかし、膨大な情報から有益な情報を引き出すのは困難であり、多面的な分析による試行錯誤が必要となります。たとえば、日付や時間帯により絞り込んでみたり、地域により絞り込んでみたり、性別や年齢により絞り込んでみたりすることでしょう。そして、そのようなときに便利な存在が集計クエリです。
|
54
53
|
.sp
|
55
|
-
|
54
|
+
集計クエリとは、指定したカラムの値によってレコードをグループ化し、各グループに含まれるレコードの数を求めるクエリです。たとえば、地域の ID を格納しているカラムを指定すれば、地域毎のレコード数が求まります。日付のカラムを指定したときの出力をグラフ化すれば、レコード数の時間変化を視覚化することができます。さらに、地域による絞り込みと日付に対する集計クエリを組み合わせれば、特定の地域におけるレコード数の時間変化を視覚化ことも可能です。このように、尺度を自由に選択して絞り込み・集計できることは、膨大な情報を扱う上でとても重要になります。
|
56
55
|
.sp
|
57
|
-
|
58
|
-
.SS
|
56
|
+
groonga が集計クエリを高速に処理できる理由は、データベースの論理構造にカラムストアを採用しているからです。集計クエリが参照するのは指定されたカラムのみであるため、カラム単位でデータを格納する列指向のデータベースでは、必要なカラムのみを無駄なく読み出せることが利点となります。一方、レコード単位でデータを格納する行指向のデータベースでは、隣接するカラムをまとめて読み出してしまうことが欠点となります。
|
57
|
+
.SS 転置索引とトークナイザ
|
59
58
|
.sp
|
60
|
-
|
59
|
+
転置索引は大規模な全文検索に用いられる伝統的なデータ構造です。転置索引を用いた全文検索エンジンでは、文書を追加するときに索引語を記録しておき、検索するときはクエリを索引語に分割して出現文書を求めます。そのため、文書やクエリから索引語を抜き出す方法が重要になります。
|
61
60
|
.sp
|
62
|
-
|
63
|
-
.SS Sennaの転置インデックス実装をさらに改良
|
61
|
+
トークナイザは、文字列から索引語を抜き出すモジュールです。日本語を対象とする全文検索においては、形態素を索引語として抜き出す方式と文字 N\-gram を抜き出す方式のいずれか、あるいは両方を用いるのが一般的です。形態素方式は検索時間や索引サイズの面で優れているほか、検索結果に不要な文書が含まれにくいという利点を持っています。一方、N\-gram 方式には検索漏れが発生しにくいという利点があり、状況によって適した方式を選択することが望ましいとされています。
|
64
62
|
.sp
|
65
|
-
groonga
|
63
|
+
groonga は形態素方式と N\-gram 方式の両方に対応しています。初期状態で利用できるトークナイザは空白を区切り文字として用いる方式と N\-gram 方式のみですが、形態素解析器 MeCab を組み込んだときは MeCab による分かち書きの結果を用いる形態素方式が有効になります。トークナイザはプラグインとして追加できるため、特徴的なキーワードのみを索引語として採用するなど、独自のトークナイザを開発することが可能です。
|
64
|
+
.SS 共有可能なストレージと参照ロックフリー
|
66
65
|
.sp
|
67
|
-
|
66
|
+
CPU のマルチコア化が進んでいるため、同時に複数のクエリを実行したり、一つのクエリを複数のスレッドで実行したりすることの重要性はますます高まっています。
|
67
|
+
.sp
|
68
|
+
groonga のストレージは、複数のスレッド・プロセスで共有することができます。また、参照ロックフリーなデータ構造を採用しているため、更新クエリを実行している状況でも参照クエリを実行することができます。参照クエリを実行できる状態を維持しながら更新クエリを実行できるので、リアルタイムなシステムに適しています。さらには、MySQL を介して更新クエリを実行している最中に groonga の HTTP サーバを介して参照クエリを実行するなど、多彩な運用が可能となっています。
|
68
69
|
.SS 位置情報(緯度・経度)検索
|
69
70
|
.sp
|
70
|
-
|
71
|
-
.
|
71
|
+
GPS に代表される測位システムを搭載した高機能な携帯端末の普及などによって、位置情報を扱うサービスはますます便利になっています。たとえば、近くにあるレストランを探しているときは、現在地からの距離を基準として検索をおこない、検索結果を地図上に表示してくれるようなサービスが便利です。そのため、位置情報検索を高速に実現できることが重要になっています。
|
72
|
+
.sp
|
73
|
+
groonga では転置索引を応用して高速な位置情報検索を実現しています。矩形・円による範囲検索に対応しているほか、基準点の近くを優先的に探索させることができます。また、距離計算をサポートしているので、位置情報検索の結果を基準点からの距離によって整列することも可能です。
|
74
|
+
.SS groonga ライブラリ
|
75
|
+
.sp
|
76
|
+
Groonga の基本機能は C ライブラリとして提供されているので、任意のアプリケーションに組み込んで利用することができます。C/C++ 以外については、Ruby から groonga を利用するライブラリなどが関連プロジェクトにおいて提供されています。詳しくは \fI\%関連プロジェクト\fP を参照してください。
|
77
|
+
.SS groonga サーバ
|
72
78
|
.sp
|
73
|
-
|
79
|
+
groonga にはサーバ機能があるため、レンタルサーバなどの新しいライブラリをインストールできない環境においても利用できます。対応しているのは HTTP, memcached binary プロトコル、およびに groonga の独自プロトコルである gqtp です。サーバとして利用するときはクエリのキャッシュ機能が有効になるため、同じクエリを受け取ったときは応答時間が短くなるという特徴があります。
|
80
|
+
.SS groonga ストレージエンジン
|
81
|
+
.sp
|
82
|
+
groonga は独自のカラムストアを持つ列指向のデータベースとしての側面を持っていますが、既存の RDBMS のストレージエンジンとして利用することもできます。たとえば、groonga をベースとする MySQL のストレージエンジンとして \fI\%mroonga\fP が開発されています。mroonga は MySQL のプラグインとして動的にロードすることが可能であり、groonga のカラムストアをストレージとして利用したり、全文検索エンジンとして groonga を MyISAM や InnoDB と連携させたりすることができます。groonga 単体での利用、およびに MyISAM, InnoDB との連携には一長一短があるので、用途に応じて適切な組み合わせを選ぶことが大切です。詳しくは \fI\%関連プロジェクト\fP を参照してください。
|
74
83
|
.SH インストール
|
75
84
|
.sp
|
76
85
|
それぞれの環境毎にインストール方法を説明します。
|
@@ -96,6 +105,16 @@ deb\-src http://packages.groonga.org/debian/ squeeze main
|
|
96
105
|
% sudo aptitude \-V \-D \-y install groonga
|
97
106
|
.ft P
|
98
107
|
.fi
|
108
|
+
.sp
|
109
|
+
\fI\%Munin\fP プラグインを提供するパッケージもあります。もし、muninでgroongaの状態をモニターしたい場合は、groonga\-munin\-pluginsパッケージをインストールしてください。
|
110
|
+
.sp
|
111
|
+
groonga\-munin\-pluginsパッケージをインストール:
|
112
|
+
.sp
|
113
|
+
.nf
|
114
|
+
.ft C
|
115
|
+
% sudo aptitude \-V \-D \-y install groonga\-munin\-plugins
|
116
|
+
.ft P
|
117
|
+
.fi
|
99
118
|
.SS Debian GNU/Linux wheezy
|
100
119
|
.sp
|
101
120
|
/etc/apt/sources.list.d/groonga.list:
|
@@ -116,6 +135,14 @@ deb\-src http://packages.groonga.org/debian/ wheezy main
|
|
116
135
|
% sudo aptitude \-V \-D \-y install groonga
|
117
136
|
.ft P
|
118
137
|
.fi
|
138
|
+
.sp
|
139
|
+
groonga\-munin\-pluginsパッケージをインストール:
|
140
|
+
.sp
|
141
|
+
.nf
|
142
|
+
.ft C
|
143
|
+
% sudo aptitude \-V \-D \-y install groonga\-munin\-plugins
|
144
|
+
.ft P
|
145
|
+
.fi
|
119
146
|
.SS Debian GNU/Linux sid
|
120
147
|
.sp
|
121
148
|
/etc/apt/sources.list.d/groonga.list:
|
@@ -136,6 +163,14 @@ deb\-src http://packages.groonga.org/debian/ unstable main
|
|
136
163
|
% sudo aptitude \-V \-D \-y install groonga
|
137
164
|
.ft P
|
138
165
|
.fi
|
166
|
+
.sp
|
167
|
+
groonga\-munin\-pluginsパッケージをインストール:
|
168
|
+
.sp
|
169
|
+
.nf
|
170
|
+
.ft C
|
171
|
+
% sudo aptitude \-V \-D \-y install groonga\-munin\-plugins
|
172
|
+
.ft P
|
173
|
+
.fi
|
139
174
|
.SS Ubuntu 10.04 LTS Lucid Lynx
|
140
175
|
.IP ノート
|
141
176
|
Ubuntu本家のuniverseセクションもインストール対象としてください。設定方法は以下で説明しています。
|
@@ -155,8 +190,16 @@ deb\-src http://packages.groonga.org/ubuntu/ lucid universe
|
|
155
190
|
.nf
|
156
191
|
.ft C
|
157
192
|
% sudo apt\-key adv \-\-recv\-keys \-\-keyserver keyserver.ubuntu.com 1C837F31
|
158
|
-
% sudo
|
159
|
-
% sudo
|
193
|
+
% sudo apt\-get update
|
194
|
+
% sudo apt\-get \-y install groonga
|
195
|
+
.ft P
|
196
|
+
.fi
|
197
|
+
.sp
|
198
|
+
groonga\-munin\-pluginsパッケージをインストール:
|
199
|
+
.sp
|
200
|
+
.nf
|
201
|
+
.ft C
|
202
|
+
% sudo apt\-get \-y install groonga\-munin\-plugins
|
160
203
|
.ft P
|
161
204
|
.fi
|
162
205
|
.SS Ubuntu 11.04 Natty Narwhal
|
@@ -178,8 +221,16 @@ deb\-src http://packages.groonga.org/ubuntu/ natty universe
|
|
178
221
|
.nf
|
179
222
|
.ft C
|
180
223
|
% sudo apt\-key adv \-\-recv\-keys \-\-keyserver keyserver.ubuntu.com 1C837F31
|
181
|
-
% sudo
|
182
|
-
% sudo
|
224
|
+
% sudo apt\-get update
|
225
|
+
% sudo apt\-get \-y install groonga
|
226
|
+
.ft P
|
227
|
+
.fi
|
228
|
+
.sp
|
229
|
+
groonga\-munin\-pluginsパッケージをインストール:
|
230
|
+
.sp
|
231
|
+
.nf
|
232
|
+
.ft C
|
233
|
+
% sudo apt\-get \-y install groonga\-munin\-plugins
|
183
234
|
.ft P
|
184
235
|
.fi
|
185
236
|
.SS Ubuntu 11.10 Oneiric Ocelot
|
@@ -201,8 +252,16 @@ deb\-src http://packages.groonga.org/ubuntu/ oneiric universe
|
|
201
252
|
.nf
|
202
253
|
.ft C
|
203
254
|
% sudo apt\-key adv \-\-recv\-keys \-\-keyserver keyserver.ubuntu.com 1C837F31
|
204
|
-
% sudo
|
205
|
-
% sudo
|
255
|
+
% sudo apt\-get update
|
256
|
+
% sudo apt\-get \-y install groonga
|
257
|
+
.ft P
|
258
|
+
.fi
|
259
|
+
.sp
|
260
|
+
groonga\-munin\-pluginsパッケージをインストール:
|
261
|
+
.sp
|
262
|
+
.nf
|
263
|
+
.ft C
|
264
|
+
% sudo apt\-get \-y install groonga\-munin\-plugins
|
206
265
|
.ft P
|
207
266
|
.fi
|
208
267
|
.SS CentOS 5
|
@@ -216,6 +275,44 @@ deb\-src http://packages.groonga.org/ubuntu/ oneiric universe
|
|
216
275
|
% sudo yum install \-y groonga
|
217
276
|
.ft P
|
218
277
|
.fi
|
278
|
+
.sp
|
279
|
+
\fI\%Munin\fP プラグインを提供するパッケージもあります。もし、muninでgroongaの状態をモニターしたい場合は、groonga\-munin\-pluginsパッケージをインストールしてください。
|
280
|
+
.IP ノート
|
281
|
+
groonga\-munin\-pluginsパッケージはmunin\-nodeパッケージを必要としますが、munin\-nodeパッケージはCentOSの公式リポジトリには含まれていません。munin\-nodeパッケージをyumでインストールするために \fI\%RPMforge\fP リポジトリか \fI\%EPEL\fP リポジトリを有効にする必要があります。
|
282
|
+
.sp
|
283
|
+
i386環境でRPMforgeリポジトリを有効にする:
|
284
|
+
.sp
|
285
|
+
.nf
|
286
|
+
.ft C
|
287
|
+
% sudo rpm \-ivh http://pkgs.repoforge.org/rpmforge\-release/rpmforge\-release\-0.5.2\-2.el5.rf.i386.rpm
|
288
|
+
.ft P
|
289
|
+
.fi
|
290
|
+
.sp
|
291
|
+
x86_64環境でRPMforgeリポジトリを有効にする:
|
292
|
+
.sp
|
293
|
+
.nf
|
294
|
+
.ft C
|
295
|
+
% sudo rpm \-ivh http://pkgs.repoforge.org/rpmforge\-release/rpmforge\-release\-0.5.2\-2.el5.rf.x86_64.rpm
|
296
|
+
.ft P
|
297
|
+
.fi
|
298
|
+
.sp
|
299
|
+
EPELリポジトリを有効にする(環境非依存):
|
300
|
+
.sp
|
301
|
+
.nf
|
302
|
+
.ft C
|
303
|
+
% sudo rpm \-ivh http://download.fedoraproject.org/pub/epel/5/i386/epel\-release\-5\-4.noarch.rpm
|
304
|
+
.ft P
|
305
|
+
.fi
|
306
|
+
.RE
|
307
|
+
.sp
|
308
|
+
groonga\-munin\-pluginsパッケージをインストール:
|
309
|
+
.sp
|
310
|
+
.nf
|
311
|
+
.ft C
|
312
|
+
% sudo yum update
|
313
|
+
% sudo yum install \-y groonga\-munin\-plugins
|
314
|
+
.ft P
|
315
|
+
.fi
|
219
316
|
.SS CentOS 6
|
220
317
|
.sp
|
221
318
|
インストール:
|
@@ -227,7 +324,45 @@ deb\-src http://packages.groonga.org/ubuntu/ oneiric universe
|
|
227
324
|
% sudo yum install \-y groonga
|
228
325
|
.ft P
|
229
326
|
.fi
|
230
|
-
.
|
327
|
+
.sp
|
328
|
+
\fI\%Munin\fP プラグインを提供するパッケージもあります。もし、muninでgroongaの状態をモニターしたい場合は、groonga\-munin\-pluginsパッケージをインストールしてください。
|
329
|
+
.IP ノート
|
330
|
+
groonga\-munin\-pluginsパッケージはmunin\-nodeパッケージを必要としますが、munin\-nodeパッケージはCentOSの公式リポジトリには含まれていません。munin\-nodeパッケージをyumでインストールするために \fI\%RPMforge\fP リポジトリか \fI\%EPEL\fP リポジトリを有効にする必要があります。
|
331
|
+
.sp
|
332
|
+
i686環境でRPMforgeリポジトリを有効にする:
|
333
|
+
.sp
|
334
|
+
.nf
|
335
|
+
.ft C
|
336
|
+
% sudo rpm \-ivh http://pkgs.repoforge.org/rpmforge\-release/rpmforge\-release\-0.5.2\-2.el6.rf.i686.rpm
|
337
|
+
.ft P
|
338
|
+
.fi
|
339
|
+
.sp
|
340
|
+
x86_64環境でRPMforgeリポジトリを有効にする:
|
341
|
+
.sp
|
342
|
+
.nf
|
343
|
+
.ft C
|
344
|
+
% sudo rpm \-ivh http://pkgs.repoforge.org/rpmforge\-release/rpmforge\-release\-0.5.2\-2.el6.rf.x86_64.rpm
|
345
|
+
.ft P
|
346
|
+
.fi
|
347
|
+
.sp
|
348
|
+
EPELリポジトリを有効にする(環境非依存):
|
349
|
+
.sp
|
350
|
+
.nf
|
351
|
+
.ft C
|
352
|
+
% sudo rpm \-ivh http://download.fedoraproject.org/pub/epel/6/i386/epel\-release\-6\-5.noarch.rpm
|
353
|
+
.ft P
|
354
|
+
.fi
|
355
|
+
.RE
|
356
|
+
.sp
|
357
|
+
groonga\-munin\-pluginsパッケージをインストール:
|
358
|
+
.sp
|
359
|
+
.nf
|
360
|
+
.ft C
|
361
|
+
% sudo yum update
|
362
|
+
% sudo yum install \-y groonga\-munin\-plugins
|
363
|
+
.ft P
|
364
|
+
.fi
|
365
|
+
.SS Fedora 16
|
231
366
|
.sp
|
232
367
|
インストール:
|
233
368
|
.sp
|
@@ -238,6 +373,16 @@ deb\-src http://packages.groonga.org/ubuntu/ oneiric universe
|
|
238
373
|
% sudo yum install \-y groonga
|
239
374
|
.ft P
|
240
375
|
.fi
|
376
|
+
.sp
|
377
|
+
\fI\%Munin\fP プラグインを提供するパッケージもあります。もし、muninでgroongaの状態をモニターしたい場合は、groonga\-munin\-pluginsパッケージをインストールしてください。
|
378
|
+
.sp
|
379
|
+
groonga\-munin\-pluginsパッケージをインストール:
|
380
|
+
.sp
|
381
|
+
.nf
|
382
|
+
.ft C
|
383
|
+
% sudo yum install \-y groonga\-munin\-plugins
|
384
|
+
.ft P
|
385
|
+
.fi
|
241
386
|
.SS Mac OS X (MacPorts)
|
242
387
|
.sp
|
243
388
|
インストール:
|
@@ -268,6 +413,8 @@ deb\-src http://packages.groonga.org/ubuntu/ oneiric universe
|
|
268
413
|
.sp
|
269
414
|
\fI\%packages.groonga.org/source/\fP よりtar.gzファイルを取得し、インストール先の環境にファイルを展開して、以下のように実行することでインストールできます。:
|
270
415
|
.sp
|
416
|
+
インストール:
|
417
|
+
.sp
|
271
418
|
.nf
|
272
419
|
.ft C
|
273
420
|
\&./configure \-\-prefix=/usr \-\-localstatedir=/var && make && sudo make install
|
@@ -275,6 +422,8 @@ deb\-src http://packages.groonga.org/ubuntu/ oneiric universe
|
|
275
422
|
.fi
|
276
423
|
.sp
|
277
424
|
prefixは、インストール先を指定するパラメータです。prefixを指定しない場合には、/usr/localが指定されたものとみなします。LD_LIBRARY_PATHなどに詳しくない人は、上記のように/usrを指定することをお勧めします。
|
425
|
+
.sp
|
426
|
+
groongaパッケージには \fI\%Munin\fP プラグインが含まれています。これらをインストールするためには \fI\-\-with\-munin\-plugins\fP オプションを指定する必要があります。
|
278
427
|
.SH コミュニティ
|
279
428
|
.sp
|
280
429
|
groongaに関する情報を共有するための場所がいくつかあります。あなたの参加をお待ちしています!
|
@@ -283,14 +432,17 @@ groongaに関する情報を共有するための場所がいくつかありま
|
|
283
432
|
groongaに関する話題を扱うメーリングリストがあります。
|
284
433
|
.INDENT 0.0
|
285
434
|
.TP
|
286
|
-
.B For
|
435
|
+
.B For English speaker
|
436
|
+
\fI\%groonga-talk@lists.sourceforge.net\fP
|
437
|
+
.TP
|
438
|
+
.B For Japanese speaker
|
287
439
|
\fI\%groonga-dev@lists.sourceforge.jp\fP
|
288
440
|
.UNINDENT
|
289
441
|
.SH チュートリアル
|
290
442
|
.SS 基本的な操作
|
291
443
|
.sp
|
292
|
-
groonga
|
293
|
-
.SS
|
444
|
+
groongaには、Cのライブラリとして使用する方法と、groonga実行ファイルを通して使用する方法があります。本チュートリアルでは、groonga実行ファイルを使用する方法について説明します。groonga実行ファイルを使って、データベースの作成・操作・サーバの起動・サーバへの接続などの操作が行えます。
|
445
|
+
.SS データベースの作成
|
294
446
|
.sp
|
295
447
|
以下のようなコマンドを実行すると、データベースを新規に作成することができます。
|
296
448
|
.sp
|
@@ -302,20 +454,20 @@ groonga \-n DB_PATH_NAME
|
|
302
454
|
.ft P
|
303
455
|
.fi
|
304
456
|
.sp
|
305
|
-
\-n
|
457
|
+
\-nオプションは、データベースを作ることを指示します。DB_PATH_NAMEには、新しく作成するデータベースのパスを指定します。指定されたパスが既に存在するときはコマンドが失敗するので注意してください。
|
306
458
|
.sp
|
307
|
-
|
459
|
+
上記コマンドは、データベースを作成してから、コマンドの入力を受け付ける対話モードに入ります。Ctrlキーを押しながらdキーを押すと、対話モードから抜けることができます。
|
308
460
|
.sp
|
309
461
|
実行例:
|
310
462
|
.sp
|
311
463
|
.nf
|
312
464
|
.ft C
|
313
465
|
% groonga \-n /tmp/tutorial.db
|
314
|
-
>
|
466
|
+
> Ctrl\-d
|
315
467
|
%
|
316
468
|
.ft P
|
317
469
|
.fi
|
318
|
-
.SS
|
470
|
+
.SS データベースの操作
|
319
471
|
.sp
|
320
472
|
書式:
|
321
473
|
.sp
|
@@ -325,50 +477,40 @@ groonga DB_PATH_NAME [COMMAND]
|
|
325
477
|
.ft P
|
326
478
|
.fi
|
327
479
|
.sp
|
328
|
-
|
480
|
+
操作対象のデータベースのパスをDB_PATH_NAMEに指定します。
|
329
481
|
.sp
|
330
|
-
|
482
|
+
COMMAND が指定された場合、COMMAND を実行した後、実行結果を返します。指定されなかった場合には、対話モードに入ります。対話モードでは、標準入力からコマンドを読み込み、順次実行します。本チュートリアルでは、対話モードを主に使用します。
|
331
483
|
.sp
|
332
|
-
|
484
|
+
それでは、statusというコマンドを実行してみましょう。statusコマンドは、groongaの実行状態を返すコマンドです。
|
333
485
|
.sp
|
334
486
|
実行例:
|
335
487
|
.sp
|
336
488
|
.nf
|
337
489
|
.ft C
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
[[0,1317212791.26314,0.124383285],true]
|
342
|
-
> column_create \-\-table Type \-\-name float \-\-type Float
|
343
|
-
[[0,1317212791.58803,0.027924039],true]
|
344
|
-
> column_create \-\-table Type \-\-name string \-\-type ShortText
|
345
|
-
[[0,1317212791.81654,0.040399047],true]
|
346
|
-
> column_create \-\-table Type \-\-name time \-\-type Time
|
347
|
-
[[0,1317212792.05751,0.027354067],true]
|
348
|
-
> load \-\-table Type
|
349
|
-
> [{"_key":"sample","number":12345,"float":42.195,"string":"GROONGA","time":1234567890.12}]
|
350
|
-
[[0,1317212792.28516,0.200775839],1]
|
351
|
-
> select \-\-table Type
|
352
|
-
[[0,1317212792.68655,0.000199477],[[[1],[["_id","UInt32"],["_key","ShortText"],["time","Time"],["string","ShortText"],["number","Int32"],["float","Float"]],[1,"sample",1234567890.12,"GROONGA",12345,42.195]]]]
|
490
|
+
% groonga \-n /tmp/groonga\-databases/introduction.db
|
491
|
+
> status
|
492
|
+
[[0,1322616280.40348,0.000158121],{"alloc_count":127,"starttime":1322616279,"uptime":1,"version":"1.2.8\-9\-gbf05b82","n_queries":0,"cache_hit_rate":0.0,"command_version":1,"default_command_version":1,"max_command_version":2}]
|
353
493
|
.ft P
|
354
494
|
.fi
|
355
495
|
.sp
|
356
|
-
以上のように、コマンドの実行結果は基本的にjson
|
357
|
-
.SS
|
496
|
+
以上のように、コマンドの実行結果は基本的にjson形式の配列として返却されます。配列の先頭には、エラーコードや実行時間などの情報が入ります。2番目の要素には、コマンドによって指定された操作の実行結果が入ります。
|
497
|
+
.SS コマンドの書式
|
358
498
|
.sp
|
359
|
-
|
499
|
+
データベースを操作するコマンドには、以下の書式で引数を与えます。:
|
360
500
|
.sp
|
361
501
|
.nf
|
362
502
|
.ft C
|
363
|
-
|
503
|
+
Form_1: COMMAND VALUE_1 VALUE_2 ..
|
364
504
|
|
365
|
-
|
505
|
+
Form_2: COMMAND \-\-NAME_1 VALUE_1 \-\-NAME_2 VALUE_2 ..
|
366
506
|
.ft P
|
367
507
|
.fi
|
368
508
|
.sp
|
369
|
-
書式1
|
509
|
+
書式1では値を適切な順番で渡す必要があります。このような引数は、位置によって値の意味が決まるため、位置固定引数などと呼ばれることもあります。
|
510
|
+
.sp
|
511
|
+
書式2では値を名前と一緒に渡します。そのため、任意の順序で引数を指定することができます。このような引数は、名前付き引数やキーワード引数と呼ばれることもあります。
|
370
512
|
.sp
|
371
|
-
|
513
|
+
空白や特殊な記号「"\(aq()」を含む値を指定したいときは、シングルクォート(\(aq)かダブルクォート(")で値を囲むようにしてください。
|
372
514
|
.sp
|
373
515
|
詳しくは、 \fB/executables/groonga\fP のコマンドの項を参考にしてください。
|
374
516
|
.SS 主なコマンド
|
@@ -380,13 +522,13 @@ Form2: COMMAND \-\-ARAGUMENT1 VALUE1 \-\-ARGUMENT2 VALUE2 ..
|
|
380
522
|
groongaプロセスの状態を表示します。
|
381
523
|
.TP
|
382
524
|
.B \fB/commands/table_list\fP
|
383
|
-
|
525
|
+
データベースに定義されているテーブルのリストを表示します。
|
384
526
|
.TP
|
385
527
|
.B \fB/commands/column_list\fP
|
386
528
|
テーブルに定義されているカラムのリストを表示します。
|
387
529
|
.TP
|
388
530
|
.B \fB/commands/table_create\fP
|
389
|
-
|
531
|
+
データベースにテーブルを追加します。
|
390
532
|
.TP
|
391
533
|
.B \fB/commands/column_create\fP
|
392
534
|
テーブルにカラムを追加します。
|
@@ -403,26 +545,21 @@ DBにテーブルを追加します。
|
|
403
545
|
.sp
|
404
546
|
\fB/commands/table_create\fP コマンドを使用してテーブルを作成します。
|
405
547
|
.sp
|
406
|
-
groonga
|
548
|
+
groongaのテーブルには基本的に主キーが必要であり、テーブルを作成する際には型と格納方法も併せて指定する必要があります。
|
407
549
|
.sp
|
408
|
-
|
550
|
+
型については後で説明するので、ここではデータの種類を表しているものという程度に考えてください。主キーの格納方法は、主キーを条件とする検索にかかる時間や、前方一致検索の可否などを左右します。こちらも後で説明します。
|
409
551
|
.sp
|
410
|
-
|
552
|
+
それでは、\(aqSite\(aqという名前のテーブルを作成してみましょう。主キーについては、型がShortTextで格納方法はHASHとしています。
|
411
553
|
.sp
|
412
554
|
実行例:
|
413
555
|
.sp
|
414
556
|
.nf
|
415
557
|
.ft C
|
416
|
-
>
|
417
|
-
[[0,
|
418
|
-
> load \-\-table Site
|
419
|
-
> [{"_key":"http://example.org/","link":"http://example.net/"}]
|
420
|
-
[[0,1317212793.14984,0.200481934],1]
|
421
|
-
> select \-\-table Site \-\-output_columns _key,title,link._key,link.title \-\-query title:@this
|
422
|
-
[[0,1317212793.55084,0.000485897],[[[1],[["_key","ShortText"],["title","ShortText"],["link._key","ShortText"],["link.title","ShortText"]],["http://example.org/","This is test record 1!","http://example.net/","test record 2."]]]]
|
558
|
+
> table_create \-\-name Site \-\-flags TABLE_HASH_KEY \-\-key_type ShortText
|
559
|
+
[[0,1322616280.60791,0.01234375],true]
|
423
560
|
.ft P
|
424
561
|
.fi
|
425
|
-
.SS
|
562
|
+
.SS テーブルの表示
|
426
563
|
.sp
|
427
564
|
\fB/commands/select\fP コマンドを用いて、テーブルの中身を表示することができます。
|
428
565
|
.sp
|
@@ -430,24 +567,19 @@ groongaでは、多くの場合テーブルを作成する際に主キーが必
|
|
430
567
|
.sp
|
431
568
|
.nf
|
432
569
|
.ft C
|
433
|
-
>
|
434
|
-
[[0,
|
435
|
-
> load \-\-table Site
|
436
|
-
> [{"_key":"http://example.org/","links":["http://example.net/","http://example.org/","http://example.com/"]}]
|
437
|
-
[[0,1317212794.00274,0.200473621],1]
|
438
|
-
> select \-\-table Site \-\-output_columns _key,title,links._key,links.title \-\-query title:@this
|
439
|
-
[[0,1317212794.40349,0.000384272],[[[1],[["_key","ShortText"],["title","ShortText"],["links._key","ShortText"],["links.title","ShortText"]],["http://example.org/","This is test record 1!",["http://example.net/","http://example.org/","http://example.com/"],["test record 2.","This is test record 1!","test test record three."]]]]]
|
570
|
+
> select \-\-table Site
|
571
|
+
[[0,1322616280.82196,0.000451873],[[[0],[["_id","UInt32"],["_key","ShortText"]]]]]
|
440
572
|
.ft P
|
441
573
|
.fi
|
442
574
|
.sp
|
443
|
-
select
|
575
|
+
selectにテーブル名のみを指定すると、指定したテーブルの中身を10件まで表示します。実行結果の[0]はテーブルに含まれるレコードの数を示しています。今回は何も登録されていないため0件です。レコード数の次に表示されている配列はテーブルの構成を示しています。["_id","Uint32"]はUInt32型の値を持つ\(aq_id\(aqという名前のカラム、["_key","ShortText"]はShortText型の値を持つ\(aq_key\(aqという名前のカラムをそれぞれ表しています。
|
444
576
|
.sp
|
445
|
-
table_createコマンドで作成したテーブルには、最初から\(aq_id\(aq
|
577
|
+
table_createコマンドで作成したテーブルには、最初から\(aq_id\(aq, \(aq_key\(aqという2つのカラムがあります。\(aq_id\(aqはgroongaが自動的に付与するID番号が格納されるカラムです。\(aq_key\(aqは主キーが格納されるカラムです。これらのカラム名を変更することはできません。
|
446
578
|
.SS カラムの作成
|
447
579
|
.sp
|
448
580
|
\fB/commands/column_create\fP コマンドを用いて、カラムを作成することができます。
|
449
581
|
.sp
|
450
|
-
ShortText
|
582
|
+
ここでは、ShortText型の値を持つ\(aqtitle\(aqという名前のカラムを\(aqSite\(aqテーブルに追加してみましょう。
|
451
583
|
.sp
|
452
584
|
実行例:
|
453
585
|
.sp
|
@@ -460,12 +592,14 @@ ShortText型の値を持つ、\(aqcomment\(aqという名前のカラムを\(aqS
|
|
460
592
|
.ft P
|
461
593
|
.fi
|
462
594
|
.sp
|
463
|
-
COLUMN_SCALAR
|
595
|
+
COLUMN_SCALAR は\(aqcomment\(aqを通常のカラムとして作成することを指示しています。
|
464
596
|
.SS 全文検索用の語彙表の作成
|
465
597
|
.sp
|
466
|
-
|
598
|
+
そろそろ全文検索の使い方について見ていきましょう。
|
599
|
+
.sp
|
600
|
+
groongaでは転置インデックスを使って高速な全文検索を実現しています。そのため、まずは転置インデックスとして用いるテーブルを作成する必要があります。テーブルの内容は、文書に含まれる単語やN\-gramなどの索引語を主キーとして、各カラムに索引語の位置情報を格納するという構成になります。結果として、主キーのカラムは全文検索における語彙表の役割を果たします。
|
467
601
|
.sp
|
468
|
-
|
602
|
+
以下の例では、\(aqTerms\(aqという名前のテーブルを転置インデックスとして作成しています。索引語を格納するため、主キーの型はShortTextです。
|
469
603
|
.sp
|
470
604
|
実行例:
|
471
605
|
.sp
|
@@ -478,10 +612,12 @@ COLUMN_SCALARについては、通常のカラムであることを示してい
|
|
478
612
|
.sp
|
479
613
|
この実行例には、多くのパラメータが指定されています。本チュートリアルでは、これらをすべて理解する必要はありません。以下に簡単な説明を記しますが、読み飛ばしてもらってかまいません。
|
480
614
|
.sp
|
481
|
-
|
615
|
+
実行例にあるTABLE_PAT_KEY|KEY_NORMALIZEという値は、主キー値をパトリシア木に格納することと、各索引語を正規化して登録することを示しています。また、default_tokenizerというパラメータには、検索の対象となる文書をトークナイズする方式を与えるようになっています。この例では、一般的にN\-gramと呼ばれるインデックス方式に対応するTokenBigramを指定しています。
|
482
616
|
.SS 全文検索用のインデックスカラムの作成
|
483
617
|
.sp
|
484
|
-
|
618
|
+
次に必要なのは、インデックス型のカラムを作成することです。このカラムは、関連付けられたカラムに対する全文検索に利用されます。つまり、全文検索を行いたいカラムに対してインデックスを作成することに相当します。
|
619
|
+
.sp
|
620
|
+
それでは、Siteテーブルのtitleカラムを全文検索の対象とするべく、インデックス型のカラムを作成してみましょう。
|
485
621
|
.sp
|
486
622
|
実行例:
|
487
623
|
.sp
|
@@ -492,10 +628,12 @@ Siteテーブルのtitleカラムを全文検索の対象としたいとしま
|
|
492
628
|
.ft P
|
493
629
|
.fi
|
494
630
|
.sp
|
495
|
-
Siteテーブルのtitleカラムを検索対象とする、\(aqblog_title\(aqという名前のインデックス型カラムをTermsテーブルに作成しました。インデックス対象となるテーブルをtypeに、インデックス対象となるカラムをsourceに指定します。実行例のflagsのCOLUMN_INDEX|WITH_POSITION
|
631
|
+
Siteテーブルのtitleカラムを検索対象とする、\(aqblog_title\(aqという名前のインデックス型カラムをTermsテーブルに作成しました。インデックス対象となるテーブルをtypeに、インデックス対象となるカラムをsourceに指定します。実行例のflagsのCOLUMN_INDEX|WITH_POSITIONという値は、索引語の位置情報を格納するインデックス型のカラムであることを示しています。通常の全文検索インデックスでは、COLUMN_INDEX|WITH_POSITIONを指定してください。索引語の位置情報を格納する意味については、本チュートリアルでは触れません。
|
496
632
|
.SS データのロード
|
497
633
|
.sp
|
498
|
-
\fB/commands/load\fP コマンドを使用します。loadコマンドでは、json
|
634
|
+
\fB/commands/load\fP コマンドを使用します。loadコマンドでは、json形式で受け取ったデータをテーブルに格納します。
|
635
|
+
.sp
|
636
|
+
以下の例では9つのレコードをSiteテーブルに格納します。
|
499
637
|
.sp
|
500
638
|
実行例:
|
501
639
|
.sp
|
@@ -529,7 +667,7 @@ selectコマンドで、データが入っていることを確認しましょ
|
|
529
667
|
.fi
|
530
668
|
.SS データの検索
|
531
669
|
.sp
|
532
|
-
|
670
|
+
データの準備もできたので全文検索を試してみたいところですが、その前に、\(aq_id\(aqカラムと\(aq_key\(aqカラムを用いた検索を行ってみましょう。これらのカラムは値を指定すればレコードが一意に決まります。
|
533
671
|
.sp
|
534
672
|
selectコマンドにおいて、queryパラメータを用いるとデータの検索を行うことができます。
|
535
673
|
.sp
|
@@ -569,13 +707,9 @@ queryパラメータでは、インデックスを用いた全文検索を行う
|
|
569
707
|
.ft P
|
570
708
|
.fi
|
571
709
|
.sp
|
572
|
-
title
|
710
|
+
queryパラメータに与えた「title:@this」は、\(aqtitle\(aqという名前のカラムに\(aqthis\(aqという文字列が含まれているレコードを検索する、という意味を持ちます。この例では1つのレコードが検索条件に該当しています。転置インデックスを作成するときにKEY_NORMALIZEという値を指定したため、大文字と小文字の違いが吸収されていることに注意してください。
|
573
711
|
.sp
|
574
|
-
|
575
|
-
.sp
|
576
|
-
selectコマンドには、match_columnsというパラメータが存在します。
|
577
|
-
.sp
|
578
|
-
これを指定すると、query内にカラム名を指定しない条件があった場合、match_columnsで指定されたカラムに対しての検索であることを示します。[1]_
|
712
|
+
selectコマンドには、match_columnsというパラメータが存在します。このパラメータはデフォルトで検索対象にするカラムを指定するもので、カラム名を指定しない検索条件にのみ適用されます。[1]_
|
579
713
|
.sp
|
580
714
|
match_columnsパラメータに\(aqtitle\(aq、queryパラメータに\(aqthis\(aqという文字列を指定すると、上記のクエリと同じ結果を得ることができます。
|
581
715
|
.sp
|
@@ -589,9 +723,7 @@ match_columnsパラメータに\(aqtitle\(aq、queryパラメータに\(aqthis\(
|
|
589
723
|
.fi
|
590
724
|
.SS 出力カラムの指定
|
591
725
|
.sp
|
592
|
-
selectコマンドにおいて、output_columns
|
593
|
-
.sp
|
594
|
-
複数のカラムを指定する場合は、カンマ(,)区切りで指定します。
|
726
|
+
selectコマンドにおいて、output_columnsパラメータを用いることで、検索結果に含めるカラムを指定することができます。複数のカラムを指定する場合は、カンマ(,)区切りで指定します。
|
595
727
|
.sp
|
596
728
|
実行例:
|
597
729
|
.sp
|
@@ -602,14 +734,12 @@ selectコマンドにおいて、output_columnsパラメータを用いること
|
|
602
734
|
.ft P
|
603
735
|
.fi
|
604
736
|
.sp
|
605
|
-
groonga
|
737
|
+
この例では、「_score」という名前のカラムを含む3つのカラムを指定しています。「_score」という名前のカラムはgroongaの検索結果に含まれるカラムです。このカラムには、全文検索の条件に合致する文書ほど高い数値が入ります。
|
606
738
|
.SS 表示範囲指定
|
607
739
|
.sp
|
608
|
-
selectコマンドにおいて、offset,limit
|
740
|
+
selectコマンドにおいて、offset,limitパラメータを用いることで、検索結果から指定された範囲のみを表示することができます。大量の検索結果をページで分けて、1ページ分のみを表示したい場合に有用です。
|
609
741
|
.sp
|
610
|
-
offsetパラメータには、検索結果を返す始点を指定します。1件目から結果を返す場合には、0を指定します。
|
611
|
-
.sp
|
612
|
-
limitパラメータには、検索結果を何件表示するのかを指定します。
|
742
|
+
offsetパラメータには、検索結果を返す始点を指定します。1件目から結果を返す場合には、0を指定します。limitパラメータには、検索結果の表示件数を指定します。
|
613
743
|
.sp
|
614
744
|
実行例:
|
615
745
|
.sp
|
@@ -625,9 +755,9 @@ limitパラメータには、検索結果を何件表示するのかを指定し
|
|
625
755
|
.fi
|
626
756
|
.SS 並び替え
|
627
757
|
.sp
|
628
|
-
selectコマンドにおいて、sortby
|
758
|
+
selectコマンドにおいて、sortbyパラメータを用いることで、検索結果を並び替えることができます。
|
629
759
|
.sp
|
630
|
-
sortby
|
760
|
+
sortbyパラメータにカラム名を指定することで、そのカラムの値で昇順にソートします。また、カラム名の前にハイフン(\-)を付けることで、降順にソートすることもできます。
|
631
761
|
.sp
|
632
762
|
実行例:
|
633
763
|
.sp
|
@@ -747,7 +877,7 @@ protocolオプションで、groongaが受け付けるプロトコルを指定
|
|
747
877
|
コマンド実行後、http://[IPアドレスまたはホスト名]:[ポート番号]/ というURLにブラウザからアクセスすると、HTML管理ツールが表示されます。ブラウザは、JavaScriptの実行が有効になっている必要があります。
|
748
878
|
.SS HTTPでのコマンド実行
|
749
879
|
.sp
|
750
|
-
groongaがHTTPプロトコルモードで起動されているとき、「/d/コマンド名」というURL
|
880
|
+
groongaがHTTPプロトコルモードで起動されているとき、「/d/コマンド名」というURLにアクセスすると、コマンドを実行することができます。
|
751
881
|
.sp
|
752
882
|
コマンドのオプションは、HTTPのGETパラメータで渡します。つまり、「?オプション=値&オプション=値 …」という書式になります。
|
753
883
|
.sp
|
@@ -785,20 +915,20 @@ groongaでは、数値(整数・小数)や文字列や時刻や経緯度な
|
|
785
915
|
.nf
|
786
916
|
.ft C
|
787
917
|
> table_create \-\-name Type \-\-flags TABLE_HASH_KEY \-\-key_type ShortText
|
788
|
-
[[0,
|
918
|
+
[[0,1322616293.7274,0.012551106],true]
|
789
919
|
> column_create \-\-table Type \-\-name number \-\-type Int32
|
790
|
-
[[0,
|
920
|
+
[[0,1322616293.94115,0.008619605],true]
|
791
921
|
> column_create \-\-table Type \-\-name float \-\-type Float
|
792
|
-
[[0,
|
922
|
+
[[0,1322616294.15095,0.004959989],true]
|
793
923
|
> column_create \-\-table Type \-\-name string \-\-type ShortText
|
794
|
-
[[0,
|
924
|
+
[[0,1322616294.35693,0.005551818],true]
|
795
925
|
> column_create \-\-table Type \-\-name time \-\-type Time
|
796
|
-
[[0,
|
926
|
+
[[0,1322616294.56333,0.006356953],true]
|
797
927
|
> load \-\-table Type
|
798
928
|
> [{"_key":"sample","number":12345,"float":42.195,"string":"GROONGA","time":1234567890.12}]
|
799
|
-
[[0,
|
929
|
+
[[0,1322616294.77086,0.202357708],1]
|
800
930
|
> select \-\-table Type
|
801
|
-
[[0,
|
931
|
+
[[0,1322616295.1744,0.000340057],[[[1],[["_id","UInt32"],["_key","ShortText"],["float","Float"],["number","Int32"],["string","ShortText"],["time","Time"]],[1,"sample",42.195,12345,"GROONGA",1234567890.12]]]]
|
802
932
|
.ft P
|
803
933
|
.fi
|
804
934
|
.SS テーブル型
|
@@ -816,12 +946,12 @@ table_createで作成したテーブルを、カラムの型として使うこ
|
|
816
946
|
.nf
|
817
947
|
.ft C
|
818
948
|
> column_create \-\-table Site \-\-name link \-\-type Site
|
819
|
-
[[0,
|
949
|
+
[[0,1322616295.37864,0.005674045],true]
|
820
950
|
> load \-\-table Site
|
821
951
|
> [{"_key":"http://example.org/","link":"http://example.net/"}]
|
822
|
-
[[0,
|
952
|
+
[[0,1322616295.5854,0.200879317],1]
|
823
953
|
> select \-\-table Site \-\-output_columns _key,title,link._key,link.title \-\-query title:@this
|
824
|
-
[[0,
|
954
|
+
[[0,1322616295.98732,0.000872177],[[[1],[["_key","ShortText"],["title","ShortText"],["link._key","ShortText"],["link.title","ShortText"]],["http://example.org/","This is test record 1!","http://example.net/","test record 2."]]]]
|
825
955
|
.ft P
|
826
956
|
.fi
|
827
957
|
.sp
|
@@ -841,12 +971,12 @@ column_createコマンドでカラムを作成するとき、\-\-flagsオプシ
|
|
841
971
|
.nf
|
842
972
|
.ft C
|
843
973
|
> column_create \-\-table Site \-\-name links \-\-flags COLUMN_VECTOR \-\-type Site
|
844
|
-
[[0,
|
974
|
+
[[0,1322616296.19238,0.007598942],true]
|
845
975
|
> load \-\-table Site
|
846
976
|
> [{"_key":"http://example.org/","links":["http://example.net/","http://example.org/","http://example.com/"]}]
|
847
|
-
[[0,
|
977
|
+
[[0,1322616296.40092,0.201036234],1]
|
848
978
|
> select \-\-table Site \-\-output_columns _key,title,links._key,links.title \-\-query title:@this
|
849
|
-
[[0,
|
979
|
+
[[0,1322616296.80305,0.000899975],[[[1],[["_key","ShortText"],["title","ShortText"],["links._key","ShortText"],["links.title","ShortText"]],["http://example.org/","This is test record 1!",["http://example.net/","http://example.org/","http://example.com/"],["test record 2.","This is test record 1!","test test record three."]]]]]
|
850
980
|
.ft P
|
851
981
|
.fi
|
852
982
|
.sp
|
@@ -1805,6 +1935,8 @@ groongaでは、 \fB/commands/select\fP コマンドにquery_expansionパラメ
|
|
1805
1935
|
.sp
|
1806
1936
|
クエリ拡張機能を使用するためには、検索対象となる文書を格納するテーブル(ここでは文書テーブルと呼びます)以外に、ユーザの指定した検索文字列を置換するためのテーブル(ここでは置換テーブルと呼びます)を準備します。置換テーブルでは、その主キーが置換前の文字列となり、文字列型(ShortText)のカラムの値が置換後の文字列となります。
|
1807
1937
|
.sp
|
1938
|
+
TODO: 文字列型のベクターカラムでも可能であり、その場合は各要素をORでつなげたものに置換されるということを記述する。
|
1939
|
+
.sp
|
1808
1940
|
実際に文書テーブルと置換テーブルを作成してみましょう。
|
1809
1941
|
.sp
|
1810
1942
|
実行例:
|
@@ -1869,9 +2001,6 @@ groongaでは、 \fB/commands/select\fP コマンドにquery_expansionパラメ
|
|
1869
2001
|
.sp
|
1870
2002
|
どちらのクエリ文字列も、"(シークァーサー OR シークヮーサー)"という文字列に置換されてから検索されるため、表記の揺れを吸収して検索できるようになりました。
|
1871
2003
|
.SH サジェスト
|
1872
|
-
.IP ノート
|
1873
|
-
サジェスト機能の仕様はまだ確定していません。仕様は変更される可能性があります。
|
1874
|
-
.RE
|
1875
2004
|
.sp
|
1876
2005
|
groongaにはサジェスト機能があります。このセクションではこの機能の使い方とどのように動作しているかを説明します。
|
1877
2006
|
.SS はじめに
|
@@ -2584,7 +2713,7 @@ groongaは位置情報データのうち座標データのみサポートして
|
|
2584
2713
|
.sp
|
2585
2714
|
以下の図はレコードのみがある図です。黒い点がレコードを表しています。以降の図ではレコードがどのように扱われるかを示します。
|
2586
2715
|
[image: only records]
|
2587
|
-
[
|
2716
|
+
[画像]
|
2588
2717
|
.sp
|
2589
2718
|
執筆中。。。 ( \fI\%下書き\fP )
|
2590
2719
|
.SH リファレンスマニュアル
|
@@ -3313,6 +3442,198 @@ TODO
|
|
3313
3442
|
\fB/suggest\fP
|
3314
3443
|
.. : doc:\fIgroonga\-suggest\-httpd\fP
|
3315
3444
|
.. : doc:\fIgroonga\-suggest\-learner\fP
|
3445
|
+
.SS 出力
|
3446
|
+
.sp
|
3447
|
+
groongaは以下の出力形式をサポートしています。
|
3448
|
+
.INDENT 0.0
|
3449
|
+
.INDENT 3.5
|
3450
|
+
.INDENT 0.0
|
3451
|
+
.IP \(bu 2
|
3452
|
+
\fI\%JSON\fP
|
3453
|
+
.IP \(bu 2
|
3454
|
+
\fI\%XML\fP
|
3455
|
+
.IP \(bu 2
|
3456
|
+
TSV(タブ区切り形式)
|
3457
|
+
.IP \(bu 2
|
3458
|
+
\fI\%MessagePack\fP
|
3459
|
+
.UNINDENT
|
3460
|
+
.UNINDENT
|
3461
|
+
.UNINDENT
|
3462
|
+
.sp
|
3463
|
+
JSONがデフォルトの出力形式です。
|
3464
|
+
.SS 使い方
|
3465
|
+
.sp
|
3466
|
+
groongaには以下のクエリインターフェイスがあります。
|
3467
|
+
.INDENT 0.0
|
3468
|
+
.INDENT 3.5
|
3469
|
+
.INDENT 0.0
|
3470
|
+
.IP \(bu 2
|
3471
|
+
コマンドライン
|
3472
|
+
.IP \(bu 2
|
3473
|
+
HTTP
|
3474
|
+
.UNINDENT
|
3475
|
+
.UNINDENT
|
3476
|
+
.UNINDENT
|
3477
|
+
.sp
|
3478
|
+
それぞれのインターフェイスで出力形式を変更する方法は異なります。
|
3479
|
+
.SS コマンドライン
|
3480
|
+
.sp
|
3481
|
+
\fBgroonga DB_PATH\fP または \fBgroonga \-c\fP でコマンドラインクエリインターフェイスを使うことができます。これらのgroongaコマンドでは \fB> \(ga\(ga というプロンプトが表示されます。クエリインターフェイスでは \(ga\(gaoutput_type\fP オプションで出力形式を指定できます。
|
3482
|
+
.sp
|
3483
|
+
\fBoutput_type\fP オプションを指定しない場合はJSON形式の出力になります:
|
3484
|
+
.sp
|
3485
|
+
.nf
|
3486
|
+
.ft C
|
3487
|
+
> status
|
3488
|
+
[[0,1327721628.10738,0.000131845474243164],{"alloc_count":142,"starttime":1327721626,"uptime":2,"version":"1.2.9\-92\-gb87d9f8","n_queries":0,"cache_hit_rate":0.0,"command_version":1,"default_command_version":1,"max_command_version":2}]
|
3489
|
+
.ft P
|
3490
|
+
.fi
|
3491
|
+
.sp
|
3492
|
+
明示的に \fBoutput_type\fP に \fBjson\fP を指定することもできます。この場合はJSON形式の出力になります:
|
3493
|
+
.sp
|
3494
|
+
.nf
|
3495
|
+
.ft C
|
3496
|
+
> status \-\-output_type json
|
3497
|
+
[[0,1327721639.08321,7.93933868408203e\-05],{"alloc_count":144,"starttime":1327721626,"uptime":13,"version":"1.2.9\-92\-gb87d9f8","n_queries":0,"cache_hit_rate":0.0,"command_version":1,"default_command_version":1,"max_command_version":2}]
|
3498
|
+
.ft P
|
3499
|
+
.fi
|
3500
|
+
.sp
|
3501
|
+
XML形式の出力にする場合は \fBoutput_type\fP に \fBxml\fP を指定します:
|
3502
|
+
.sp
|
3503
|
+
.nf
|
3504
|
+
.ft C
|
3505
|
+
> status \-\-output_type xml
|
3506
|
+
<?xml version="1.0" encoding="utf\-8"?>
|
3507
|
+
<RESULT CODE="0" UP="1327721649.61095" ELAPSED="0.000126361846923828">
|
3508
|
+
<RESULT>
|
3509
|
+
<TEXT>alloc_count</TEXT>
|
3510
|
+
<INT>146</INT>
|
3511
|
+
<TEXT>starttime</TEXT>
|
3512
|
+
<INT>1327721626</INT>
|
3513
|
+
<TEXT>uptime</TEXT>
|
3514
|
+
<INT>23</INT>
|
3515
|
+
<TEXT>version</TEXT>
|
3516
|
+
<TEXT>1.2.9\-92\-gb87d9f8</TEXT>
|
3517
|
+
<TEXT>n_queries</TEXT>
|
3518
|
+
<INT>0</INT>
|
3519
|
+
<TEXT>cache_hit_rate</TEXT>
|
3520
|
+
<FLOAT>0.0</FLOAT>
|
3521
|
+
<TEXT>command_version</TEXT>
|
3522
|
+
<INT>1</INT>
|
3523
|
+
<TEXT>default_command_version</TEXT>
|
3524
|
+
<INT>1</INT>
|
3525
|
+
<TEXT>max_command_version</TEXT>
|
3526
|
+
<INT>2</INT></RESULT>
|
3527
|
+
</RESULT>
|
3528
|
+
.ft P
|
3529
|
+
.fi
|
3530
|
+
.sp
|
3531
|
+
TSV形式の出力にする場合は \fBoutput_type\fP に \fBtsv\fP を指定します::<
|
3532
|
+
.sp
|
3533
|
+
.nf
|
3534
|
+
.ft C
|
3535
|
+
> status \-\-output_type tsv
|
3536
|
+
0 1327721664.82675 0.000113964080810547
|
3537
|
+
"alloc_count" 146
|
3538
|
+
"starttime" 1327721626
|
3539
|
+
"uptime" 38
|
3540
|
+
"version" "1.2.9\-92\-gb87d9f8"
|
3541
|
+
"n_queries" 0
|
3542
|
+
"cache_hit_rate" 0.0
|
3543
|
+
"command_version" 1
|
3544
|
+
"default_command_version" 1
|
3545
|
+
"max_command_version" 2
|
3546
|
+
END
|
3547
|
+
.ft P
|
3548
|
+
.fi
|
3549
|
+
.sp
|
3550
|
+
MessagePack形式の出力にする場合は \fBoutput_type\fP に \fBmsgpack\fP を指定します::<
|
3551
|
+
.sp
|
3552
|
+
.nf
|
3553
|
+
.ft C
|
3554
|
+
> status \-\-output_type msgpack
|
3555
|
+
(... omitted because MessagePack is binary data format. ...)
|
3556
|
+
.ft P
|
3557
|
+
.fi
|
3558
|
+
.SS HTTP
|
3559
|
+
.sp
|
3560
|
+
\fBgroonga \-\-protocol http \-s DB_PATH\fP でHTTPクエリインターフェイスを使うことができます。groonga HTTPサーバーはデフォルトで10041番ポートで起動します。このクエリインターフェイスでは拡張子で出力形式を指定します。
|
3561
|
+
.sp
|
3562
|
+
拡張子を指定しない場合はJSON形式の出力になります:
|
3563
|
+
.sp
|
3564
|
+
.nf
|
3565
|
+
.ft C
|
3566
|
+
% curl http://localhost:10041/d/status
|
3567
|
+
[[0,1327809294.54311,0.00082087516784668],{"alloc_count":155,"starttime":1327809282,"uptime":12,"version":"1.2.9\-92\-gb87d9f8","n_queries":0,"cache_hit_rate":0.0,"command_version":1,"default_command_version":1,"max_command_version":2}]
|
3568
|
+
.ft P
|
3569
|
+
.fi
|
3570
|
+
.sp
|
3571
|
+
明示的に \fBjson\fP 拡張子を指定することもできます。この場合はJSON形式の出力になります:
|
3572
|
+
.sp
|
3573
|
+
.nf
|
3574
|
+
.ft C
|
3575
|
+
% curl http://localhost:10041/d/status.json
|
3576
|
+
[[0,1327809319.01929,9.5367431640625e\-05],{"alloc_count":157,"starttime":1327809282,"uptime":37,"version":"1.2.9\-92\-gb87d9f8","n_queries":0,"cache_hit_rate":0.0,"command_version":1,"default_command_version":1,"max_command_version":2}]
|
3577
|
+
.ft P
|
3578
|
+
.fi
|
3579
|
+
.sp
|
3580
|
+
XML形式の出力にする場合は \fBxml\fP 拡張子を指定します:
|
3581
|
+
.sp
|
3582
|
+
.nf
|
3583
|
+
.ft C
|
3584
|
+
% curl http://localhost:10041/d/status.xml
|
3585
|
+
<?xml version="1.0" encoding="utf\-8"?>
|
3586
|
+
<RESULT CODE="0" UP="1327809339.5782" ELAPSED="9.56058502197266e\-05">
|
3587
|
+
<RESULT>
|
3588
|
+
<TEXT>alloc_count</TEXT>
|
3589
|
+
<INT>159</INT>
|
3590
|
+
<TEXT>starttime</TEXT>
|
3591
|
+
<INT>1327809282</INT>
|
3592
|
+
<TEXT>uptime</TEXT>
|
3593
|
+
<INT>57</INT>
|
3594
|
+
<TEXT>version</TEXT>
|
3595
|
+
<TEXT>1.2.9\-92\-gb87d9f8</TEXT>
|
3596
|
+
<TEXT>n_queries</TEXT>
|
3597
|
+
<INT>0</INT>
|
3598
|
+
<TEXT>cache_hit_rate</TEXT>
|
3599
|
+
<FLOAT>0.0</FLOAT>
|
3600
|
+
<TEXT>command_version</TEXT>
|
3601
|
+
<INT>1</INT>
|
3602
|
+
<TEXT>default_command_version</TEXT>
|
3603
|
+
<INT>1</INT>
|
3604
|
+
<TEXT>max_command_version</TEXT>
|
3605
|
+
<INT>2</INT></RESULT>
|
3606
|
+
</RESULT>
|
3607
|
+
.ft P
|
3608
|
+
.fi
|
3609
|
+
.sp
|
3610
|
+
TSV形式の出力にする場合は \fBtsv\fP 拡張子を指定します:
|
3611
|
+
.sp
|
3612
|
+
.nf
|
3613
|
+
.ft C
|
3614
|
+
% curl http://localhost:10041/d/status.tsv
|
3615
|
+
0 1327809366.84187 8.44001770019531e\-05
|
3616
|
+
"alloc_count" 159
|
3617
|
+
"starttime" 1327809282
|
3618
|
+
"uptime" 84
|
3619
|
+
"version" "1.2.9\-92\-gb87d9f8"
|
3620
|
+
"n_queries" 0
|
3621
|
+
"cache_hit_rate" 0.0
|
3622
|
+
"command_version" 1
|
3623
|
+
"default_command_version" 1
|
3624
|
+
"max_command_version" 2
|
3625
|
+
END
|
3626
|
+
.ft P
|
3627
|
+
.fi
|
3628
|
+
.sp
|
3629
|
+
MessagePack形式の出力にする場合は \fBmsgpack\fP 拡張子を指定します:
|
3630
|
+
.sp
|
3631
|
+
.nf
|
3632
|
+
.ft C
|
3633
|
+
% curl http://localhost:10041/d/status.msgpack
|
3634
|
+
(... omitted because MessagePack is binary data format. ...)
|
3635
|
+
.ft P
|
3636
|
+
.fi
|
3316
3637
|
.SS コマンド
|
3317
3638
|
.sp
|
3318
3639
|
まず、すべてのコマンドに関係するコマンドバージョンについて説明します。その後、組み込みのコマンドを順に説明します。
|
@@ -4166,7 +4487,7 @@ delete \- 一件のレコードの削除
|
|
4166
4487
|
.sp
|
4167
4488
|
.nf
|
4168
4489
|
.ft C
|
4169
|
-
delete table [key [id]]
|
4490
|
+
delete table [key [id [filter]]]
|
4170
4491
|
.ft P
|
4171
4492
|
.fi
|
4172
4493
|
.SS 説明
|
@@ -4197,6 +4518,13 @@ deleteは、使用しているデータベースのテーブルに1件のレコ
|
|
4197
4518
|
.UNINDENT
|
4198
4519
|
.UNINDENT
|
4199
4520
|
.sp
|
4521
|
+
\fBfilter\fP
|
4522
|
+
.INDENT 0.0
|
4523
|
+
.INDENT 3.5
|
4524
|
+
script形式のgrn_expr文字列によってレコードを指定します。filterパラメータを指定する場合は、id及びkeyパラメータを指定してはいけません。
|
4525
|
+
.UNINDENT
|
4526
|
+
.UNINDENT
|
4527
|
+
.sp
|
4200
4528
|
返値
|
4201
4529
|
\-\-\-
|
4202
4530
|
.SS json形式
|
@@ -5437,10 +5765,13 @@ table_createコマンドは、使用しているデータベースに対して
|
|
5437
5765
|
.INDENT 0.0
|
5438
5766
|
.TP
|
5439
5767
|
.B 0, \fBTABLE_HASH_KEY\fP
|
5440
|
-
|
5768
|
+
主キー値をハッシュ表で管理するテーブルを作成します。ハッシュ表を使用したテーブルでは、主キー値に完全一致するレコードを非常に高速に検索することができます。
|
5441
5769
|
.TP
|
5442
5770
|
.B 1, \fBTABLE_PAT_KEY\fP
|
5443
|
-
|
5771
|
+
主キー値をパトリシア木で管理するテーブルを作成します。パトリシア木を使用したテーブルでは、主キー値に完全一致するレコードを検索することができるとともに、前方一致するレコード、および最長共通接頭辞となるレコードを高速に検索することができます。また、キー値の昇降順でレコードを取り出したり、キー値の範囲での検索を行うことができます。また、flagsの値に64を加えることによって、後方一致検索も可能となります。
|
5772
|
+
.TP
|
5773
|
+
.B 2, \fBTABLE_DAT_KEY\fP
|
5774
|
+
主キー値をダブル配列で管理するテーブルを作成します。ダブル配列を使用したテーブルでは、主キー値に完全一致するレコードを高速に検索することができるとともに、前方一致するレコード、および最長共通接頭辞となるレコードを検索することができます。また、キー値の昇降順でレコードを取り出したり、キー値の範囲での検索を行うことができます。
|
5444
5775
|
.TP
|
5445
5776
|
.B 3, \fBTABLE_NO_KEY\fP
|
5446
5777
|
主キーを持たないテーブルを作成します。各レコードはIDのみによって特定することができます。
|
@@ -5891,11 +6222,11 @@ ieee754形式の64bit浮動小数点数。
|
|
5891
6222
|
.SS テーブルの主キーに指定できない型
|
5892
6223
|
.sp
|
5893
6224
|
Text型とLongText型については、テーブルの主キーに指定することはできません。
|
5894
|
-
.SS
|
6225
|
+
.SS ベクターとして格納できない型
|
5895
6226
|
.sp
|
5896
|
-
groonga
|
6227
|
+
groongaのカラムは、ある型のベクターを保存することができます。しかし、ShortText, Text, LongTextの3つの型についてはベクターとして保存したり出力したりすることはできますが、検索条件やドリルダウン条件に指定することができません。
|
5897
6228
|
.sp
|
5898
|
-
|
6229
|
+
テーブル型は、ベクターとして格納することができます。よって、ShortTextのベクターを検索条件やドリルダウン条件に使用したい場合には、主キーがShortText型のテーブルを別途作成し、そのテーブルを型として利用します。
|
5899
6230
|
脚注
|
5900
6231
|
.IP [1] 5
|
5901
6232
|
Object型はv1.2でサポートされます。
|
@@ -6031,7 +6362,7 @@ geo_distance \- 指定した2点の距離を計算する
|
|
6031
6362
|
.sp
|
6032
6363
|
.nf
|
6033
6364
|
.ft C
|
6034
|
-
geo_distance(point1, point2)
|
6365
|
+
geo_distance(point1, point2[, approximate_type])
|
6035
6366
|
.ft P
|
6036
6367
|
.fi
|
6037
6368
|
.SS 説明
|
@@ -6039,7 +6370,14 @@ geo_distance(point1, point2)
|
|
6039
6370
|
groonga組込関数の一つであるgeo_distanceについて説明します。組込関数は、script形式のgrn_expr中で呼び出すことができます。
|
6040
6371
|
.sp
|
6041
6372
|
geo_distance() 関数は、point1に指定した座標とpoint2に指定した座標の間の距離(近似値)を求めます。
|
6042
|
-
|
6373
|
+
.sp
|
6374
|
+
... note:
|
6375
|
+
.sp
|
6376
|
+
.nf
|
6377
|
+
.ft C
|
6378
|
+
geo_distance()の他に、距離計算アルゴリズムの異なる、geo_distance2()、geo_distance3()がありましたが、1.2.9から非推奨になりました。 \(ga\(gageo_distance2()\(ga\(ga の代わりに \(ga\(gageo_distance(point1, point2, "sphere")\(ga\(ga を、 \(ga\(gageo_distance3()\(ga\(ga の代わりに \(ga\(gageo_distance(point1, point2, "ellipsoid")\(ga\(ga を使ってください。
|
6379
|
+
.ft P
|
6380
|
+
.fi
|
6043
6381
|
.SS 引数
|
6044
6382
|
.sp
|
6045
6383
|
\fBpoint1\fP
|
@@ -6055,6 +6393,42 @@ geo_distance()の他に、距離計算アルゴリズムの異なる、geo_dista
|
|
6055
6393
|
距離を求める2点のうちもう一つを指定します。GeoPoint型の値、あるいは座標を示す文字列を指定できます。
|
6056
6394
|
.UNINDENT
|
6057
6395
|
.UNINDENT
|
6396
|
+
.sp
|
6397
|
+
\fBapproximate_type\fP
|
6398
|
+
.INDENT 0.0
|
6399
|
+
.INDENT 3.5
|
6400
|
+
距離を求めるために地形をどのように近似するかを指定します。指定できる値は以下の通りです。
|
6401
|
+
.sp
|
6402
|
+
\fB"rectangle"\fP
|
6403
|
+
.INDENT 0.0
|
6404
|
+
.INDENT 3.5
|
6405
|
+
方形近似で近似します。単純な計算式で距離を求めることができるため高速ですが、極付近では誤差が大きくなります。
|
6406
|
+
.sp
|
6407
|
+
\fB"rect"\fP と省略して指定することもできます。
|
6408
|
+
.sp
|
6409
|
+
この近似方法がデフォルト値です。 \fBapproximate_type\fP を省略した場合は方形近似になります。
|
6410
|
+
.UNINDENT
|
6411
|
+
.UNINDENT
|
6412
|
+
.sp
|
6413
|
+
\fB"sphere"\fP
|
6414
|
+
.INDENT 0.0
|
6415
|
+
.INDENT 3.5
|
6416
|
+
球面近似で近似します。 \fB"rectangle"\fP よりも遅くなりますが、誤差は小さいです。
|
6417
|
+
.sp
|
6418
|
+
\fB"sphr"\fP と省略して指定することもできます。
|
6419
|
+
.UNINDENT
|
6420
|
+
.UNINDENT
|
6421
|
+
.sp
|
6422
|
+
\fB"ellipsoid"\fP
|
6423
|
+
.INDENT 0.0
|
6424
|
+
.INDENT 3.5
|
6425
|
+
楕円体近似で近似します。距離の計算にはヒュベニの距離計算式を用います。 \fB"sphere"\fP よりも遅くなりますが、誤差は小さくなります。
|
6426
|
+
.sp
|
6427
|
+
\fB"ellip"\fP と省略して指定することもできます。
|
6428
|
+
.UNINDENT
|
6429
|
+
.UNINDENT
|
6430
|
+
.UNINDENT
|
6431
|
+
.UNINDENT
|
6058
6432
|
.SS 返値
|
6059
6433
|
.sp
|
6060
6434
|
指定した2点の距離をFloat型の値(単位:メートル)として返します。
|
@@ -6063,7 +6437,19 @@ geo_distance()の他に、距離計算アルゴリズムの異なる、geo_dista
|
|
6063
6437
|
.nf
|
6064
6438
|
.ft C
|
6065
6439
|
geo_distance(pos, "150x150")
|
6066
|
-
100
|
6440
|
+
100.0
|
6441
|
+
|
6442
|
+
# 方形近似を利用
|
6443
|
+
geo_distance(pos, "150x150", "rectangle")
|
6444
|
+
100.0
|
6445
|
+
|
6446
|
+
# 球面近似を利用
|
6447
|
+
geo_distance(pos, "150x150", "sphere")
|
6448
|
+
100.0
|
6449
|
+
|
6450
|
+
# 楕円体近似を利用
|
6451
|
+
geo_distance(pos, "150x150", "ellipsoid")
|
6452
|
+
100.0
|
6067
6453
|
.ft P
|
6068
6454
|
.fi
|
6069
6455
|
脚注
|
@@ -6077,7 +6463,7 @@ geo_in_circle \- 座標が円の範囲内に存在するかどうかを調べま
|
|
6077
6463
|
.sp
|
6078
6464
|
.nf
|
6079
6465
|
.ft C
|
6080
|
-
geo_in_circle(point, center, radious_or_point)
|
6466
|
+
geo_in_circle(point, center, radious_or_point[, approximate_type])
|
6081
6467
|
.ft P
|
6082
6468
|
.fi
|
6083
6469
|
.SS 説明
|
@@ -6108,6 +6494,42 @@ geo_in_circle() 関数は、pointに指定した座標が、centerに指定し
|
|
6108
6494
|
Point型の値、あるいは座標を示す文字列を指定した場合は、円周上の点の一つの座標が指定されたものとみなします。
|
6109
6495
|
.UNINDENT
|
6110
6496
|
.UNINDENT
|
6497
|
+
.sp
|
6498
|
+
\fBapproximate_type\fP
|
6499
|
+
.INDENT 0.0
|
6500
|
+
.INDENT 3.5
|
6501
|
+
半径からの距離を求めるために地形をどのように近似するかを指定します。指定できる値は以下の通りです。
|
6502
|
+
.sp
|
6503
|
+
\fB"rectangle"\fP
|
6504
|
+
.INDENT 0.0
|
6505
|
+
.INDENT 3.5
|
6506
|
+
方形近似で近似します。単純な計算式で距離を求めることができるため高速ですが、極付近では誤差が大きくなります。
|
6507
|
+
.sp
|
6508
|
+
\fB"rect"\fP と省略して指定することもできます。
|
6509
|
+
.sp
|
6510
|
+
この近似方法がデフォルト値です。 \fBapproximate_type\fP を省略した場合は方形近似になります。
|
6511
|
+
.UNINDENT
|
6512
|
+
.UNINDENT
|
6513
|
+
.sp
|
6514
|
+
\fB"sphere"\fP
|
6515
|
+
.INDENT 0.0
|
6516
|
+
.INDENT 3.5
|
6517
|
+
球面近似で近似します。 \fB"rectangle"\fP よりも遅くなりますが、誤差は小さいです。
|
6518
|
+
.sp
|
6519
|
+
\fB"sphr"\fP と省略して指定することもできます。
|
6520
|
+
.UNINDENT
|
6521
|
+
.UNINDENT
|
6522
|
+
.sp
|
6523
|
+
\fB"ellipsoid"\fP
|
6524
|
+
.INDENT 0.0
|
6525
|
+
.INDENT 3.5
|
6526
|
+
楕円体近似で近似します。距離の計算にはヒュベニの距離計算式を用います。 \fB"sphere"\fP よりも遅くなりますが、誤差は小さくなります。
|
6527
|
+
.sp
|
6528
|
+
\fB"ellip"\fP と省略して指定することもできます。
|
6529
|
+
.UNINDENT
|
6530
|
+
.UNINDENT
|
6531
|
+
.UNINDENT
|
6532
|
+
.UNINDENT
|
6111
6533
|
.SS 返値
|
6112
6534
|
.sp
|
6113
6535
|
pointに指定した座標が円の範囲内にあるかどうかをBool型の値で返します。
|
@@ -6668,7 +7090,7 @@ groongaにはいくつか制限事項があります。
|
|
6668
7090
|
最大インデックスサイズ: 256GByte
|
6669
7091
|
.UNINDENT
|
6670
7092
|
.sp
|
6671
|
-
|
7093
|
+
実際には他の諸条件の制約により上記の値まで到達しない場合もあります。
|
6672
7094
|
.SH トラブルシューティング
|
6673
7095
|
.SS 同じ検索キーワードなのに全文検索結果が異なる
|
6674
7096
|
.sp
|
@@ -7462,7 +7884,7 @@ doc/locale/${LANGUAGE}/LC_MESSAGES/以下を.tar.gzや.zipなどでアーカイ
|
|
7462
7884
|
.SH AUTHOR
|
7463
7885
|
groonga project
|
7464
7886
|
.SH COPYRIGHT
|
7465
|
-
2009-
|
7887
|
+
2009-2012, Brazil, Inc
|
7466
7888
|
.\" Generated by docutils manpage writer.
|
7467
7889
|
.\"
|
7468
7890
|
.
|