HAYASHI Kentaro
hayas****@clear*****
2013年 8月 29日 (木) 12:51:46 JST
林です。 今日は肉の日ですね。 まずはじめに、隔週連載groongaの紹介です。 これまでも、groonga.orgにて利用事例 http://groonga.org/ja/users/ を 紹介してきましたが、それとは別に、http://gihyo.jp/にてgroonga関連の記事の連載を 隔週連載groongaとして続けています。 まだgroongaを知らない人にもWebの連載記事を通じて知ってもらいたいというのが動機です。 現在第9回まで公開しています。 * 第9回 mroongaを広く使ってもらうために大事なこと - mroongaのパッケージング動向の紹介 http://gihyo.jp/dev/clip/01/groonga/0009 過去の記事(第1回から第8回)については隔週連載groongaのページを参照してください。 http://gihyo.jp/dev/clip/01/groonga 似たような動機で、毎週木曜にQiitaでのgroonga関連の情報提供も続けています。 こちらも参考にどうぞ。 http://qiita.com/groonga groonga 3.0.7をリリースしました! http://groonga.org/ja/docs/news.html#release-3-0-7 それぞれの環境毎のインストール方法はこちらを見てください。 http://groonga.org/ja/docs/install.html 今回のリリースではデータベースのファイル形式は互換性があるのでデータベースを作りなおす必要はありません。 今回のリリースの主なトピックは次の通りです。 * APIドキュメント化しました * groonga-httpdへ実験的なディレクティブを追加しました * [募集] コマンドリファレンスをいっしょに良いものにしませんか * [募集] 週刊groongaの情報を海外向けに発信してみませんか ○ APIドキュメント化しました 長い間懸案であったgroongaのAPIのドキュメント化作業について、 どなたか協力していただけませんか、というエントリを以前書きました。 http://groonga.org/ja/blog/2013/07/22/api-documentation.html 具体的な手順をお知らせすることで、これだったらできるかもと思ってもらえ たらいいなということだったのですが、結果として whombxさんがたくさん APIドキュメント化作業のための pull requestを送ってくれました。 今月のリリースではその成果を反映しています。 こうしてAPIドキュメントの作業を一段落させることができたのは、 whombxさんの多大な貢献のおかげです。 ひとまず一段落しましたが、APIドキュメントの内容面での充実は 今後も継続していきます。 ○ groonga-httpdへ実験的なディレクティブを追加しました より高機能なHTTPサーバーを提供するものとして、nginxをベースとした groonga-httpdを用意しています。 今回のリリースでは、このgroonga-httpdに指定できるディレクティブを 追加しました。追加したディレクティブは次のとおりです。 * groonga_log_path * groonga_log_level それぞれ、ログの保存場所とログレベルを指定できるようにする ディレクティブです。これまではデフォルトの値に固定されていました。 groonga_log_pathにはログの保存先のパスを指定しますが、 ログを無効にすることもできます。その場合には offを指定します。 例えば、以下のようにディレクティブを書くことで無効にできます。 location /d/ { groonga_log_path off; } groonga_log_pathの詳細は次のリンク先を参照してください。 http://groonga.org/ja/docs/reference/executables/groonga-httpd.html#groonga-log-path 一方のログレベルに指定できるのは次の通りです。上から順に緊急性が高い メッセージで、デフォルトではnoticeが指定されたものとして扱われます。 * emergency * alert * critical * error * warning * notice * debug * dump * none また、ログレベルでログを無効にすることもできます。 その場合には、groonga_log_levelにnoneを指定します。 groonga_log_levelの詳細は次のリンク先を参照してください。 http://groonga.org/ja/docs/reference/executables/groonga-httpd.html#groonga-log-level また、ログ以外にもクエリキャッシュの最大件数を設定するために次のディレクティブをサポートしました。 * groonga_cache_limit 設定した値はすべてのワーカーに適用されます。次の例はクエリキャッシュを1000件に設定します。 http { groonga_cache_limit 1000; ... } ワーカーごとに別の値を設定したい場合には複数のgroonga-httpd.confを使いわける必要があります。 ○ [募集] コマンドリファレンスをいっしょに良いものにしませんか APIのドキュメント化作業が一段落したので、次のステップとして コマンドリファレンスの改善作業をはじめました。 コマンドリファレンスは新規コマンドが追加されたり、機能が追加されたり する度に加筆修正していっているので、今では古いスタイルと 新しいスタイルとが混在している状態になっています。 これを新しいスタイルに統一しようというのが、このコマンドリファレンスの 改善作業の内容です。 ただ現状リソースが足りていないので、ユーザのみなさんにも協力していただけたらいいなと思っています。 具体的な作業手順の詳細については以下を参照してください。 もし、できそうだな、とかちょっとやってみよう、と思われたらぜひ参加して くれると嬉しいです。 http://groonga.org/ja/blog/2013/08/12/reference-command-documentation.html ○ [募集] 週刊groongaの情報を海外向けに発信してみませんか 毎週木曜に Qiita http://qiita.com/ にてgroongaやmroonga,rroongaなどの トピックを一つ投稿するという取り組みを続けています。 それなりにトピックがたまってきたので、これを翻訳して英語圏にも情報を発信して いこうかと考えています。 ただ、現状リソースがあまり足りていないので、ユーザのみなさんにも 翻訳作業を協力していただけたらいいなと思っています。 翻訳作業の詳細については以下を参照してください。 http://groonga.org/ja/blog/2013/07/22/qiita-translation.html ○ 変更点 さて、3.0.6からの変更点は以下の通りです。 http://groonga.org/ja/docs/news.html#release-3-0-7 3.0.7リリース - 2013/08/29 ------------------------- 改良 * APIドキュメントを追加しました。[groonga-dev,01593] [GitHub#79,#80,#81,#82,#83,#84,#85,#86,#87,#88,#89,#90,#91,#92,#93,#95,#96,#97,#98,#99,#100] [whombxさんがパッチを提供] * [table_remove] 参照されているパトリシアトライもしくはハッシュテーブルが削除されないようにした。 この変更は参照されているテーブルがうっかり削除されないようにします。 * 長すぎるトークン (4096バイトを超過) を単に無視するようにしました。 この変更はトークンの登録時に影響します。以前は、警告ではなくエラーとして扱っていました。 [groonga-dev,01571] [村上さんが提案] * ログメッセージで無視された実際の語句を表示するようにしました。[groonga-dev,01621] [村上さんが報告] * [httpd] POSTメソッドでデータをロードできるようにしました。 [GitHub#101] [鷲田さんがパッチを提供] * [httpd] groonga_log_path ディレクティブをサポートしました。 * [httpd] groonga_log_level ディレクティブをサポートしました。 修正 * 式のエラーによってスタックオーバーフローを引き起す可能性のある不具合を修正しました。 この変更はエラーが積み重なって突然groongaがクラッシュするのを防ぎます。 * 参照先のないベクタカラムの静的インデックス構築によりクラッシュする不具合を修正しました。 * デーモンモード開始時のエラーでgroongaが終了しない不具合を修正しました。 例えば、この不具合は groonga -d /tmp/non-existence.db で再現します。 * [dump] 誤ったテーブルの型がダンプされる不具合を修正しました。 この不具合はテーブルの型が TABLE_PAT_KEY かつ キーが参照型のときに発生します。 * --cache-limit のデフォルト値が0になっていた不具合を修正しました。 デフォルト値は100に変更されました。 * sub_filter を使用するとメモリリークするのを修正しました。 * [doc] defragコマンドの説明の誤りを修正しました。 [@naoinaさんが報告] * [doc] 貢献する方法の説明を修正しました。 [GitHub#77] [横山さんがパッチを提供] * [プラグイン] 複数回データベースを開いているときにクラッシュする不具合を修正しました。 この不具合は複数のプラグインが使われていて、同一のデータベースが複数のプロセスによって オープンされているような場合に影響します。[groonga-dev,01596] [村上さんが報告] * AND の後のネストしたマッチが動作しない不具合を修正しました。 select ... --filter '... && nested.column @ "keyword"' というクエリでこの不具合が再現します。 [groonga-dev,01599] [鷲田さんが報告] * 特殊文字のドキュメントの誤字を修正しました。 [瀧内さんが報告] 感謝 * @whombxさん * @naoinaさん * 横山さん * 鷲田基さん * 瀧内元気さん -- HAYASHI Kentaro <hayas****@clear*****>