Slide 1

Slide 1 text

‘algoliasearch-rails’を用いて
 検索機能を実装してみた
 株式会社オープンエイト 中野 翼

Slide 2

Slide 2 text

自己紹介 中野 翼 2019年 2月 オープンエイトへジョイン       メディア事業のサーバーサイド       →新規事業のサーバーサイド 最近興味があること:React、Redux

Slide 3

Slide 3 text

Elasticsearchでの課題
 ・比較的学習コストが高い ・チューニング出来る人が限られてしまう ・検索結果を分析したいんだけど、どうしたら... ・Scoreって何の値ですか...

Slide 4

Slide 4 text

何かいいものは無いだろうか・・・

Slide 5

Slide 5 text

そうだ!Algoliaをつかってみよう

Slide 6

Slide 6 text

Algoliaとは ● サイト内の全文検索や、商品データベースの検索な どに特化したサービス ● サービス内のコンテンツデータをAlgoliaサーバにアップ ロードすることで、API経由でコンテンツデータに対して 全文検索を行うことが出来る ● 2019年5月に日本法人を設立、導入企業には Cookpadなどがある

Slide 7

Slide 7 text

Algoliaのうり ● GUIとAPIのどちらでも検索ロジックを柔軟に設定可能
 ● 世界各地にデータセンターがあるため、高速な検索結果 を提供
 ● GUI上で検索結果を分析出来る
 ● 様々なプログラミング言語向けにAPIを提供


Slide 8

Slide 8 text

良さそう

Slide 9

Slide 9 text

Railsに導入してみた READMEより抜粋 gem’algoliasearch-rails’をbundle install config/initializers/algoliasearch.rb

Slide 10

Slide 10 text

設定はこれだけ

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

検索でどんなデータが返ってきてるのか見れたり

Slide 13

Slide 13 text

検索での重み付けや表記揺れの修正もGUI上で可能

Slide 14

Slide 14 text

コードで設定したい場合

Slide 15

Slide 15 text

非同期でデータをindex登録したい

Slide 16

Slide 16 text

出来ます!(例:Sidekiqを使用した場合) 一部READMEより抜粋

Slide 17

Slide 17 text

関連モデルからのデータもindexに登録したい

Slide 18

Slide 18 text

出来ます!

Slide 19

Slide 19 text

まとめ ● Algoliaとは、モバイルアプリやWebサービスに導入 することで、全文検索エンジンが利用できるSaaS ● Documentが丁寧で導入が思ったより簡単で驚き ました ● 位置情報による検索などもあるので、試してみた い