rroonga 2.0.0-x86-mingw32 → 2.0.1-x86-mingw32
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +3 -2
- data/ext/groonga/rb-grn-expression.c +4 -3
- data/ext/groonga/rb-grn-object.c +13 -0
- data/ext/groonga/rb-grn-snippet.c +32 -126
- data/ext/groonga/rb-grn.h +14 -11
- data/lib/1.8/groonga.so +0 -0
- data/lib/1.9/groonga.so +0 -0
- data/rroonga-build.rb +1 -1
- data/vendor/local/bin/{grntest.exe → groonga-benchmark.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/libmsgpack-3.dll +0 -0
- data/vendor/local/bin/libmsgpackc-2.dll +0 -0
- data/vendor/local/bin/mecab.exe +0 -0
- data/vendor/local/include/groonga/groonga/plugin.h +1 -1
- data/vendor/local/include/groonga/groonga.h +10 -3
- 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/libmsgpack.a +0 -0
- data/vendor/local/lib/libmsgpack.dll.a +0 -0
- data/vendor/local/lib/libmsgpackc.a +0 -0
- data/vendor/local/lib/libmsgpackc.dll.a +0 -0
- data/vendor/local/lib/pkgconfig/groonga.pc +2 -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/commands/suggest.txt +19 -0
- data/vendor/local/share/doc/groonga/en/html/_sources/community.txt +2 -2
- data/vendor/local/share/doc/groonga/en/html/_sources/install.txt +72 -8
- data/vendor/local/share/doc/groonga/en/html/_sources/news.txt +45 -1
- data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/data.txt +112 -33
- data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/introduction.txt +109 -99
- data/vendor/local/share/doc/groonga/en/html/_sources/tutorial/network.txt +76 -40
- data/vendor/local/share/doc/groonga/en/html/_sources/type.txt +30 -21
- data/vendor/local/share/doc/groonga/en/html/_static/favicon.ico +0 -0
- data/vendor/local/share/doc/groonga/en/html/_static/groonga.css +309 -101
- data/vendor/local/share/doc/groonga/en/html/_static/jquery.js +4 -154
- data/vendor/local/share/doc/groonga/en/html/_static/logo.png +0 -0
- data/vendor/local/share/doc/groonga/en/html/_static/navigation-bar.png +0 -0
- data/vendor/local/share/doc/groonga/en/html/_static/underscore.js +29 -21
- data/vendor/local/share/doc/groonga/en/html/characteristic.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/command_version.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/commands/cache_limit.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/commands/check.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/commands/clearlock.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/commands/column_create.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/commands/column_list.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/commands/column_remove.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/commands/define_selector.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/commands/defrag.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/commands/delete.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/commands/dump.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/commands/load.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/commands/log_level.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/commands/log_put.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/commands/log_reopen.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/commands/quit.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/commands/select.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/commands/shutdown.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/commands/status.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/commands/suggest.html +21 -1
- data/vendor/local/share/doc/groonga/en/html/commands/table_create.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/commands/table_list.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/commands/table_remove.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/commands/view_add.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/commands.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/community.html +3 -3
- data/vendor/local/share/doc/groonga/en/html/contribution/development/com.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/contribution/development/document.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/contribution/development/query.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/contribution/development/test.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/contribution/development.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/contribution/documentation/c-api.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/contribution/documentation/i18n.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/contribution/documentation.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/contribution/report.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/contribution.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/executables/grnslap.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/executables/grntest.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/executables/groonga-http.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/executables/groonga-suggest-create-dataset.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/executables/groonga.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/executables.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/expr.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/functions/edit_distance.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/functions/geo_distance.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/functions/geo_in_circle.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/functions/geo_in_rectangle.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/functions/now.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/functions/rand.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/functions.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/genindex.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/geolocation_search.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/index.html +25 -18
- data/vendor/local/share/doc/groonga/en/html/indexing.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/install.html +59 -9
- data/vendor/local/share/doc/groonga/en/html/limitations.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/log.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/news/0.x.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/news/1.0.x.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/news/1.1.x.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/news/1.2.x.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/news/senna.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/news.html +66 -15
- data/vendor/local/share/doc/groonga/en/html/objects.inv +0 -0
- data/vendor/local/share/doc/groonga/en/html/output.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/pseudo_column.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/reference.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/search.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/searchindex.js +1 -1
- data/vendor/local/share/doc/groonga/en/html/spec/search.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/spec.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/suggest/completion.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/suggest/correction.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/suggest/introduction.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/suggest/suggestion.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/suggest/tutorial.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/suggest.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/troubleshooting/different_results_with_the_same_keyword.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/troubleshooting.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/tutorial/data.html +141 -53
- data/vendor/local/share/doc/groonga/en/html/tutorial/drilldown.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/tutorial/index.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/tutorial/introduction.html +112 -106
- data/vendor/local/share/doc/groonga/en/html/tutorial/lexicon.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/tutorial/match_columns.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/tutorial/micro_blog.html +2 -2
- data/vendor/local/share/doc/groonga/en/html/tutorial/network.html +92 -58
- data/vendor/local/share/doc/groonga/en/html/tutorial/patricia_trie.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/tutorial/query_expansion.html +1 -1
- data/vendor/local/share/doc/groonga/en/html/tutorial/search.html +5 -5
- data/vendor/local/share/doc/groonga/en/html/tutorial.html +21 -14
- data/vendor/local/share/doc/groonga/en/html/type.html +30 -22
- data/vendor/local/share/doc/groonga/ja/html/.buildinfo +1 -1
- data/vendor/local/share/doc/groonga/ja/html/_sources/commands/suggest.txt +19 -0
- data/vendor/local/share/doc/groonga/ja/html/_sources/community.txt +2 -2
- data/vendor/local/share/doc/groonga/ja/html/_sources/install.txt +72 -8
- data/vendor/local/share/doc/groonga/ja/html/_sources/news.txt +45 -1
- data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/data.txt +112 -33
- data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/introduction.txt +109 -99
- data/vendor/local/share/doc/groonga/ja/html/_sources/tutorial/network.txt +76 -40
- data/vendor/local/share/doc/groonga/ja/html/_sources/type.txt +30 -21
- data/vendor/local/share/doc/groonga/ja/html/_static/favicon.ico +0 -0
- data/vendor/local/share/doc/groonga/ja/html/_static/groonga.css +309 -101
- data/vendor/local/share/doc/groonga/ja/html/_static/jquery.js +4 -154
- data/vendor/local/share/doc/groonga/ja/html/_static/logo.png +0 -0
- data/vendor/local/share/doc/groonga/ja/html/_static/navigation-bar.png +0 -0
- data/vendor/local/share/doc/groonga/ja/html/_static/underscore.js +29 -21
- data/vendor/local/share/doc/groonga/ja/html/characteristic.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/command_version.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/commands/cache_limit.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/commands/check.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/commands/clearlock.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/commands/column_create.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/commands/column_list.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/commands/column_remove.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/commands/define_selector.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/commands/defrag.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/commands/delete.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/commands/dump.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/commands/load.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/commands/log_level.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/commands/log_put.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/commands/log_reopen.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/commands/quit.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/commands/select.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/commands/shutdown.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/commands/status.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/commands/suggest.html +19 -1
- data/vendor/local/share/doc/groonga/ja/html/commands/table_create.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/commands/table_list.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/commands/table_remove.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/commands/view_add.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/commands.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/community.html +3 -3
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/com.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/document.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/query.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/contribution/development/test.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/contribution/development.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/c-api.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/contribution/documentation/i18n.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/contribution/documentation.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/contribution/report.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/contribution.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/executables/grnslap.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/executables/grntest.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/executables/groonga-http.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/executables/groonga-suggest-create-dataset.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/executables/groonga.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/executables.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/expr.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/functions/edit_distance.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/functions/geo_distance.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/functions/geo_in_circle.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/functions/geo_in_rectangle.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/functions/now.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/functions/rand.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/functions.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/genindex.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/geolocation_search.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/index.html +25 -18
- data/vendor/local/share/doc/groonga/ja/html/indexing.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/install.html +72 -22
- data/vendor/local/share/doc/groonga/ja/html/limitations.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/log.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/news/0.x.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/news/1.0.x.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/news/1.1.x.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/news/1.2.x.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/news/senna.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/news.html +60 -14
- data/vendor/local/share/doc/groonga/ja/html/objects.inv +0 -0
- data/vendor/local/share/doc/groonga/ja/html/output.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/pseudo_column.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/reference.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/search.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/searchindex.js +1 -1
- data/vendor/local/share/doc/groonga/ja/html/spec/search.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/spec.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/suggest/completion.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/suggest/correction.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/suggest/introduction.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/suggest/suggestion.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/suggest/tutorial.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/suggest.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/troubleshooting/different_results_with_the_same_keyword.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/troubleshooting.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/tutorial/data.html +141 -53
- data/vendor/local/share/doc/groonga/ja/html/tutorial/drilldown.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/tutorial/index.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/tutorial/introduction.html +108 -102
- data/vendor/local/share/doc/groonga/ja/html/tutorial/lexicon.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/tutorial/match_columns.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/tutorial/micro_blog.html +2 -2
- data/vendor/local/share/doc/groonga/ja/html/tutorial/network.html +92 -55
- data/vendor/local/share/doc/groonga/ja/html/tutorial/patricia_trie.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/tutorial/query_expansion.html +1 -1
- data/vendor/local/share/doc/groonga/ja/html/tutorial/search.html +5 -5
- data/vendor/local/share/doc/groonga/ja/html/tutorial.html +21 -14
- data/vendor/local/share/doc/groonga/ja/html/type.html +30 -22
- data/vendor/local/share/doc/groonga/source/commands/suggest.txt +19 -0
- data/vendor/local/share/doc/groonga/source/community.txt +2 -2
- data/vendor/local/share/doc/groonga/source/example/tutorial/data-1.log +2 -15
- data/vendor/local/share/doc/groonga/source/example/tutorial/data-2.log +11 -7
- data/vendor/local/share/doc/groonga/source/example/tutorial/data-3.log +13 -7
- data/vendor/local/share/doc/groonga/source/example/tutorial/data-4.log +13 -0
- data/vendor/local/share/doc/groonga/source/example/tutorial/data-5.log +13 -0
- data/vendor/local/share/doc/groonga/source/example/tutorial/data-6.log +13 -0
- data/vendor/local/share/doc/groonga/source/example/tutorial/data-7.log +10 -0
- data/vendor/local/share/doc/groonga/source/example/tutorial/data-8.log +10 -0
- data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-1.log +0 -2
- data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-10.log +2 -2
- data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-11.log +2 -2
- data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-12.log +2 -2
- data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-13.log +2 -2
- data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-14.log +2 -6
- data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-15.log +6 -2
- data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-16.log +2 -2
- data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-17.log +2 -2
- data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-18.log +5 -0
- data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-2.log +3 -2
- data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-3.log +2 -2
- data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-4.log +1 -3
- data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-5.log +4 -2
- data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-6.log +13 -2
- data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-7.log +2 -13
- data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-8.log +2 -2
- data/vendor/local/share/doc/groonga/source/example/tutorial/introduction-9.log +2 -2
- data/vendor/local/share/doc/groonga/source/example/tutorial/network-1.log +1 -1
- data/vendor/local/share/doc/groonga/source/example/tutorial/network-3.log +6 -6
- data/vendor/local/share/doc/groonga/source/install.txt +72 -8
- data/vendor/local/share/doc/groonga/source/news.txt +45 -1
- data/vendor/local/share/doc/groonga/source/tutorial/data.txt +112 -33
- data/vendor/local/share/doc/groonga/source/tutorial/introduction.txt +109 -99
- data/vendor/local/share/doc/groonga/source/tutorial/network.txt +76 -40
- data/vendor/local/share/doc/groonga/source/type.txt +30 -21
- data/vendor/local/share/groonga/html/admin/css/admin.css +1 -1
- data/vendor/local/share/groonga/html/admin/favicon.ico +0 -0
- data/vendor/local/share/groonga/html/admin/favicon.png +0 -0
- data/vendor/local/share/groonga/html/admin/favicon.svg +107 -547
- data/vendor/local/share/groonga/html/admin/images/groonga.png +0 -0
- data/vendor/local/share/groonga/html/admin/index.html +1 -1
- data/vendor/local/share/groonga/images/logo/groonga-icon-foreground-white.png +0 -0
- data/vendor/local/share/groonga/images/logo/groonga-icon-foreground-white.svg +118 -0
- data/vendor/local/share/groonga/images/logo/groonga-icon-full-size.png +0 -0
- data/vendor/local/share/groonga/images/logo/groonga-icon-full-size.svg +97 -0
- data/vendor/local/share/groonga/images/logo/groonga-icon.png +0 -0
- data/vendor/local/share/groonga/images/logo/groonga-icon.svg +93 -0
- data/vendor/local/share/groonga/images/logo/groonga-logo-foreground-white.png +0 -0
- data/vendor/local/share/groonga/images/logo/groonga-logo-foreground-white.svg +108 -0
- data/vendor/local/share/groonga/images/logo/groonga-logo.png +0 -0
- data/vendor/local/share/groonga/images/logo/groonga-logo.svg +118 -0
- data/vendor/local/share/groonga/images/logo/groonga-powered-by-banner-bar-foreground-white.png +0 -0
- data/vendor/local/share/groonga/images/logo/groonga-powered-by-banner-bar-foreground-white.svg +170 -0
- data/vendor/local/share/groonga/images/logo/groonga-powered-by-banner-bar.png +0 -0
- data/vendor/local/share/groonga/images/logo/groonga-powered-by-banner-bar.svg +186 -0
- data/vendor/local/share/groonga/images/logo/groonga-powered-by-banner-foreground-white.png +0 -0
- data/vendor/local/share/groonga/images/logo/groonga-powered-by-banner-foreground-white.svg +183 -0
- data/vendor/local/share/groonga/images/logo/groonga-powered-by-banner-large.png +0 -0
- data/vendor/local/share/groonga/images/logo/groonga-powered-by-banner-large.svg +179 -0
- data/vendor/local/share/groonga/images/logo/groonga-powered-by-banner.png +0 -0
- data/vendor/local/share/groonga/images/logo/groonga-powered-by-banner.svg +201 -0
- data/vendor/local/share/groonga/images/logo/mroonga-icon-foreground-white.png +0 -0
- data/vendor/local/share/groonga/images/logo/mroonga-icon-foreground-white.svg +106 -0
- data/vendor/local/share/groonga/images/logo/mroonga-icon-full-size.png +0 -0
- data/vendor/local/share/groonga/images/logo/mroonga-icon-full-size.svg +97 -0
- data/vendor/local/share/groonga/images/logo/mroonga-icon.png +0 -0
- data/vendor/local/share/groonga/images/logo/mroonga-icon.svg +93 -0
- data/vendor/local/share/groonga/images/logo/mroonga-logo-foreground-white.png +0 -0
- data/vendor/local/share/groonga/images/logo/mroonga-logo-foreground-white.svg +122 -0
- data/vendor/local/share/groonga/images/logo/mroonga-logo.png +0 -0
- data/vendor/local/share/groonga/images/logo/mroonga-logo.svg +106 -0
- data/vendor/local/share/groonga/images/logo/nroonga-icon-foreground-white.png +0 -0
- data/vendor/local/share/groonga/images/logo/nroonga-icon-foreground-white.svg +106 -0
- data/vendor/local/share/groonga/images/logo/nroonga-icon-full-size.png +0 -0
- data/vendor/local/share/groonga/images/logo/nroonga-icon-full-size.svg +107 -0
- data/vendor/local/share/groonga/images/logo/nroonga-icon.png +0 -0
- data/vendor/local/share/groonga/images/logo/nroonga-icon.svg +93 -0
- data/vendor/local/share/groonga/images/logo/nroonga-logo-foreground-white.png +0 -0
- data/vendor/local/share/groonga/images/logo/nroonga-logo-foreground-white.svg +122 -0
- data/vendor/local/share/groonga/images/logo/nroonga-logo.png +0 -0
- data/vendor/local/share/groonga/images/logo/nroonga-logo.svg +117 -0
- data/vendor/local/share/groonga/images/logo/rroonga-icon-foreground-white.png +0 -0
- data/vendor/local/share/groonga/images/logo/rroonga-icon-foreground-white.svg +106 -0
- data/vendor/local/share/groonga/images/logo/rroonga-icon-full-size.png +0 -0
- data/vendor/local/share/groonga/images/logo/rroonga-icon-full-size.svg +107 -0
- data/vendor/local/share/groonga/images/logo/rroonga-icon.png +0 -0
- data/vendor/local/share/groonga/images/logo/rroonga-icon.svg +93 -0
- data/vendor/local/share/groonga/images/logo/rroonga-logo-foreground-white.png +0 -0
- data/vendor/local/share/groonga/images/logo/rroonga-logo-foreground-white.svg +122 -0
- data/vendor/local/share/groonga/images/logo/rroonga-logo.png +0 -0
- data/vendor/local/share/groonga/images/logo/rroonga-logo.svg +117 -0
- data/vendor/local/share/man/ja/man1/groonga.1 +510 -214
- data/vendor/local/share/man/man1/groonga.1 +510 -211
- metadata +62 -15
- data/vendor/local/bin/groonga-query-log-analyzer +0 -1419
- data/vendor/local/share/doc/groonga/en/html/_static/default.css +0 -278
- data/vendor/local/share/doc/groonga/en/html/_static/footer-bar.png +0 -0
- data/vendor/local/share/doc/groonga/en/html/_static/menu-header.png +0 -0
- data/vendor/local/share/doc/groonga/en/html/_static/sidebar.js +0 -151
- data/vendor/local/share/doc/groonga/ja/html/_static/default.css +0 -278
- data/vendor/local/share/doc/groonga/ja/html/_static/footer-bar.png +0 -0
- data/vendor/local/share/doc/groonga/ja/html/_static/menu-header.png +0 -0
- data/vendor/local/share/doc/groonga/ja/html/_static/sidebar.js +0 -151
@@ -7,70 +7,149 @@
|
|
7
7
|
.. groonga-command
|
8
8
|
.. database: tutorial
|
9
9
|
|
10
|
-
|
11
|
-
|
10
|
+
Various data types
|
11
|
+
==================
|
12
12
|
|
13
|
-
|
13
|
+
Groonga is a full text search engine but also serves as a column-oriented data store. Groonga supports various data types, such as numeric types, string types, date and time type, longitude and latitude types, etc. This tutorial shows a list of data types and explains how to use them.
|
14
14
|
|
15
|
-
|
15
|
+
Overview
|
16
16
|
--------
|
17
17
|
|
18
|
-
groonga
|
18
|
+
The basic data types of groonga are roughly divided into 5 groups --- boolean type, numeric types, string types, date/time type and longitude/latitude types. The numeric types are further divided according to whether integer or floating point number, signed or unsigned and the number of bits allocated to each integer. The string types are further divided according to the maximum length. The longitude/latitude types are further divided according to the geographic coordinate system. For more details, see :doc:`/type`.
|
19
19
|
|
20
|
-
|
20
|
+
In addition, groonga supports reference types and vector types. Reference types are designed for accessing other tables. Vector types are designed for storing a variable number of values in one element.
|
21
21
|
|
22
|
-
|
22
|
+
First, let's create a table for this tutorial.
|
23
23
|
|
24
24
|
.. groonga-command
|
25
25
|
.. include:: ../example/tutorial/data-1.log
|
26
|
-
.. table_create --name
|
27
|
-
.. column_create --table Type --name number --type Int32
|
28
|
-
.. column_create --table Type --name float --type Float
|
29
|
-
.. column_create --table Type --name string --type ShortText
|
30
|
-
.. column_create --table Type --name time --type Time
|
31
|
-
.. load --table Type
|
32
|
-
.. [{"_key":"sample","number":12345,"float":42.195,"string":"GROONGA","time":1234567890.12}]
|
33
|
-
.. select --table Type
|
26
|
+
.. table_create --name ToyBox --flags TABLE_HASH_KEY --key_type ShortText
|
34
27
|
|
28
|
+
Boolean type
|
29
|
+
------------
|
35
30
|
|
36
|
-
|
37
|
-
----------
|
31
|
+
The boolean type is used to store true or false. To create a boolean type column, specify Bool to the `type` parameter of :doc:`/commands/column_create` command. The default value of the boolean type is false.
|
38
32
|
|
39
|
-
|
33
|
+
The following example creates a boolean type column and adds three records. Note that the third record has the default value because no value is specified.
|
40
34
|
|
41
|
-
|
35
|
+
.. groonga-command
|
36
|
+
.. include:: ../example/tutorial/data-2.log
|
37
|
+
.. column_create --table ToyBox --name is_animal --type Bool
|
38
|
+
.. load --table ToyBox
|
39
|
+
.. [
|
40
|
+
.. {"_key":"Monkey","is_animal":true}
|
41
|
+
.. {"_key":"Flower","is_animal":false}
|
42
|
+
.. {"_key":"Block"}
|
43
|
+
.. ]
|
44
|
+
.. select --table ToyBox --output_columns _key,is_animal
|
42
45
|
|
43
|
-
|
46
|
+
Numeric types
|
47
|
+
-------------
|
44
48
|
|
45
|
-
|
49
|
+
The numeric types are divided into integer types and a floating point number type. The integer types are further divided into the signed integer types and unsigned integer types. In addition, you can choose the number of bits allocated to each integer. For more details, see :doc:`/type`. The default value of the numeric types is 0.
|
50
|
+
|
51
|
+
The following example creates an Int8 column and a Float column, and then updates existing records. The :doc:`/commands/load` command updates the weight column as expected. On the other hand, the price column values are different from the specified values because 15.9 is not an integer and 200 is too large. 15.9 is converted to 15 by removing the fractional part. 200 causes an overflow and the result becomes -56. Note that the result of an overflow/underflow is undefined.
|
46
52
|
|
47
53
|
.. groonga-command
|
48
|
-
.. include:: ../example/tutorial/data-
|
54
|
+
.. include:: ../example/tutorial/data-3.log
|
55
|
+
.. column_create --table ToyBox --name price --type Int8
|
56
|
+
.. column_create --table ToyBox --name weight --type Float
|
57
|
+
.. load --table ToyBox
|
58
|
+
.. [
|
59
|
+
.. {"_key":"Monkey","price":15.9}
|
60
|
+
.. {"_key":"Flower","price":200,"weight":0.13}
|
61
|
+
.. {"_key":"Block","weight":25.7}
|
62
|
+
.. ]
|
63
|
+
.. select --table ToyBox --output_columns _key,price,weight
|
64
|
+
|
65
|
+
String types
|
66
|
+
------------
|
67
|
+
|
68
|
+
The string types are divided according to the maximum length. For more details, see :doc:`/type`. The default value is the zero-length string.
|
69
|
+
|
70
|
+
The following example creates a ShortText column and updates existing records. The third record has the default value because not updated.
|
71
|
+
|
72
|
+
.. groonga-command
|
73
|
+
.. include:: ../example/tutorial/data-4.log
|
74
|
+
.. column_create --table ToyBox --name name --type ShortText
|
75
|
+
.. load --table ToyBox
|
76
|
+
.. [
|
77
|
+
.. {"_key":"Monkey","name":"Grease"}
|
78
|
+
.. {"_key":"Flower","name":"Rose"}
|
79
|
+
.. ]
|
80
|
+
.. select --table ToyBox --output_columns _key,name
|
81
|
+
|
82
|
+
Date and time type
|
83
|
+
------------------
|
84
|
+
|
85
|
+
The date and time type of groonga is Time. Actually, a Time column stores a date and time as the number of microseconds since the Epoch, 1970-01-01 00:00:00. A Time value can represent a date and time before the Epoch because the actual data type is a signed integer. Note that :doc:`/commands/load` and :doc:`/commands/select commands use a decimal number to represent a data and time in seconds. The default value is 0.0, which means the Epoch.
|
86
|
+
|
87
|
+
The following example creates a Time column and updates existing records. The first record has the default value because not updated.
|
88
|
+
|
89
|
+
.. groonga-command
|
90
|
+
.. include:: ../example/tutorial/data-5.log
|
91
|
+
.. column_create --table ToyBox --name time --type Time
|
92
|
+
.. load --table ToyBox
|
93
|
+
.. [
|
94
|
+
.. {"_key":"Flower","time":1234567890.1234569999}
|
95
|
+
.. {"_key":"Block","time":-1234567890}
|
96
|
+
.. ]
|
97
|
+
.. select --table ToyBox --output_columns _key,time
|
98
|
+
|
99
|
+
Longitude and latitude types
|
100
|
+
----------------------------
|
101
|
+
|
102
|
+
The longitude and latitude types are divided according to the geographic coordinate system. For more details, see :doc:`/type`. To represent a longitude and latitude, groonga uses a string formatted as follows:
|
103
|
+
|
104
|
+
* "longitude x latitude" in milliseconds (e.g.: "128452975x503157902")
|
105
|
+
* "longitude x latitude" in degrees (e.g.: "35.6813819x139.7660839")
|
106
|
+
|
107
|
+
A number with/without a decimal point represents a longitude or latitude in milliseconds/degrees respectively. Note that a combination of a number with a decimal point and a number without a decimal point (e.g. 35.1x139) must not be used. A comma (',') is also available as a delimiter. The default value is "0x0".
|
108
|
+
|
109
|
+
The following example creates a WGS84GeoPoint column and updates existing records. The second record has the default value because not updated.
|
110
|
+
|
111
|
+
.. groonga-command
|
112
|
+
.. include:: ../example/tutorial/data-6.log
|
113
|
+
.. column_create --table ToyBox --name location --type WGS84GeoPoint
|
114
|
+
.. load --table ToyBox
|
115
|
+
.. [
|
116
|
+
.. {"_key":"Monkey","location":"128452975x503157902"}
|
117
|
+
.. {"_key":"Block","location":"35.6813819x139.7660839"}
|
118
|
+
.. ]
|
119
|
+
.. select --table ToyBox --output_columns _key,location
|
120
|
+
|
121
|
+
Reference types
|
122
|
+
---------------
|
123
|
+
|
124
|
+
Groonga supports a reference column, which stores references to records in its associated table. In practice, a reference column stores the IDs of the referred records in the associated table and enables access to those records.
|
125
|
+
|
126
|
+
You can specify a column in the associated table to the `output_columns` parameter of a :doc:`/commands/select` command. The format is "Src.Dest" where Src is the name of the reference column and Dest is the name of the target column. If only the reference column is specified, it is handled as "Src._key". Note that if a reference does not point to a valid record, a :doc:`/commands/select` command outputs the default value of the target column.
|
127
|
+
|
128
|
+
The following example adds a reference column to the Site table that was created in the previous tutorial. The new column, named link, is designed for storing links among records in the Site table.
|
129
|
+
|
130
|
+
.. groonga-command
|
131
|
+
.. include:: ../example/tutorial/data-7.log
|
49
132
|
.. column_create --table Site --name link --type Site
|
50
133
|
.. load --table Site
|
51
134
|
.. [{"_key":"http://example.org/","link":"http://example.net/"}]
|
52
135
|
.. select --table Site --output_columns _key,title,link._key,link.title --query title:@this
|
53
136
|
|
54
|
-
|
137
|
+
The `type` parameter of the :doc:`/commands/column_create` command specifies the table to be associated with the reference column. In this example, the reference column is associated with the own table. Then, the :doc:`/commands/load` command registers a link from "http://example.org" to "http://example.net". Note that a reference column requires the primary key, not the ID, of the record to be referred to. After that, the link is confirmed by the :doc:`/commands/select` command. In this case, the primary key and the title of the referred record are output because link._key and link.title are specified to the `output_columns` parameter.
|
55
138
|
|
56
|
-
|
57
|
-
|
139
|
+
Vector types
|
140
|
+
------------
|
58
141
|
|
59
|
-
column_create
|
142
|
+
Groonga supports a vector column, in which each element can store a variable number of values. To create a vector column, specify the COLUMN_VECTOR flag to the `flags` parameter of a :doc:`/commands/column_create` command. A vector column is useful to represent a many-to-many relationship.
|
60
143
|
|
61
|
-
|
62
|
-
|
63
|
-
テーブル型のチュートリアルでは、Siteテーブルに手を加え、どのサイトをリンクしているのかを保存しました。しかし、通常は1つのサイトから多くのサイトにリンクが張られています。複数のリンク情報を格納するために、複数の参照関係を保存するカラムを作成してみましょう。
|
64
|
-
|
65
|
-
他のテーブルを参照するベクターカラムにデータを入力する場合には、参照先のテーブルの_keyカラムの値の「配列」を代入する必要があります。
|
144
|
+
The previous example used a regular column, so each record could have at most one link. Obviously, the specification is insufficient because a site usually has more than one links. To solve this problem, the following example uses a vector column.
|
66
145
|
|
67
146
|
.. FIXME: _idの配列ではダメなのかどうか。検証する。
|
68
147
|
|
69
148
|
.. groonga-command
|
70
|
-
.. include:: ../example/tutorial/data-
|
149
|
+
.. include:: ../example/tutorial/data-8.log
|
71
150
|
.. column_create --table Site --name links --flags COLUMN_VECTOR --type Site
|
72
151
|
.. load --table Site
|
73
152
|
.. [{"_key":"http://example.org/","links":["http://example.net/","http://example.org/","http://example.com/"]}]
|
74
153
|
.. select --table Site --output_columns _key,title,links._key,links.title --query title:@this
|
75
154
|
|
76
|
-
|
155
|
+
The only difference at the first step is the `flags` parameter that specifies to create a vector column. The `type` parameter of the :doc:`/commands/column_create` command is the same as in the previous example. Then, the :doc:`/commands/load` command registers three links from "http://example.org/" to "http://example.net/", "http://example.org/" and "http://example.com/". After that, the links are confirmed by the :doc:`/commands/select` command. In this case, the primary keys and the titles are output as arrays because links._key and links.title are specified to the `output_columns` parameter.
|
@@ -8,46 +8,48 @@
|
|
8
8
|
Basic operations
|
9
9
|
================
|
10
10
|
|
11
|
-
|
11
|
+
A groonga package provides a C library (libgroonga) and a command line tool (groonga). This tutorial explains how to use the command line tool, with which you can create/operate databases, start a server, establish a connection with a server, etc.
|
12
12
|
|
13
13
|
Create a database
|
14
14
|
-----------------
|
15
15
|
|
16
|
-
|
16
|
+
The first step to using groonga is to create a new database. The following shows how to do it.
|
17
17
|
|
18
18
|
Form::
|
19
19
|
|
20
|
-
groonga -n
|
20
|
+
groonga -n DB_PATH
|
21
21
|
|
22
|
-
The
|
22
|
+
The `-n` option specifies to create a new database and DB_PATH specifies the path of the new database. Actually, a database consists of a series of files and DB_PATH specifies the file which will be the entrance to the new database. DB_PATH also specifies the path prefix for other files. Note that database creation fails if DB_PATH points to an existing file.
|
23
23
|
|
24
|
-
This command creates a database and then enters into interactive mode in which groonga prompts you to enter commands for operating that database. You can terminate this mode with Ctrl-d.
|
24
|
+
This command creates a new database and then enters into interactive mode in which groonga prompts you to enter commands for operating that database. You can terminate this mode with Ctrl-d.
|
25
25
|
|
26
|
-
|
26
|
+
.. groonga-command
|
27
|
+
.. include:: ../example/tutorial/introduction-1.log
|
28
|
+
.. .. % groonga -n /tmp/groonga-databases/introduction.db
|
27
29
|
|
28
|
-
|
29
|
-
> Ctrl-d
|
30
|
-
%
|
30
|
+
After this database creation, you can find a series of files in /tmp/groonga-databases.
|
31
31
|
|
32
32
|
Operate a database
|
33
33
|
------------------
|
34
34
|
|
35
|
+
The following shows how to operate an existing database.
|
36
|
+
|
35
37
|
Form::
|
36
38
|
|
37
|
-
groonga
|
39
|
+
groonga DB_PATH [COMMAND]
|
38
40
|
|
39
|
-
|
41
|
+
DB_PATH specifies the path of a target database. This command fails if the specified database does not exist.
|
40
42
|
|
41
|
-
If COMMAND is specified, groonga executes COMMAND and returns the result. Otherwise, groonga starts in interactive mode that reads commands from the standard input and
|
43
|
+
If COMMAND is specified, groonga executes COMMAND and returns the result. Otherwise, groonga starts in interactive mode that reads commands from the standard input and executes them one by one. This tutorial focuses on the interactive mode.
|
42
44
|
|
43
|
-
Let's
|
45
|
+
Let's see the status of a groonga process by using a :doc:`/commands/status` command.
|
44
46
|
|
45
47
|
.. groonga-command
|
46
|
-
.. include:: ../example/tutorial/introduction-
|
47
|
-
.. .. % groonga
|
48
|
+
.. include:: ../example/tutorial/introduction-2.log
|
49
|
+
.. .. % groonga /tmp/groonga-databases/introduction.db
|
48
50
|
.. status
|
49
51
|
|
50
|
-
As shown in the above example, a command
|
52
|
+
As shown in the above example, a command returns a JSON array. The first element contains an error code, execution time, etc. The second element is the result of an operation.
|
51
53
|
|
52
54
|
Command format
|
53
55
|
--------------
|
@@ -87,84 +89,54 @@ Basic commands
|
|
87
89
|
Create a table
|
88
90
|
--------------
|
89
91
|
|
90
|
-
A :doc:`/commands/table_create` command creates a table.
|
92
|
+
A :doc:`/commands/table_create` command creates a new table.
|
91
93
|
|
92
|
-
In most cases, a table
|
94
|
+
In most cases, a table has a primary key which must be specified with its data type and index type.
|
93
95
|
|
94
|
-
There are various data types such as integers,
|
96
|
+
There are various data types such as integers, strings, etc. See also :doc:`/type` for more details. The index type determines the search performance and the availability of prefix searches. The details will be described later.
|
95
97
|
|
96
|
-
Let's create a
|
98
|
+
Let's create a table. The following example creates a table with a primary key. The `name` parameter specifies the name of the table. The `flags` parameter specifies the index type for the primary key. The `key_type` parameter specifies the data type of the primary key.
|
97
99
|
|
98
100
|
.. groonga-command
|
99
|
-
.. include:: ../example/tutorial/introduction-
|
101
|
+
.. include:: ../example/tutorial/introduction-3.log
|
100
102
|
.. table_create --name Site --flags TABLE_HASH_KEY --key_type ShortText
|
101
103
|
|
104
|
+
The second element of the result indicates that the operation succeeded.
|
105
|
+
|
102
106
|
View a table
|
103
107
|
------------
|
104
108
|
|
105
|
-
A :doc:`/commands/select` command
|
109
|
+
A :doc:`/commands/select` command can enumerate records in a table.
|
106
110
|
|
107
111
|
.. groonga-command
|
108
|
-
.. include:: ../example/tutorial/introduction-
|
112
|
+
.. include:: ../example/tutorial/introduction-4.log
|
109
113
|
.. select --table Site
|
110
114
|
|
111
|
-
When only a table is specified,
|
115
|
+
When only a table name is specified with a `table` parameter, a :doc:`/commands/select` command returns the first (at most) 10 records in the table. [0] in the result shows the number of records in the table. The next array is a list of columns. ["_id","Uint32"] is a column of UInt32, named _id. ["_key","ShortText"] is a column of ShortText, named _key.
|
112
116
|
|
113
|
-
The above two columns,
|
117
|
+
The above two columns, _id and _key, are the necessary columns. The _id column stores IDs those are automatically allocated by groonga. The _key column is associated with the primary key. You are not allowed to rename these columns.
|
114
118
|
|
115
119
|
Create a column
|
116
120
|
---------------
|
117
121
|
|
118
|
-
A :doc:`/commands/column_create` command
|
119
|
-
|
120
|
-
Let's add a column of ShortText to store titles. You may give a descriptive name 'title' to the column.
|
121
|
-
|
122
|
-
.. groonga-command
|
123
|
-
.. include:: ../example/tutorial/introduction-4.log
|
124
|
-
.. column_create --table Site --name title --flags COLUMN_SCALAR --type ShortText
|
125
|
-
.. select --table Site
|
126
|
-
|
127
|
-
The COLUMN_SCALAR flag specifies to add a regular column.
|
128
|
-
|
129
|
-
Create a lexicon table for full text searches
|
130
|
-
---------------------------------------------
|
131
|
-
|
132
|
-
Let's go on to how to make a full text search.
|
133
|
-
|
134
|
-
Groonga uses an inverted index to provide fast full text search. So, the first step is to create a lexicon table which stores an inverted index, also known as postings lists. The primary key of this table is associated with a vocabulary made up of index terms and each record stores postings lists for one index term.
|
122
|
+
A :doc:`/commands/column_create` command creates a new column.
|
135
123
|
|
136
|
-
The following
|
124
|
+
Let's add a column. The following example adds a column to the Site table. The `table` parameter specifies the target table. The `name` parameter specifies the name of the column. The `type` parameter specifies the data type of the column.
|
137
125
|
|
138
126
|
.. groonga-command
|
139
127
|
.. include:: ../example/tutorial/introduction-5.log
|
140
|
-
..
|
141
|
-
|
142
|
-
The table_create command takes many parameters but you don't need to understand all of them. Please skip the next paragraph if you are not interested in how it works.
|
143
|
-
|
144
|
-
The 'TABLE_PAT_KEY' flag specifies to store index terms in a patricia trie. The 'KEY_NORMALIZE' flag specifies to normalize index terms. In this example, both flags are validated by using a '|'. The 'default_tokenizer' parameter specifies a method for tokenizing text. This example specifies 'TokenBigram' that is generally called 'N-gram'.
|
145
|
-
|
146
|
-
Create an index column for full text search
|
147
|
-
-------------------------------------------
|
148
|
-
|
149
|
-
The second step is to create an index column, which allows you to search records from its associated column. That is to say this step specifies which column needs an index.
|
150
|
-
|
151
|
-
Let's create an index column for the 'title' column in the 'Site' table.
|
152
|
-
|
153
|
-
.. groonga-command
|
154
|
-
.. include:: ../example/tutorial/introduction-6.log
|
155
|
-
.. column_create --table Terms --name blog_title --flags COLUMN_INDEX|WITH_POSITION --type Site --source title
|
156
|
-
|
157
|
-
This command creates an index column 'blog_title' in the 'Terms' table. The '--type' option specifies a target table and the '--source' option specifies a target column. Then, the 'COLUMN_INDEX' flag specifies to create an index column and the 'WITH_POSITION' flag specifies to create a full inverted index, which contains the positions of each index term. This combination 'COLUMN_INDEX|WITH_POSITION' is recommended for the general purpose.
|
128
|
+
.. column_create --table Site --name title --type ShortText
|
129
|
+
.. select --table Site
|
158
130
|
|
159
|
-
Load
|
160
|
-
|
131
|
+
Load records
|
132
|
+
------------
|
161
133
|
|
162
134
|
A :doc:`/commands/load` command loads JSON-formatted records into a table.
|
163
135
|
|
164
|
-
The following
|
136
|
+
The following example loads nine records into the Site table.
|
165
137
|
|
166
138
|
.. groonga-command
|
167
|
-
.. include:: ../example/tutorial/introduction-
|
139
|
+
.. include:: ../example/tutorial/introduction-6.log
|
168
140
|
.. load --table Site
|
169
141
|
.. [
|
170
142
|
.. {"_key":"http://example.org/","title":"This is test record 1!"},
|
@@ -178,99 +150,137 @@ The following adds nine records to the 'Site' table.
|
|
178
150
|
.. {"_key":"http://example.com/vdw","title":"test test record nine."},
|
179
151
|
.. ]
|
180
152
|
|
153
|
+
The second element of the result indicates how many records were successfully loaded. In this case, all the records are successfully loaded.
|
154
|
+
|
181
155
|
Let's make sure that these records are correctly stored.
|
182
156
|
|
183
157
|
.. groonga-command
|
184
|
-
.. include:: ../example/tutorial/introduction-
|
158
|
+
.. include:: ../example/tutorial/introduction-7.log
|
185
159
|
.. select --table Site
|
186
160
|
|
187
|
-
|
188
|
-
|
161
|
+
Get a record
|
162
|
+
------------
|
163
|
+
|
164
|
+
A :doc:`/commands/select` command can search records in a table.
|
189
165
|
|
190
|
-
|
166
|
+
If a search condition is specified with a `query` parameter, a :doc:`/commands/select` command searches records matching the search condition and returns the matched records.
|
191
167
|
|
192
|
-
|
168
|
+
Let's get a record having a specified record ID. The following example gets the first record in the Site table. More precisely, the `query` parameter specifies a record whose _id column stores 1.
|
193
169
|
|
194
170
|
.. groonga-command
|
195
|
-
.. include:: ../example/tutorial/introduction-
|
171
|
+
.. include:: ../example/tutorial/introduction-8.log
|
196
172
|
.. select --table Site --query _id:1
|
197
173
|
|
198
|
-
'
|
174
|
+
Next, let's get a record having a specified key. The following example gets the record whose primary key is "http://example.org/". More precisely, the `query` parameter specifies a record whose _key column stores "http://example.org/".
|
199
175
|
|
200
|
-
|
176
|
+
.. groonga-command
|
177
|
+
.. include:: ../example/tutorial/introduction-9.log
|
178
|
+
.. select --table Site --query '_key:"http://example.org/"'
|
179
|
+
|
180
|
+
Create a lexicon table for full text search
|
181
|
+
-------------------------------------------
|
182
|
+
|
183
|
+
Let's go on to how to make full text search.
|
184
|
+
|
185
|
+
Groonga uses an inverted index to provide fast full text search. So, the first step is to create a lexicon table which stores an inverted index, also known as postings lists. The primary key of this table is associated with a vocabulary made up of index terms and each record stores postings lists for one index term.
|
186
|
+
|
187
|
+
The following shows a command which creates a lexicon table named Terms. The data type of its primary key is ShortText.
|
201
188
|
|
202
189
|
.. groonga-command
|
203
190
|
.. include:: ../example/tutorial/introduction-10.log
|
204
|
-
..
|
191
|
+
.. table_create --name Terms --flags TABLE_PAT_KEY|KEY_NORMALIZE --key_type ShortText --default_tokenizer TokenBigram
|
192
|
+
|
193
|
+
The :doc:`/commands/table_create` command takes many parameters but you don't need to understand all of them. Please skip the next paragraph if you are not interested in how it works.
|
194
|
+
|
195
|
+
The TABLE_PAT_KEY flag specifies to store index terms in a patricia trie. The KEY_NORMALIZE flag specifies to normalize index terms. In this example, both flags are validated by using a '|'. The `default_tokenizer` parameter specifies the method for tokenizing text. This example uses TokenBigram that is generally called N-gram.
|
196
|
+
|
197
|
+
Create an index column for full text search
|
198
|
+
-------------------------------------------
|
199
|
+
|
200
|
+
The second step is to create an index column, which allows you to search records from its associated column. That is to say this step specifies which column needs an index.
|
201
|
+
|
202
|
+
Let's create an index column. The following example creates an index column for a column in the Site table.
|
205
203
|
|
206
|
-
|
204
|
+
.. groonga-command
|
205
|
+
.. include:: ../example/tutorial/introduction-11.log
|
206
|
+
.. column_create --table Terms --name blog_title --flags COLUMN_INDEX|WITH_POSITION --type Site --source title
|
207
|
+
|
208
|
+
The `table` parameter specifies the index table and the `name` parameter specifies the index column. The `type` parameter specifies the target table and the `source` parameter specifies the target column. The COLUMN_INDEX flag specifies to create an index column and the WITH_POSITION flag specifies to create a full inverted index, which contains the positions of each index term. This combination, COLUMN_INDEX|WITH_POSITION, is recommended for the general purpose.
|
209
|
+
|
210
|
+
.. note::
|
211
|
+
|
212
|
+
You can create a lexicon table and index columns before/during/after loading records. If a target column already has records, groonga creates an inverted index in a static manner. In contrast, if you load records into an already indexed column, groonga updates the inverted index in a dynamic manner.
|
207
213
|
|
208
214
|
Full text search
|
209
215
|
----------------
|
210
216
|
|
211
|
-
It's time
|
217
|
+
It's time. You can make full text search with a :doc:`/commands/select` command.
|
218
|
+
|
219
|
+
A query for full text search is specified with a `query` parameter. The following example searches records whose "title" column contains "this". The '@' specifies to make full text search. Note that a lower case query matches upper case and capitalized terms in a record if KEY_NORMALIZE was specified when creating a lexcon table.
|
212
220
|
|
213
221
|
.. groonga-command
|
214
|
-
.. include:: ../example/tutorial/introduction-
|
222
|
+
.. include:: ../example/tutorial/introduction-12.log
|
215
223
|
.. select --table Site --query title:@this
|
216
224
|
|
217
|
-
|
225
|
+
In this example, the first record matches the query because its title contains "This", that is the capitalized form of the query.
|
218
226
|
|
219
|
-
|
227
|
+
A :doc:`/commands/select` command accepts an optional parameter, named `match_columns`, that specifies the default target columns. This parameter is used if target columns are not specified in a query. [#]_
|
220
228
|
|
221
|
-
|
229
|
+
The combination of "`--match_columns` title" and "`--query` this" brings you the same result that "`--query` title:@this" does.
|
222
230
|
|
223
231
|
.. groonga-command
|
224
|
-
.. include:: ../example/tutorial/introduction-
|
232
|
+
.. include:: ../example/tutorial/introduction-13.log
|
225
233
|
.. select --table Site --match_columns title --query this
|
226
234
|
|
227
235
|
Specify output columns
|
228
236
|
----------------------
|
229
237
|
|
230
|
-
An
|
238
|
+
An `output_columns` parameter of a :doc:`/commands/select` command specifies columns to appear in the search result. If you want to specify more than one columns, please separate column names by commas (',').
|
231
239
|
|
232
240
|
.. groonga-command
|
233
|
-
.. include:: ../example/tutorial/introduction-
|
241
|
+
.. include:: ../example/tutorial/introduction-14.log
|
234
242
|
.. select --table Site --output_columns _key,title,_score --query title:@test
|
235
243
|
|
236
|
-
This
|
244
|
+
This example specifies three output columns including the _score column, which stores the relevance score of each record.
|
237
245
|
|
238
246
|
Specify output ranges
|
239
247
|
---------------------
|
240
248
|
|
241
|
-
A
|
249
|
+
A :doc:`/commands/select` command returns a part of its search result if `offset` and/or `limit` parameters are specified. These parameters are useful to paginate a search result, a widely-used interface which shows a search result on a page by page basis.
|
242
250
|
|
243
|
-
An
|
251
|
+
An `offset` parameter specifies the starting point and a `limit` parameter specifies the maximum number of records to be returned. If you need the first record in a search result, the offset parameter must be 0 or omitted.
|
244
252
|
|
245
253
|
.. groonga-command
|
246
|
-
.. include:: ../example/tutorial/introduction-
|
254
|
+
.. include:: ../example/tutorial/introduction-15.log
|
247
255
|
.. select --table Site --offset 0 --limit 3
|
248
256
|
.. select --table Site --offset 3 --limit 3
|
249
257
|
.. select --table Site --offset 7 --limit 3
|
250
258
|
|
251
|
-
Sort
|
252
|
-
|
259
|
+
Sort a search result
|
260
|
+
--------------------
|
261
|
+
|
262
|
+
A :doc:`/commands/select` command sorts its result when used with a `sortby` parameter.
|
253
263
|
|
254
|
-
A
|
264
|
+
A `sortby` parameter specifies a column as a sorting creteria. A search result is arranged in ascending order of the column values. If you want to sort a search result in reverse order, please add a leading hyphen ('-') to the column name in a parameter.
|
255
265
|
|
256
|
-
|
266
|
+
The following example shows records in the Site table in reverse order.
|
257
267
|
|
258
268
|
.. groonga-command
|
259
|
-
.. include:: ../example/tutorial/introduction-
|
269
|
+
.. include:: ../example/tutorial/introduction-16.log
|
260
270
|
.. select --table Site --sortby -_id
|
261
271
|
|
262
|
-
|
272
|
+
The next example uses the _score column as the sorting criteria for ranking the search result. The result is sorted in relevance order.
|
263
273
|
|
264
274
|
.. groonga-command
|
265
|
-
.. include:: ../example/tutorial/introduction-
|
266
|
-
.. select --table Site --query title:@test --output_columns _id,_score,title --sortby _score
|
275
|
+
.. include:: ../example/tutorial/introduction-17.log
|
276
|
+
.. select --table Site --query title:@test --output_columns _id,_score,title --sortby -_score
|
267
277
|
|
268
|
-
If you want to specify more than one columns, please separate column names by commas. In such a case, a search result is sorted in order of the
|
278
|
+
If you want to specify more than one columns, please separate column names by commas (','). In such a case, a search result is sorted in order of the values in the first column, and then records having the same values in the first column are sorted in order of the second column values.
|
269
279
|
|
270
280
|
.. groonga-command
|
271
|
-
.. include:: ../example/tutorial/introduction-
|
272
|
-
.. select --table Site --query title:@test --output_columns _id,_score,title --sortby _score,_id
|
281
|
+
.. include:: ../example/tutorial/introduction-18.log
|
282
|
+
.. select --table Site --query title:@test --output_columns _id,_score,title --sortby -_score,_id
|
273
283
|
|
274
284
|
.. rubric:: footnote
|
275
285
|
|
276
|
-
.. [
|
286
|
+
.. [#] Currently, a `match_columns` parameter is available iff there exists an inverted index for full text search. A `match_columns` parameter for a regular column is not supported.
|