前回
参加者
4人(うち1人が初参加)
会場
株式会社ぐるなび本社 6F 会議室
進め方
- Groongaドキュメント読書会1の進め方 - Kouhei Sutou - Rabbit Slide Show
- Groongaドキュメント読書会5の進め方 - Kouhei Sutou - Rabbit Slide Show
読んだ場所
初参加の人もいたので、前回途中だった4.7.3. カラムインデックスによる関連テーブルをまたぐ検索の先頭から、最初のselectコマンド(select Articles --match_columns comment.content --query groonga --output_columns "_id, _score, *"
)の実行例まで
改善提案
- 英語と日本語が混ざっているので、どちらかに統一する
- Commentsテーブル
- 記事テーブル
- 最初に概要を説明するのはあまりよくないかもしれない
- 文で説明されてもわからない
- 箇条書きで説明したほうがいいかもしれない
簡単なpull request方法
環境構築が難しければ、直接GitHubからpull requestを送る方法でよい。
以下の手順で、ブラウザだけでpull requestできる。
- GitHubのリポジトリを開く
-
doc/sourceから対象ファイルを探す
- groonga.org/docs/xxx/yyy.htmlなら、doc/source/xxx/yyy.rst
- 右上の鉛筆マークを押して編集モードに入る
- 編集する
- 形式はreST(reStructuredText)
- doc/sourceは翻訳前のファイルなので、ほぼ英語
- 翻訳のしくみを使うには環境構築が必要
- 保存すると、pull request画面に飛べる
解説メモ
GroongaのTokenBigramの挙動
- GroongaのTokenBigramは、ノーマライザーと一緒に使うと英語と日本語で挙動が変わる
- 英語はスペースや記号で区切られるようになる
- 日本語は2文字ずつ区切られる
- ノーマライザーを使わない場合は英語も2文字ずつ区切られる
COLUMN_SCALAR ShortText
の意味
-
COLUMN_SCALAR
がカラムの型- どうやって値を入れるか
- スカラーやベクターなど
-
ShortText
がカラムに入れるデータの型- どんな値を入れるか
- 数値や文字列など
カラムの型の違い
COLUMN_SCALAR
- 値を1つだけ入れる
COLUMN_VECTOR
- 配列のように順序付けて複数の値を入れる
COLUMN_INDEX
- 検索しやすいようにソートしたりして複数の値を入れる
- 検索のための付加情報も入れられる
- データの型はテーブル参照型にする必要がある
文字列型について
- ShortText、Textは共に可変長で、最大長が異なる
- ただし、実は今のところ最大長のチェックをしていないので同じように扱われる
- しかしながら、そのうち型によって最適化するかもしれないので適切に設定するべき
出力内容について
-
--output_columns
の*
(アスタリスク)は検索対象のテーブル(Articles)のすべてのカラムを出力する- SQLの
*
と同じような意味
- SQLの
- commentで出力されているのは、Commentsテーブルのキー
- 内部的にはIDが格納されているが、IDを表示してもナンノコッチャだからキーを出力している
次回
9月上旬に開催予定
感想
- 駅のホームで迷いかけた
- 初参加の人がよい質問をしてくれたので理解が深まった
- 会場設備が整っていて快適だった
- プロジェクター、ホワイトボード完備
- 電源は借りるものではなくいただくもの
- ぐるなびさんいつもありがとうございます!
おまけ
板書用の撮影機材がかっちょよかった。撮影を手伝ったこともあり、公開が待たれる。
読書会の様子です / Groongaドキュメント読書会8 (07月22日) #groonga https://t.co/U0vxHlTNOW pic.twitter.com/BvVIZdHEFG
— みょこやまー (@myokoym) 2015, 7月 22