Groonga on スマホ
全文検索エンジンGroongaを囲む夕べ4
2013 / 11 / 29
自己紹介
丸山 謙志

Groonga, Grnxx, Mroonga Developer
Twitter @iskm
興味

Search Engine
Data Mining
Smart Phone
アジェンダ
・Groonga on スマホ アプリの紹介
・なぜ Groonga を選ぶか
・スマホの制約 (iOS)
・Groonga on スマホ 工夫点
iMirrors(仮)
スマホユーザ向けアプリ

電波なしを検知すると、
オフラインモードに自動スイッチ
Onlineでアクセスしたデータ
をキャッシュ、オフラインで検索
オフライン検索
メリット
①パケット節約 (SIMフリー, パケット上限(ex: 7GB))
②キャッシュ検索は通信しない分速い
③海外、電波ない場所(山、トンネル等)、災害時用
④複数台スマホ持ち向け P2P 検索
Demo
なぜ Groonga を 選ぶか
iOS の 場合
全文検索: SQLite FTS3 and FTS4 Extensions
・iOS6以前は全文検索拡張は自前でSQLite ビルドが必要
・日本語対応:iOS7でも自前で半角スペース区切り等...
スマホの制約(iOS)
・アプリが利用できるメモリ上限
20~30MBでアプリ強制終了
・仮想メモリシステムは ページアウトできない
メモリ不足をアプリに警告、Kill
・iPhone5(iOS7) mmap(2) メモリ確保
1GB が 限界...
Groonga on スマホ
工夫点
・インデックス静的構築 (cf.動的構築:索引大規模, 更新頻繁)
データ挿入、更新はバックグラウンド処理
   (ユーザはいつでも画面閉じる 10分間猶予)
UI ローディング(検索させない)
・適切な大...
ご清聴ありがとうございました
iMirrors ランディングページ

http://www.getmirrors.info/
Upcoming SlideShare
Loading in …5
×

I mirrors 20131129

1,177 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,177
On SlideShare
0
From Embeds
0
Number of Embeds
54
Actions
Shares
0
Downloads
4
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

I mirrors 20131129

  1. 1. Groonga on スマホ 全文検索エンジンGroongaを囲む夕べ4 2013 / 11 / 29
  2. 2. 自己紹介 丸山 謙志 Groonga, Grnxx, Mroonga Developer Twitter @iskm 興味 Search Engine Data Mining Smart Phone
  3. 3. アジェンダ ・Groonga on スマホ アプリの紹介 ・なぜ Groonga を選ぶか ・スマホの制約 (iOS) ・Groonga on スマホ 工夫点
  4. 4. iMirrors(仮) スマホユーザ向けアプリ 電波なしを検知すると、 オフラインモードに自動スイッチ Onlineでアクセスしたデータ をキャッシュ、オフラインで検索
  5. 5. オフライン検索 メリット ①パケット節約 (SIMフリー, パケット上限(ex: 7GB)) ②キャッシュ検索は通信しない分速い ③海外、電波ない場所(山、トンネル等)、災害時用 ④複数台スマホ持ち向け P2P 検索
  6. 6. Demo
  7. 7. なぜ Groonga を 選ぶか iOS の 場合 全文検索: SQLite FTS3 and FTS4 Extensions ・iOS6以前は全文検索拡張は自前でSQLite ビルドが必要 ・日本語対応:iOS7でも自前で半角スペース区切り等処理 してデータ挿入する必要あり ・結局利用するには、O/R Wrapper が必要 Groonga ・トークンナイザー選択肢豊富 + CJK サポート ・開発がアクティブ、オープン(毎月肉の日にリリース)
  8. 8. スマホの制約(iOS) ・アプリが利用できるメモリ上限 20~30MBでアプリ強制終了 ・仮想メモリシステムは ページアウトできない メモリ不足をアプリに警告、Kill ・iPhone5(iOS7) mmap(2) メモリ確保 1GB が 限界 = 物理メモリの上限 メモリ・オーバコミットできない
  9. 9. Groonga on スマホ 工夫点 ・インデックス静的構築 (cf.動的構築:索引大規模, 更新頻繁) データ挿入、更新はバックグラウンド処理    (ユーザはいつでも画面閉じる 10分間猶予) UI ローディング(検索させない) ・適切な大きさにテーブル分割 アプリのメモリ使用上限に対処 ・〇〇し終えたら、関連オブジェクトへの強い参照を削除 ページアウトできない仕様に対処
  10. 10. ご清聴ありがとうございました iMirrors ランディングページ http://www.getmirrors.info/

×