20121123 groonga nanapi
- 1. groonga を囲む夕べ
- nanapi 利用事例 -
- nanapi 利用事例 -
株式会社 nanapi CTO 和田修一
shuichi.wada@nanapi.co.jp
- 2. 本日のアジェンダ
自己紹介
活用事例
? サイト内検索として利用
? 検索のサジェストとして利用
困ったこと&ほしい機能
- 3. 自己紹介
名前
和田修一 (わだっぷ)
所属
株式会社 nanapi 取締役 CTO
BLOG
Unix 的なアレ - http://d.hatena.ne.jp/wadap/
- 4. nanapi ご存知ですか?
リリース : 2009 年 9 月
月間 UU : 1700 万
月間 PV : 5000 万
記事数 : 50000 件
- 5. mroonga 導入
mroonga 導入 2012 年 4 月
2012 年 4 月
Tritonn 導入
Tritonn 導入 2010 年 3 月
2010 年 3 月
検索なんてできなかった
検索なんてできなかった 2009 年 9 月
2009 年 9 月
いままでの検索エンジンの経緯
- 6. 利用方法
mroonga の wrapper mode を利用
※innoDB の Transaction を利用したいため
- 14. 検索用にテーブルを用意して、マージ
記事マスタ (MySQL)
評価情報( MySQL )
?記事保存時のコールバック
?バッチ処理 検索用データ
カテゴリー階層データ (MySQL)
サイト内検索
Pageview(TokyoTyrant)
PV のような随時変わるもの以外は、
ほぼ全てコールバックメソッドで保存
- 18. 検索ワードサジェストの出し方
恋愛
恋愛したい
心構え
チャンスを逃さない
女性の見抜き方
男性の見抜き方
モテる方法
男性編
女性編
男心を理解する
いい女になる
女子力を高める
- 20. テーブル構造
id parent_id 階層名 階層名(長い) ローマ字
(短い)
1 0 恋愛のハウツー 恋愛 rennai
2 1 恋愛したい これから恋愛したい人のためのハウツー rennai
3 2 心構え 恋をしたい人の心構え kokorogamae
チャンスを逃さな
4 2 恋のチャンスを逃さない方法 tyansuwonogasanai
い
オーソドックスな階層構造管理
- 21. インデックスの貼り方
id parent_id 階層名 階層名(長い) ローマ字
(短い)
1 0 恋愛のハウツー 恋愛 rennai
2 1 恋愛したい これから恋愛したい人のためのハウツー rennai
3 2 心構え 恋をしたい人の心構え kokorogamae
チャンスを逃さな
4 2 恋のチャンスを逃さない方法 tyansuwonogasanai
い
階層名とローマ字で複合 INDEX
- 25. mroonga でこまったこと
mysql > INSERT INTO search_table (id, data) VALUES (1, "foo");mysql > SELECT
LAST_INSERT_ID();
+-------------------------+| LAST_INSERT_ID() |+-------------------------+| 0|
+-------------------------+1 row in set (0.00 sec)
Σ( ? д ? lll) ????