HAYASHI Kentaro
null+****@clear*****
Fri Sep 27 13:25:49 JST 2013
HAYASHI Kentaro 2013-09-27 13:25:49 +0900 (Fri, 27 Sep 2013) New Revision: 5fb69419451979e6280e66d20fed83cbdec362ad https://github.com/groonga/groonga.org/commit/5fb69419451979e6280e66d20fed83cbdec362ad Message: blog: add 3.0.8 release entry Added files: en/_posts/2013-09-29-release.textile ja/_posts/2013-09-29-release.textile Added: en/_posts/2013-09-29-release.textile (+137 -0) 100644 =================================================================== --- /dev/null +++ en/_posts/2013-09-29-release.textile 2013-09-27 13:25:49 +0900 (f1b76ff) @@ -0,0 +1,137 @@ +--- +layout: post.en +title: Groonga 3.0.8 has been released +description: Groonga 3.0.8 has been released! +published: false +--- + +h2. Groonga 3.0.8 has been released + +"Groonga 3.0.8":/docs/news.html#release-3-0-8 has been released! + +How to install: "Install":/docs/install.html + +There are three topics in this release. + +* Improved usability of administration interface +* Supported groonga_query_log_path directive +* Supported cascaded delete + +h3. Improved usability of administration interface + +As you know, groonga provides administration web interface as a default. In this release, following usability related issues are fixed. + +* Error handling of select functionality. This change shows error message and hides loading dialog. +* Submit search form with the enter key. +* Show placeholder in search form. + +All above issues are fixed by "@orangain":https://twitter.com/orangain who submit patches for us. It's great work! Thanks orangain! + +h3. Supported groonga_query_log_path directive + +In this release, you can customize query log path for groonga-httpd. + +In the previous releases, you need to check access.log or error.log for investigating the query issue. If you process query via GET method, it is enough to investigate, but if you use POST method, that is not good enough on query error. + +To customize query log path, use groonga_query_log_path on groonga-httpd.conf. + +The default query log path is also changed. + +Before: + +* /var/log/groonga/httpd/groonga.log + +After: + +* /var/log/groonga/httpd/groonga-query.log + +Use groonga_query_log_path directive in http, server or location block. Now you can specify this directive in each location block, you can save query log for each database. + +<pre> +location /d/ { + groonga on; + # You can disable query log for groonga. + groonga_query_log_path /var/log/groonga/httpd/groonga-location-d.log; +} + +location /d2/ { + groonga on; + # You can disable query log for groonga. + groonga_query_log_path /var/log/groonga/httpd/groonga-location-d2.log; +} +</pre> + +See the following documentation about "groonga_query_log_path":http://groonga.org/docs/reference/executables/groonga-httpd.html#groonga-query-log-path directive. + +h3. Supported cascaded delete + +In this release, groonga supports cascaded delete. + +For example, assume that there are some URLs associated for a person. If you store user information and URL for separated table, you use following schema for instance. + +<pre> +table_create Users TABLE_HASH_KEY ShortText +table_create URLs TABLE_HASH_KEY ShortText + +column_create Users bookmarks COLUMN_VECTOR URLs +column_create URLs author COLUMN_SCALAR Users + +column_create URLs bookmarks_index COLUMN_INDEX Users bookmarks +</pre> + +Then load sample data: + +<pre> +load --table Users +[ +{"_key": "mori", "bookmarks": ["http://mroonga.org/", "http://groonga.org/", "http://ranguba.org/"]} +] + +load --table URLs +[ +{"_key": "http://groonga.org/", "author": "mori"} +{"_key": "http://mroonga.org/", "author": "hayashi"} +] +</pre> + +In this case, Users table stores the key which refers URLs table in bookmarks column. That is the reason why simply you can't delete record of URLs. + +Here is the query which fails to delete: + +<pre> +delete URLs --key "http://groonga.org/" +</pre> + +Here is the error message when you execute the above query: + +<pre> +[ + [ + -2,1380092940.21387, + 0.000238895416259766, + "undeletable record (URLs:2) has value (bookmarks_index:1)", + [ + ["is_deletable","db.c",1564] + ] + ], + false +] +</pre> + +If you want to delete above records, you must delete the record which refers in advance, then delete data by above query. That is a very boring task that you need to delete each records step by step. + +In this release, there is one thing you need to do: + +<pre> +delete URLs --key "http://groonga.org/" +</pre> + +"Delete" command detects the records which refers, then automatically delete them. + +It remains "http://mroonga.org" and "http://ranguba.org" on bookmarks column, because they have nothing to do with the key - "http://groonga.org". + +h3. Conclusion + +See "Release 3.0.8 2013/08/29":/docs/news.html#release-3-0-7 about detailed changes since 3.0.6. + +Let's search by groonga! Added: ja/_posts/2013-09-29-release.textile (+126 -0) 100644 =================================================================== --- /dev/null +++ ja/_posts/2013-09-29-release.textile 2013-09-27 13:25:49 +0900 (711e9fe) @@ -0,0 +1,126 @@ +--- +layout: post.ja +title: groonga 3.0.8リリース +description: groonga 3.0.8をリリースしました! +published: false +--- + +今日は肉の日ですね。 + +h2. groonga 3.0.8リリース + +"groonga 3.0.8":/ja/docs/news.html#release-3-0-8 をリリースしました! + +それぞれの環境毎のインストール方法: "インストール":/ja/docs/install.html + +これまでも、groonga.orgにて "利用事例":http://groonga.org/ja/users/ を紹介してきましたが、それとは別に "gihyo.jp":http://gihyo.jp/ にてgroonga関連の記事の連載を "隔週連載groonga":http://gihyo.jp/dev/clip/01/groonga として半年ほど続けていましたが、ついに最終回を迎えました。 + +まだgroongaを知らない人にもWebの連載記事を通じて知ってもらいたいというのが動機ではじめたこの連載がきっかけでgroongaに興味を持ってもらえたのではないでしょうか。 + +* "最終回 groongaの今と未来":http://gihyo.jp/dev/clip/01/groonga/0011 + +第一回から第十回までの過去記事については "隔週連載groonga":http://gihyo.jp/dev/clip/01/groonga のページを参照してください。 + +h3. 管理画面のユーザビリティを改善しました + +groongaに付属している管理画面はとてもシンプルなものなのですが、今回 "@orangain":https://twitter.com/orangain さんがいくつか使い勝手を改善するためのパッチを提供してくれました。ありがとうございます。 + +* エラー時読込中ダイアログが表示されたままにならないようにする +* 検索フォームにプレースホルダを表示する +* Enterキーで検索フォームを送信する + +h3. groonga-httpdでクエリログのカスタマイズをサポート + +groonga-httpdでもクエリログをカスタマイズできるようになりました。これまでは、クエリについてはaccess.logであったり、error.logなどを参考にするしかありませんでした。リクエストをGETですべて処理しているのであれば、それでも良いのですが、POSTで処理している場合、エラーが発生したときのクエリを特定するのが難しいという問題がありました。 + +今回groonga-httpdでクエリログをカスタマイズできるようになったことで問題となるクエリを特定しやすくなりました。カスタマイズするには、groonga-httpd.confにgroonga_query_log_pathディレクティブを指定します。 + +このディレクティブを指定しなかった場合には標準で次の場所にログが保存されていました。今回のリリースではデフォルトのログのパスもちょっと変わります。 + +* 変更前 /var/log/groonga/httpd/groonga.log +* 変更後 /var/log/groonga/httpd/groonga-query.log + +groonga_query_log_pathディレクティブはhttp,server,locationブロックいずれかに指定します。 + +locationブロックごとに指定できるようになったことで、ベータベースごとにクエリログを保存することができるようにもなりました。 + +<pre> +location /d/ { + groonga on; + # You can disable query log for groonga. + groonga_query_log_path /var/log/groonga/httpd/groonga-location-d.log; +} + +location /d2/ { + groonga on; + # You can disable query log for groonga. + groonga_query_log_path /var/log/groonga/httpd/groonga-location-d2.log; +} +</pre> + +ディレクティブの詳細については、 "groonga-query-log-path":http://groonga.org/ja/docs/reference/executables/groonga-httpd.html#groonga-query-log-path のドキュメントを参照してください。 + +h3. deleteコマンドで参照関係のあるレコード削除をサポート + +今回のリリースでは、deleteコマンドで参照関係のあるレコードの削除をサポートしました。 + +例えば、とあるユーザーに関連付けられたURLがいくつかあるとします。ユーザー情報とURLのテーブルにそれぞれデータを格納して参照するようにするとなると、次のようなスキーマとなるでしょう。 + +<pre> +table_create Users TABLE_HASH_KEY ShortText +table_create URLs TABLE_HASH_KEY ShortText + +column_create Users bookmarks COLUMN_VECTOR URLs +column_create URLs author COLUMN_SCALAR Users + +column_create URLs bookmarks_index COLUMN_INDEX Users bookmarks +</pre> + +これに、サンプルデータをロードします。 + +<pre> +load --table Users +[ +{"_key": "mori", "bookmarks": ["http://mroonga.org/", "http://groonga.org/", "http://ranguba.org/"]} +] + +load --table URLs +[ +{"_key": "http://groonga.org/", "author": "mori"} +{"_key": "http://mroonga.org/", "author": "hayashi"} +] +</pre> + +このとき、UsersテーブルにURLsテーブルにあるキーを参照するデータが格納されています。そのため、単純に次のようにしてURLsテーブルの"http://groonga.org"というキーのレコードを削除することはできませんでした。 + +<pre> +> delete URLs --key "http://groonga.org/" +</pre> + +実際に実行してみると次のようなエラーが発生していました。 + +<pre> +[ + [ + -2,1380092940.21387, + 0.000238895416259766, + "undeletable record (URLs:2) has value (bookmarks_index:1)", + [ + ["is_deletable","db.c",1564] + ] + ], + false +] +</pre> + +そのため、 @delete URLs --key "http://groonga.org/"@ でレコードを削除する前に、Usersで参照しているデータを削除してからURLsのレコードを削除するというステップを踏む必要がありました。 + +これが、今回の参照関係のあるレコードの削除のサポートで、 @delete URLs --key "http://groonga.org/"@ を実行するとURLsの該当するレコードを削除できるようになりました。 + +これを実行しても、bookmarksカラムの関係ないデータは削除されません。"http://mroonga.org/"と"http://ranguba.org/"はそのままです。 + +h3. さいごに + +3.0.7からの詳細な変更点は "3.0.8リリース 2013/09/29":/ja/docs/news.html#release-3-0-8 を確認してください。 + +それでは、groongaでガンガン検索してください! -------------- next part -------------- HTML����������������������������... 下載