mroongaとowncloudの良い関係 groonga meetup 2015
TRANSCRIPT
![Page 1: MroongaとownCloudの良い関係 Groonga Meetup 2015](https://reader036.vdocuments.net/reader036/viewer/2022062821/5888b2e11a28ab80248b5bd7/html5/thumbnails/1.jpg)
1
Mroonga と ownCloud の良い関係
株式会社スタイルズ(旧:ビーグッド・テクノロジー)
![Page 2: MroongaとownCloudの良い関係 Groonga Meetup 2015](https://reader036.vdocuments.net/reader036/viewer/2022062821/5888b2e11a28ab80248b5bd7/html5/thumbnails/2.jpg)
Who am I ?
経歴 : システム運用 4 年・システム開発 7 年経験 近頃は ownCloud や他 OSS を眺める担当 あだ名 : マギー 好きな全文検索エンジン : Mroonga 趣味 : Splatoon (スプラトゥーン) ランク 29 ウデマエ B
髙橋 ゆうき 1980 年 10 月 31 日生まれ
・東京都八王子生まれ多摩育ち・ ownCloud.jp の中の人・ Softlayer 本に寄稿してます→
ukitiyan
![Page 3: MroongaとownCloudの良い関係 Groonga Meetup 2015](https://reader036.vdocuments.net/reader036/viewer/2022062821/5888b2e11a28ab80248b5bd7/html5/thumbnails/3.jpg)
社名変更・事務所移転しました!
会社名 株式会社スタイルズ 所在地 東京都千代田区神田小川町1丁目2番地
TEL 03-5244-4111 (代表)
URL http://www.stylez.co.jp/ 設 立 平成 15 年 12 月 5 日(創業:平成 5 年 11 月 17
日)
代表者 代表取締役社長 梶原稔尚
社員数 93 名(平成 27 年 11 月 1 日現在)
資本金 3,000 万円
IT ソリューションサービス提供 コンサルティング システム開発・保守 インフラ設計・構築 システム運用・保守・管理 技術者派遣
JQA-QM7536
ISO9001 JQA-QM7536 (システム開発)
プライバシーマーク 21000092 労働者派遣事業(般 13-305944 )
会社概要
取得資格平成 23 年度 平成 24 年度 平成 25 年度 平成 26 年度
7.99 8.41 8.87 9.84 100.0% 105.3% 105.5% 110.9%
売上高推移(億円)
売上高 前年比
システム開発・保守30%
インフラ設計・構築10%運用・保守サービス
20%
システム運用・管理24%
コンサルティング1%
技術者派遣15%
売上高
OSS (オープンソースシステム)を積極的に活用、コストメリットのあるシステム提案、 IT 技術の有効活用によるベスト・ソリューションの提供。
事業内容
ITソリューション
サービス
システム開発
システム運用保守
インフラ構築
技術者派遣
会社方針
業績(株式会社ビーグッド・テクノロジーの業績)
![Page 4: MroongaとownCloudの良い関係 Groonga Meetup 2015](https://reader036.vdocuments.net/reader036/viewer/2022062821/5888b2e11a28ab80248b5bd7/html5/thumbnails/4.jpg)
![Page 5: MroongaとownCloudの良い関係 Groonga Meetup 2015](https://reader036.vdocuments.net/reader036/viewer/2022062821/5888b2e11a28ab80248b5bd7/html5/thumbnails/5.jpg)
ownCloud を展開するうえでMroonga にお世話になった
ストーリーをいくつか紹介します
(※技術的な話は、あまりありません)
![Page 6: MroongaとownCloudの良い関係 Groonga Meetup 2015](https://reader036.vdocuments.net/reader036/viewer/2022062821/5888b2e11a28ab80248b5bd7/html5/thumbnails/6.jpg)
まずは、 ownCloud の概要から
![Page 7: MroongaとownCloudの良い関係 Groonga Meetup 2015](https://reader036.vdocuments.net/reader036/viewer/2022062821/5888b2e11a28ab80248b5bd7/html5/thumbnails/7.jpg)
What is ownCloud Dropbox のようなファイル共有・同期環境を、社内 DC ・学内 DC ・クラウド等自身の環境に構築できるオープンソースサーバーソフトウェアです。( PHP )
IT MANAGED・ Storage and Servers・ User Provisioning
IT MANAGED・ Security・ Governance
![Page 8: MroongaとownCloudの良い関係 Groonga Meetup 2015](https://reader036.vdocuments.net/reader036/viewer/2022062821/5888b2e11a28ab80248b5bd7/html5/thumbnails/8.jpg)
8
企業 A
企業 B
個人FIREWALL
自身の環境に構築できるので、大切なデータやユーザを管理されたポリシー配下で運用できます。
ownCloud overview
![Page 9: MroongaとownCloudの良い関係 Groonga Meetup 2015](https://reader036.vdocuments.net/reader036/viewer/2022062821/5888b2e11a28ab80248b5bd7/html5/thumbnails/9.jpg)
9
つまり、シャドー IT 対策としても有効です。
ownCloud overview
![Page 10: MroongaとownCloudの良い関係 Groonga Meetup 2015](https://reader036.vdocuments.net/reader036/viewer/2022062821/5888b2e11a28ab80248b5bd7/html5/thumbnails/10.jpg)
ownCloud overview操作画面
![Page 11: MroongaとownCloudの良い関係 Groonga Meetup 2015](https://reader036.vdocuments.net/reader036/viewer/2022062821/5888b2e11a28ab80248b5bd7/html5/thumbnails/11.jpg)
ownCloud overviewオンラインストレージとしての様々な用途
データ保存
外部ストレージドラッグ & ドロップファイル共有
モバイル・PCクライアント
(WebDav)
外部ストレージ連携
ActiveDirectory連携
![Page 12: MroongaとownCloudの良い関係 Groonga Meetup 2015](https://reader036.vdocuments.net/reader036/viewer/2022062821/5888b2e11a28ab80248b5bd7/html5/thumbnails/12.jpg)
様々な文書を簡単に無制限に保存していくとあるニーズが生まれます
![Page 13: MroongaとownCloudの良い関係 Groonga Meetup 2015](https://reader036.vdocuments.net/reader036/viewer/2022062821/5888b2e11a28ab80248b5bd7/html5/thumbnails/13.jpg)
文書を簡単に探したい・・・
![Page 14: MroongaとownCloudの良い関係 Groonga Meetup 2015](https://reader036.vdocuments.net/reader036/viewer/2022062821/5888b2e11a28ab80248b5bd7/html5/thumbnails/14.jpg)
ストーリー その1それは、某企業の偉い人の一言から、、
ownCloud で全文検索できれば絶対いけるから、よろしくマギー!!
じゃ、僕が最近触ってる Solr とのコラボでいきますね!
んー、 Solr もいいけど、導入コスト高くなるから、別の案でよろしくー
あ、はい。。
![Page 15: MroongaとownCloudの良い関係 Groonga Meetup 2015](https://reader036.vdocuments.net/reader036/viewer/2022062821/5888b2e11a28ab80248b5bd7/html5/thumbnails/15.jpg)
可能性のあるソリューション
① 偉い人を説得
② Github からプラグインを探す
③ Mroonga と連携して全文検索
![Page 16: MroongaとownCloudの良い関係 Groonga Meetup 2015](https://reader036.vdocuments.net/reader036/viewer/2022062821/5888b2e11a28ab80248b5bd7/html5/thumbnails/16.jpg)
② Github からプラグインを探すSearchLucene というプラグインがマーケットプレイスに!
Zend Search Lucene で全文検索するプラグイン apps ディレクトリの下にソース配置してアクティベーションするだけ
でも、日本語が検索できない \ (^o^)/
![Page 17: MroongaとownCloudの良い関係 Groonga Meetup 2015](https://reader036.vdocuments.net/reader036/viewer/2022062821/5888b2e11a28ab80248b5bd7/html5/thumbnails/17.jpg)
③ Mroonga と連携して全文検索
簡単に実現できました!
![Page 18: MroongaとownCloudの良い関係 Groonga Meetup 2015](https://reader036.vdocuments.net/reader036/viewer/2022062821/5888b2e11a28ab80248b5bd7/html5/thumbnails/18.jpg)
ownCloud の一般的な構成例LAMP 環境で動作します。
MySQL との接続をサポート ( PostgreSQL も OK ) アドオン機構と多彩な APIがあるので、独自プラグインの
開発可能 (アドオンの作り方は以下参照)
App Server 1 DB ServerClient
http://www.slideshare.net/ukitiyan/owncloud-2014-phpconference-40255918
![Page 19: MroongaとownCloudの良い関係 Groonga Meetup 2015](https://reader036.vdocuments.net/reader036/viewer/2022062821/5888b2e11a28ab80248b5bd7/html5/thumbnails/19.jpg)
ownCloud と Mroonga を連携した構成DB を Mroonga に変えるだけ!(ほぼ)
ownCloud に保存されたドキュメントを Mroonga にインデックス化 ドキュメントからのテキスト抽出には Apache Tika を採用 全文検索の結果は標準で用意されている検索プロバイダに渡すだけ
App Server 1 DB ServerClient
定期的に新しいファイルをインデックス化
形態素解析エンジン:Mecab
①アップロード②インデックス
③検索
![Page 20: MroongaとownCloudの良い関係 Groonga Meetup 2015](https://reader036.vdocuments.net/reader036/viewer/2022062821/5888b2e11a28ab80248b5bd7/html5/thumbnails/20.jpg)
こんな感じになりました検索画面
検索部分の実装SQL> SELECT * FROM OC_SEARCH_GROONGA WHERE MATCH(`content`) AGAINST(? IN BOOLEAN MODE)
![Page 21: MroongaとownCloudの良い関係 Groonga Meetup 2015](https://reader036.vdocuments.net/reader036/viewer/2022062821/5888b2e11a28ab80248b5bd7/html5/thumbnails/21.jpg)
21
リリースから即引き合い ━キタ ( ゚∀゚ )━!!保険会社のコールセンター
グループウェアのファイル管理機能からの移行 コールセンターの応対資料の保管場所として ownCloud を採用 過去応対履歴の検索に全文検索したいというニーズ
本当ありがとうございます!
![Page 22: MroongaとownCloudの良い関係 Groonga Meetup 2015](https://reader036.vdocuments.net/reader036/viewer/2022062821/5888b2e11a28ab80248b5bd7/html5/thumbnails/22.jpg)
ストーリー その2それは、某企業の営業の一言から、、
お客さんが検索結果のスニペット表示を要望してるので、よろしく!( Google の検索結果で該当語が黄色くなるアレ)
あまり個別のお客さん用に独自の実装したくないかもー。。
いやいや、全文検索にスニペット必須だしょ?ちゃんと横展開するからー。
あ、はい。。
![Page 23: MroongaとownCloudの良い関係 Groonga Meetup 2015](https://reader036.vdocuments.net/reader036/viewer/2022062821/5888b2e11a28ab80248b5bd7/html5/thumbnails/23.jpg)
可能性のあるソリューション
① 営業を説得
② 独自にスニペット機能を実装
③ Mroonga のスニペット機能を利用
![Page 24: MroongaとownCloudの良い関係 Groonga Meetup 2015](https://reader036.vdocuments.net/reader036/viewer/2022062821/5888b2e11a28ab80248b5bd7/html5/thumbnails/24.jpg)
③ Mroonga のスニペット機能を利用
簡単に実現できました!
![Page 25: MroongaとownCloudの良い関係 Groonga Meetup 2015](https://reader036.vdocuments.net/reader036/viewer/2022062821/5888b2e11a28ab80248b5bd7/html5/thumbnails/25.jpg)
こんな感じになりました検索画面
検索部分の実装SQL> SELECT *, mroonga_snippet(content, 110, 1, 'utf8_general_ci', 1, 1, '...', '...', ?, '<label>', '</label>') FROM OC_SEARCH_GROONGA WHERE MATCH(`content`) AGAINST(? IN BOOLEAN MODE)
![Page 26: MroongaとownCloudの良い関係 Groonga Meetup 2015](https://reader036.vdocuments.net/reader036/viewer/2022062821/5888b2e11a28ab80248b5bd7/html5/thumbnails/26.jpg)
26
お客さんからありがたいお言葉!ownCloud側はフロントに注力
Mroongaが裏側すべてやってくれたので、 ownCloud は GUIの調整するだけ
スピーディーな対応が出来きたので、お客さんから褒められた!
本当ありがとうございます!
![Page 27: MroongaとownCloudの良い関係 Groonga Meetup 2015](https://reader036.vdocuments.net/reader036/viewer/2022062821/5888b2e11a28ab80248b5bd7/html5/thumbnails/27.jpg)
まとめDBがMySQL なら親和性高い!
元々 ownCloud は MySQL を DB として動作するプロダクトですので、 Mroonga との親和性も高かったです。
因みに ownCloud は PostgreSQL もいけるので、 PGroonga もありです。
ownCloud と、とても良い関係! オンラインストレージにアップロードしたコンテンツを日本語で
全文検索したいというニーズは多くあります。 Mroonga を利用することでスニペット含め簡単に実現できました。
その他 「Groonga で学ぶ全文検索」というセミナーで勉強できます。
自身も参加させてもらっています。 基本から応用まで幅広く勉強できます。
![Page 28: MroongaとownCloudの良い関係 Groonga Meetup 2015](https://reader036.vdocuments.net/reader036/viewer/2022062821/5888b2e11a28ab80248b5bd7/html5/thumbnails/28.jpg)
イカす!
![Page 29: MroongaとownCloudの良い関係 Groonga Meetup 2015](https://reader036.vdocuments.net/reader036/viewer/2022062821/5888b2e11a28ab80248b5bd7/html5/thumbnails/29.jpg)
ご清聴ありがとうございました。
![Page 30: MroongaとownCloudの良い関係 Groonga Meetup 2015](https://reader036.vdocuments.net/reader036/viewer/2022062821/5888b2e11a28ab80248b5bd7/html5/thumbnails/30.jpg)
30
新事務所の会議室をセミナー用にお貸しします! 収容人数: 30 名程度 利用料金: 無料
WI-FI : 完備 音響 : もうすぐ設置完了
お気軽に Facebook に DM ください!ukitiyan
今なら先着 3セミナーにピザパーティセット(ピザとビール)を提供します!