MySQL・PostgreSQL上で動かす全文検索エンジン「Groonga」セミナー - Mroonga・PGroongaを使った全文検索システムの実装方法 #groonga #mysql #mariadb #postgresql - 2017-08-02 - ククログ

ククログ

株式会社クリアコード > ククログ > MySQL・PostgreSQL上で動かす全文検索エンジン「Groonga」セミナー - Mroonga・PGroongaを使った全文検索システムの実装方法 #groonga #mysql #mariadb #postgresql

MySQL・PostgreSQL上で動かす全文検索エンジン「Groonga」セミナー - Mroonga・PGroongaを使った全文検索システムの実装方法 #groonga #mysql #mariadb #postgresql

cairo色付きフォントサポートが入ったので、今回のスライドではNoto Color Emojiを使ってRabbitで色付きの絵文字を表示した須藤です。

2017年8月1日にMySQL・PostgreSQL上で動かす全文検索エンジン「Groonga」セミナーを開催しました。今回は業務でGroonga(Mroonga・PGroonga)を使いたい人向けのイベントだったので平日の午後に開催しました。

関連リンク:

内容

これまでのMroonga・PGroongaの紹介資料では、速さや機能を紹介するまとめ方が多かったのですが、今回の資料は「イマドキの全文検索システムを作るにはこんなSQLを使えばよい」というまとめ方にしました。逆引きレシピのようなまとめ方です。

話の流れは次のようになっています。全文検索システムを作る機会がある人は参考になるはずです。

  • イマドキの全文検索システムとは?

  • ミドルウェアの選び方は?判断基準は?

    • 全文検索サーバーを使う?

    • RDBMSだけでがんばる?

    • RDBMSに全文検索エンジンを組み込む?

  • イマドキの全文検索システムに必要な以下の機能をMroonga・PGroongaで実装するには?

    • 全文検索機能

    • キーワードハイライト機能

    • 周辺テキスト表示機能

    • 入力補完機能(今回はPGroongaのみ)

    • 同義語展開機能(今回はPGroongaのみ)

    • 関連文書の表示機能

  • 構造化された文書を検索対象にするには?

    • 構造化された文書の例:オフィス文書(Word・Excel・PowerPoint・LibreOfficeなどで作成した文書)

    • 構造化された文書の例:HTML(ヘッダー・フッター・サイドバーのテキストを取り除くなど、単にbody.innertTextの値を取得するだけではノイズが増えるので、いろいろケアが必要)

    • 構造化された文書の例:PDF

    • HTTPでテキスト抽出・スクリーンショット作成できるChupaTextの紹介

    • Dockerで使う:chupa-text-docker

    • Vagrantで使う:chupa-text-vagrant

まとめ

Mroonga・PGroongaでイマドキの全文検索システムを作る方法を紹介するセミナーを開催しました。クリアコードは全文検索システムの受託開発・設計支援・開発支援・障害調査支援など全文検索関係のもろもろをサポートするサービスを提供しています。とりあえず話を聞いて欲しいというレベルからでも結構ですので困っていることがあればお問い合わせください。