Algolia Community Party in 京都 - 2019年5月10日 参加レポート

algolia.connpass.com こちらに参加しましたので、ご報告までに記事を書こうと思います。

Algolia Community Party in 京都 - 2019年5月10日
Algolia Community Party in 京都 - 2019年5月10日

Algoliaって?

百聞は一見にしかず

まずは下記サイトで、色々検索してみて下さい!

どれも爆速に結果が返ってきませんか !? これ、 実はSaaSで動いているんですよ ?

概要

www.algolia.com

Products to accelerate search and discovery experiences across any device and platform.

Algoliaは、全文検索を提供してくれるSaaSです。 全文検索を使う場合、一般的にはElastic SearchやSolrといったものをサーバに乗せて管理することが多いかと思います。 使い始めると、「カテゴリ選択、ファセット絞り込み、ハイライト」等の機能がほしくなり、独自開発することもあると思います。 Alogliaでは、そういった全文検索に関わる機能をSaaSとして提供してくれます。

使われているところでは、ブログサービスであるmediumや、オンライン決算処理であるStripeのドキュメントがメジャーでしょうか。 エンジニア向けとしては、Docker Hubにも使われています。また、Firebaseの公式でも使用事例として紹介されています。これは驚きですね。

firebase.google.com

Algoliaの会社としては、フランスから2012年よりスタートしました。 ベンチャー企業であり、日本人のエンジニア募集もあるそうです。

SaaSコミュニティ用のイベントがあるそうで、こちらにAlgoliaさんも登壇されています。 www.saastr.com www.saastr.com

どんな機能があるの?

お話をAlgoliaのSolution Architectである@shinodoggから説明があったものとして、下記のような機能があるそうです。

  • 検索時の表記ゆれ
  • タイプミス補助
  • カテゴリ、ファセットによる絞り込み
  • 検索キーワードのハイライト
  • パーソナライゼーション
  • A/B テスト
  • GEO検索
  • 画像検索
  • 音声検索

他にも「安い」と検索すると設定次第で「500円以下の商品」を表示させるような こともできるそうです。あとは、チャットボットにも使えるとのことです。

※ ただ、まだ日本語には対応していないみたいで、現在開発中とのこと。

どうやって使うの?

github.com OSSとしてライブラリを提供されています。 手っ取り早く使いたいときは、instantsearch.jsでしょうか。

community.algolia.com こちらも参考になるかと思います。

Algoliaは知っていたの?

知っていました。 Algoliaを知ったきっかけは、大学時代の友人(id:castaneai)からでした。 Algoliaは、全文検索システムを構築せずとも、お手軽に使えて、しかも高機能なSaaSということで、 個人開発をする私にとって興味を持ち始めました。

その後、下記の記事で書いた通りOSS Gateの対象にもさせてもらいました。

tech-blog.monotaro.com

また、作りたいものリストに溜まっていたアプリを作る時間があったので、 最近では、下記のような書籍管理を作りました。検索はAlgoliaを使っています。

github.com

なぜ会場が、はてな株式会社なの?

はてなの社長であるid:chris4403さんが、@shinodoggと前職での知り合いだったからだそうです。

mackerel.io

はてなも、サーバー監視サービスであるmackerel(鯖)をSaaSとして提供しています。 このお二方が、前職を離れてからも、同様の事業に携わっているということに、不思議な縁だな〜と思いました。

会場では、ピザを提供して頂きました。美味しかったです!ごちそうさまでした!

最後に

SaaSは、その専門の技術を持ってサービス提供をされています。 独自に開発するよりも、そういった専門のSaaSを駆使することで、 開発コストや運用コストの削減につながります。 そもそも、そういった専門技術を持っていない環境は、独自開発することとなり、 学習コストもかかりますし、非機能要件を考えないといけないので大変です。

「かけるべき部分に時間を割いて、それ以外はSaaSに移す」というのは今の時代の効率良い開発スタイルだなと思います。