Bubbleは、サードパーティの検索サービスプロバイダーであるAlgoliaと統合しています。この統合を使用するBubbleアプリは、インデックス作成のためにAlgoliaにデータを送信し、繰り返しグループや検索ボックスなどの要素を強化するためのデータソースとしてAlgoliaを使用します。
アルゴリアを利用するメリット
アルゴリアを利用するメリットは何ですか?アルゴリアの検索は高速で、バブルのネイティブ検索よりも大規模で顕著に高速です。もう一つは、カスタマイズ性です。アルゴリアは、検索アルゴリズムやその他のパラメータを微調整することができます。
プラグインをインストールする必要があるのとは異なり、この統合は、BubbleのGoogle MapsやGoogle Geocodeとの統合のように、エディタにネイティブに組み込まれていることに留意してください。
検討対象者
Bubbleにもネイティブな検索機能はありますが、Algoliaはよりパフォーマンスとカスタマイズ性の高い検索体験をスケールアップして提供します。また、この統合のユーザーは、独自のAlgoliaプランが必要になります(Algoliaは無料ティアも提供していますが)。つまり、Algolia は、ユーザー体験の重要な部分として検索に依存する大規模な Bubble アプリにより適しています。したがって、この機能は Professional プラン以上の Bubble アプリでのみ利用可能です。
アルゴリアの “プロ “レベル、またはそれ以上のレベルに興味がある方は、バブルチーム(support@bubble.io)までご連絡ください。アルゴリアの担当者とおつなぎし、実装やお客様にふさわしいかどうかをご相談させていただきます。
セットアップ
まず始めに、自分のアルゴリアアカウントを持ち、アルゴリアキーをアプリの設定にコピーする必要があります。アルゴリアアカウントを作成する際、自分でインデックスを作成する必要はありません。代わりに、サインアップした直後に、ダッシュボードの「APIキー」のセクションにアクセスしてください。このような画面が表示されます。
Bubbleアプリの「設定」>「一般サービスAPIキー」セクションに、「Algoliaで検索を有効にする」のチェックボックスがあります(このチェックボックスがない場合、アプリにこの機能がないため、正しい階層にない可能性があります)。チェックボックスをオンにすると、アプリケーション ID と Algolia ダッシュボードからの 2 つのキーの入力フィールドが表示されます。これらの値をコピーして貼り付けると、Bubble アプリはキーが正しい形式であることを確認します(下の緑色のテキストに注目してください)。
以下に述べるアルゴリア機能の他の部分は、「設定」で有効なキーとアプリケーションIDが供給されるまで表示されません。
インデックス作成
キーが追加された後、各データ型の「プライバシー」タブに、そのデータ型にAlgoliaでインデックスを付けるオプションが表示されます。
データ型が Algolia にインデックスされている場合、Bubble はすべての公開フィールドを Algolia に送信します。つまり、「Everyone else(デフォルト権限)」プライバシールールで検索により表示されるフィールドを送信します。Bubble は、あなたのために Algolia に必要なインデックスを自動的に作成します – それらのインデックスの名前を変更しないでください。
また、インデックスされるデータ型は、「Everyone else」パーミッションの「Find this in searches」にチェックが入っていることを確認します。
アルゴリアがインデックスを作成するデータタイプをトグルした後(右側のチェックボックス)、おそらくそのタイプのすべてのもののインデックス作成をトリガーしたいと思うでしょう。インデックスされたタイプのプライバシーページの上部にあるモーダルアクセスで、これを行うことができます。
また、開発データベース(”test”)、ライブデータベース、またはその両方に対してこの操作を行うことができます。完全なインデックス作成を行うには、一定期間にわたって顕著な容量を必要とする可能性があることに注意してください(物事の数に依存します)。したがって、すべてのデータ型の設定を調整した後に完全なインデックス作成を一度起動し、ピーク時以外に実行することをお勧めします。舞台裏では、フルインデキシングは大規模なCSVデータエクスポートと同じ処理を実行するので、実際にはApp Data > Exportでこれらのタスクの状態を確認することができます。
インデックスが作成されたデータ型のものが変更、追加、削除されると、Bubbleは自動的に対応するAlgoliaインデックスを更新しようとします。これは概ね信頼できるものですが、Algolia と Bubble データベースが「同期していない」ことが判明した場合は、いつでも上記と同じ方法で完全な再インデックス化を起動することができます。
セットアップ中、最初のインデックス作成を実行した後、Algoliaポータルをチェックして、新しく作成されたインデックスに期待通りのレコードが表示されていることを確認することをお勧めします。
検索について
アプリでAlgoliaを有効にすると、新しいデータソース「Search with Algolia」が表示されます。例えば、これは繰り返しグループのデータソースになったり、検索ボックスの「選択スタイル」になったりします。Algolia データソースでは、特定のフィールド、またはデータ型のすべてのフィールドに対するクエリを選択することもできます。
アルゴリアの結果のソート順はアルゴリアで管理されているので、バブルで変更することはできません。結局のところ、私たちは彼らのアルゴリズムに現れている検索の専門知識に頼っているのです。アルゴリアの検索アルゴリズムは、アルゴリアダッシュボードでカスタマイズすることができます。例えば、検索アルゴリズムにおける異なるフィールドの重みを変更することができます。注意:現在の統合の制限事項として、アルゴリアのインターフェイスで2つのフィールドを「同じ重み」に設定してはいけません。
Algoliaのデフォルト設定は、検索の最初の「ページ」に20件のエントリーを返すことであることに注意してください。現時点では、Bubbleアプリが他のページの結果にアクセスする方法はありませんが、Algoliaポータル>該当インデックス>設定>ページネーションで、最初のページの結果数を変更することができます。
既知の制限事項
アルゴリア機能のv1です。以下のような既知の制限があります。
・テキストと数値のフィールドにのみ対応しています。その他のフィールドタイプ(他のカスタムデータ型のフィールドを含む)については、Bubble はそれらのフィールドを Algolia に送信するよう「最善の努力」をしますが、おそらく賢明ではありません。繰り返しになりますが、Algoliaとの統合は、日付、地理的な住所、範囲、ユーザー、その他のカスタムデータ型のフィールドのような他のフィールドのためのものではありません。
・これは公開データフィールドにしか対応していないので、データのプライバシーが非常に重要な場合、例えばあるユーザーが他のユーザーのデータを見ることを防ぎたい場合には不向きです。例えば、短期レンタルマーケットプレイスのアプリで、すべてのユーザーがアプリ上のすべてのレンタルを見ることができる場合、これは良い方法です。しかし、Eコマースでは、多くのベンダーが存在し、あるベンダーの商品だけを検索できるようにすることはできません。
・アルゴリアは、特定のフィールドのサイズに制限を設けています。Bubble は特定の Thing に長すぎるフィールド(テキストフィールドが最も可能性の高い原因です)があることを検出すると、Algolia に送信できるように自動的にそれらを切り取ります。これは設定で無効にすることができますが、Algolia の設定でこれを考慮している上級ユーザのみが行う必要があります。
・Algoliaの設定で、2つのフィールドを「同じ重み」としてランク付けするオプションが表示されることがありますが、Bubbleの統合が壊れるので、このようなことはしないでください。
・バブルは自動的にアルゴリアのインデックスを作成します。これらのインデックスの名前は変更しないでください。
参考英語記事
https://manual.bubble.io/help-guides/working-with-data/using-algolia