インスタント検索を実現するAlgolia

Algoliaとは?
Algoliaはフランスの人のfounderが2012年にはじめた検索のスタートアップです。

Algoliaの何がすごいの?
AlgoliaのサーバーにデータをJSON形式で保存するとデータが自動的にインデックスされ検索を高速に行うことができます。

これまで検索を行うには各種の条件を選んで検索ボタンを押して結果を待つみたいのが普通でしたがAlgoliaを使うことで検索条件を変えた瞬間に検索結果がでるようになります。

Algoliaのデモ
https://community.algolia.com/instantsearch.js/examples/
Algoliaを使った検索のでもサイトのいくつか、検索結果がリアルタイムに変わるのが分かりますね。

Place App
https://place-app-4fc5b.firebaseapp.com/
こちらは天野が作ったレストラン検索PWAです。
アプリを立ち上げるとGPSで現在位置を拾ってきて、近いレストランからリストアップされます。「中華」や「イタリアン」を入力した瞬間結果が変わります。予算のスライダーを動かしても結果が変わります。

恵比寿と渋谷のレストランがメインなので恵比寿でどこで飯食いに行こうかってなった時にスマホから立ち上げてみてください。立ち上げるだけで近くのレストランがいっぱい出てきます。

検索できる対象
Algoliaでインスタント検索できる対象はテキストだけではなく、数字や位置情報の距離なども検索できるようになります。

先程のAlgoliaのデモサイトでは価格の範囲を変えるだけで検索結果が変わりましたね、またレストランPWAはAlgoliaの位置情報検索を使っています。

Algoliaの実装の実際
https://www.algolia.com/doc/api-client/
Algoliaには様々な言語用のクライアントライブラリがあり、得意な言語のライブラリを使ってAlgoliaを使うことができます。天野はデータの登録にはPHPのライブラリを使ってAPI経由で取ってきたデータをAlgoliaに登録することが多く、表のPWAではAngularを使っているのでJavascriptのライブラリを使って検索の実装をしています。

日本語でも問題なく動作するAlgolia、これからいろんなプロジェクトに使っていくつもりです。

Show your support

Clapping shows how much you appreciated Takeshi Amano’s story.