Groongaドキュメント読書会2 - Groonga | Doorkeeper に参加した。Groongaのオンラインドキュメントを順次みんなで読んでいくというもの。以下は参加したときに話題にあがったこととか、自分が知っている範囲ををつらつらと書いてみた。
自己紹介のターン
最初に参加者が自己紹介をした。新顔の人はこんな理由があって参加しました!という話をしていて、前回から継続している人は前回からあった出来事(別にGroongaに関係なく)について話をしたりした。これをやることでなごやかな雰囲気になったので、大分話しやすくなったんじゃなかろうか。参加者が6人と小規模だったのもあるかも。あ、お酒はほどほどに。あと失せ物には注意。既婚者はいろいろ大変。
実際にドキュメントを読む
今回は、2. インストール — Groonga v4.0.2ドキュメント から4.1. 基本的な操作 — Groonga v4.0.2ドキュメント まで。
やっているのは、ひとりずつドキュメントを区切って順番に読んで、理解したことを話すということ。 この形式だと理解があやふやだったりすると、(うまく説明できないので)ひっかかるところがわかりやすい。そういった箇所については、開発者が適宜補足したり、参加者がこれってどういうこと?と質問したりというので解決するすすめかただった。
Homebrewによるインストール手順のドキュメント。TokenMecabを使うには--with-mecabオプションの指定を忘れずに。--with-mecabが指定してあるとIPA辞書も一緒に入る。こうなっているのはみんながみんなMeCabのトークナイザーを必要としているわけではないから。ドキュメントでは触れていないけど、--enable-benchmarkという開発者向けのオプションもある。そういえば、以前brew editして--enable-debugしようとしたときにconfigureがコケる現象に遭遇したような気が。どうだったかな。
コア数の取得方法が他とちょっと違うのかという発見。
% make -j$(/usr/sbin/sysctl -n hw.ncpu)
サーバー用途は3つパッケージがあるよ!という話。簡易HTTPサーバーでPOSTできなかったけど、最近できるようにする修正が入ったことなど。簡易HTTPサーバーは変なリクエストがきちゃうと困るので、nginxベースのHTTPサーバーがおすすめ。
あとMuninパッケージを入れると、CPU使用率とかスループットを見れるようになるよ、という話。
公式ドキュメントにはないけど、QiitaにMuninプラグインについて書いたのがある。
このへんは公式にマージしておかないと。
wheezyやjessieやsidはまぁ一緒なので以下略。
最近UbuntuではPPAを利用するようになった。(Debianはまだpackages.groonga.orgからインストールするやりかた)
2.5. CentOS — Groonga v4.0.2ドキュメント
× PRMパッケージ -> ○ RPMパッケージ修正済みgroonga-tokenizer-mecabを入れると辞書も依存関係で勝手にインストールされるのでわざわざ自分でインストールしなくてもよいはず。修正済み
2.6. Fedora — Groonga v4.0.2ドキュメント
- KyTea キューティーと読む。なぜかこれまで自分はケーワイティーと読んでいた。
- サジェスト用にlibeventとかが挙げられているのは、学習するためのサーバーでは例えば1文字入力されるたびにリクエストを受けるので、数多くのリクエストをさばかないといけない。というわけでlibeventとかが使われている。
- zlibやLZOはカラムの圧縮用とあるけど、これを有効にするとメモリリークが発生してしまう問題があって現状使えない。
2.8.2.1.2 --localestatedir localstatedirのtypo修正済み
table_createでKEY_NORMALIZEフラグはもう非推奨。今は--normalizerをかわりに使う。というのもノーマライザーをプラグインとして追加できるようになったため。
selectコマンドはoffset引数とlimit引数を使って表示範囲を限定できる。 何も指定しないと10件のみ表示する。
さいごに
今回はインストールの部分が多くて、まあリリースは違ってもほとんど同じという箇所がかなり。とはいえ皆で読みなおしてみると、うっかりtypoしている箇所を見つけたり、日本語のてにをはがおかしかったり、内容が古くなっている箇所を見つけることができた。
丁度タイムリーにドキュメントに対する手厳しい指摘もあったことだし、この取り組みは決して悪くはないはず。
次回再開するときは、4.2. リモートアクセス — Groonga v4.0.2ドキュメント から。