Doorkeeper

Groonga ソースコード読書会

2015-04-13(月)19:15 - 21:00 JST

株式会社 ビジネスバンクグループ

東京都港区南青山2-26-37 NXB青山7F

詳細

概要

このイベントは、全文検索エンジンの中身に興味がある方を対象に、
Groongaの実装を例に、実際にソースコードを読んだり、デバッガで動作を追いかけながら、内部動作の理解を深めることを目的とした勉強会です。

対象者

全文検索エンジンの中身に興味があって、
「C言語でプログラムを書いたことがある人」または「書いたことはないけど他の言語ではプログラムを書いた経験はあって、C言語の文法は知っている人」を対象としています。

場所と時間

  • 場所
    • 株式会社 ビジネスバンクグループ
    • 東京都港区南青山2-26-37 NXB青山7F
  • 時間
    • 受け付けは18:45ごろから始めます
    • 集まった方から順次デバッグ環境の準備などをしつつ、19:15頃から開始します
    • がっちりセミナー形式でやるわけでも(たぶん)ないので、途中からの参加で大丈夫です。

会場について

  • 入館受付は不要です。エレベータで7Fに上がり、正面の扉からお入りください。
  • 電源使えます。
  • WiFiも利用可能ですが、同時接続数が多くないので、モバイルのWiFiルータをお持ちの方はご持参いただけるとありがたいです。

勉強会の内容

今回の勉強会では、データインサート時に転置インデックスを作成する部分のコードを読みながら、データ構造や、転置インデックスがどのように作られているかという部分を中心に見ていきます。
勉強会終了時には、転置インデックスの作られ方、データの持ち方がわかってきた!と思えるようになることを目標とします。
勉強会では Groonga 5.0.2 リリース版のソースを参照します。
事前に入手したい方は、以下のurlからダウンロード可能です。
http://packages.groonga.org/source/groonga/groonga-5.0.2.zip

タイムテーブル

今のところ、タイムテーブルなどは特に決めていませんが、大まかにこんな感じの流れで考えています。

  1. 手元でビルドできる状態にする
  2. ビルドしたGroongaで転置インデックスを作るGroongaコマンドを実行できることを確認してみる
  3. デバッガーまたはコードを読んで「インサート時に転置インデックスを作る部分」を探す
  4. 「インサート時に転置インデックスを作る部分」にブレークポイントを張る
  5. コードを読んでこうなってそうと予想を立てる→実際にステップ実行で予想が正しいかを確認を繰り返す
  6. 「インサート時に転置インデックスを作る部分」を理解できる!

ご準備いただきたいもの

  1. 使い慣れたノートパソコン(Linux, Mac OS X, Windows いずれでも大丈夫です)
  2. 各環境に対応した、C言語のデバッグ環境
    • gdbを利用したデバッグ環境の作成はフォローいたしますのでご安心ください。
    • Windows の場合 Visual Studio 2013 express(無料) が利用可能です。 少しインストールに時間がかかってしまうので、可能であれば、以下のページから事前に「Visual Studio Express 2013 with Update 4 for Windows Desktop」のダウンロード&インストールをお願いいたします。 https://www.visualstudio.com/ja-jp/downloads/download-visual-studio-vs

参考URL

全文検索エンジンの仕組み、Groongaについてあまりご存じない方は、事前に以下のページを読んでおくとスムーズに話が理解できると思います。

Groonga 公式サイト
http://groonga.org/ja/

全文検索エンジンで使わrている「転置インデックス」について(ウィキペディア)
http://ja.wikipedia.org/wiki/%E8%BB%A2%E7%BD%AE%E3%82%A4%E3%83%B3%E3%83%87%E3%83%83%E3%82%AF%E3%82%B9

コミュニティについて

Groonga

Groonga

国産の高速全文検索エンジンGroongaに関する情報を交換するための場を提供します。 Groongaだけでなく、Groonga関連プロダクトについても扱います。例えば、次のようなプロダクトです。 Mroonga: MySQLからGroongaを使うためのストレージエンジン PGroonga: PostgreSQLからGroongaを使うための拡張機能 Droonga: 分散Groong...

メンバーになる