algoliasearch-railsを用いた検索機能の実装について

f:id:open8tech:20200130140625p:plain

こんにちは、オープンエイトのエンジニアの中野です!
今月の1/15にメドピア株式会社さんとエンジニアイベント「あなたの知ってるRubyGemsTips」を共同開催しました。 今回はRubyのGemに関するTipsついて、いろいろと情報を交換するというテーマでLTを行いました。主催枠として、私もLTを行ったので、簡単に発表内容を紹介します。

イベントの概要は以下のURLから確認出来ます。

connpass.com

発表内容

LTのテーマは「algoliasearch-railsを用いて検索機能を実装してみた」 登壇資料は以下になります。

speakerdeck.com

Algoliaとは

AlgoliaはモバイルアプリやWebサービスに導入することで、全文検索エンジンが利用できるSaaSです。2019年5月には日本法人を設立されてCookpadなどが導入していたり、急成長中のサービスになります。

www.algolia.com

Algoliaの良さとして、下記のような部分が大きく上がっています。

  • GUIAPIのどちらでも検索ロジックを柔軟に設定出来る。
  • 様々なプログラミング言語向けにAPIを提供している。
  • 高速な検索レスポンスを提供してくれる。
    →React.jsのドキュメントにも使用されているため、参考にリンクを載せておきます。

reactjs.org

Algoliaを触ったきっかけ

弊社では全文検索にElasticsearchを使用しているのですが、運用にいくつか辛い部分があったため、Algoliaを試してみることにしました。 AlgoliaはRailsで作られたアプリケーション用にalgoliasearch-railsというgemを提供してくれています。 ドキュメントが丁寧に書かれているため、こちらを見れば簡単に導入することが出来ます。

github.com

触ってみて良かった所

  • GUI上で検索結果を確認出来る。
    画像のようにサーチバーに文字列を入力すると検索結果を確認することが出来、検索クエリに対するレスポンスデータや文字のマッチ率なども確認することが出来ます。 f:id:open8tech:20200130133627p:plain

  • GUI上で簡単に検索をカスタマイズ出来る。
    画像の画面でカラムの重み付けや表記ゆれの修正も簡単に出来たりします。 f:id:open8tech:20200130133659p:plain

まとめ

検索体験向上にAlgoliaを使用してみるのはありだと思いました。検索機能の運用に悩んでいる方はぜひ一度Algoliaを触ってみて欲しいです。 また、今回初めて外部勉強会でLTをしてみて、外部の方々を交えてアウトプットを出す楽しさも経験出来たため、今後も定期的にLTに挑戦していきます。