mcpField
A
algolia-search

algolia-search

github.com/davila7開発33.0k211 回インストール今日更新
リポジトリ

algolia-search について

Algolia Search の統合パターンをまとめた開発スキルです。React InstantSearch、Next.js のサーバーサイドレンダリング、インデックス同期を扱い、検索画面の構築やインデックス更新を行う開発者向けです。

主な機能

  1. 01React InstantSearch Hooks の検索パターン
  2. 02Next.js のサーバーサイドレンダリング統合
  3. 03ルーティングと URL 同期の考慮事項
  4. 04全件、レコード単位、部分的なインデックス更新
  5. 05バッチ処理と差分更新の指針

活用シーン

  1. 01React アプリでのインスタント検索構築
  2. 02Next.js 検索のサーバーサイドレンダリング設定
  3. 03アプリケーションデータの Algolia インデックス同期
  4. 04インデックス内の指定属性のみ更新

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/davila7/claude-code-templates --skill algolia-search

インストール後、Claude Code で/algolia-searchを入力して読み込まれたか確認します。

詳細

Algolia 検索統合

パターン

フックを使った React InstantSearch

型先行検索(type-ahead search)のためにフックを使用する、最新の React InstantSearch のセットアップです。

react-instantsearch-hooks-web パッケージと algoliasearch クライアントを使用します。 ウィジェットはコンポーネントであり、classnames でカスタマイズできます。

主なフック:

  • useSearchBox: 検索入力の処理
  • useHits: 検索結果へのアクセス
  • useRefinementList: ファセットによるフィルタリング
  • usePagination: 結果のページネーション
  • useInstantSearch: 完全な状態へのアクセス
Next.js サーバーサイドレンダリング

react-instantsearch-nextjs パッケージを使った、Next.js 向けの SSR 統合です。

SSR では の代わりに を使用します。 Pages Router と App Router(実験的)の両方をサポートしています。

考慮すべき主な点:

  • 最新の結果を得るために dynamic = 'force-dynamic' を設定する
  • routing プロパティで URL の同期を処理する
  • 初期状態には getServerState を使用する
データの同期とインデックス作成

Algolia を データと同期させ続けるためのインデックス作成戦略です。

3 つの主なアプローチ:

  1. 完全な再インデックス作成 - インデックス全体を置き換える(コストが高い)
  2. レコードの完全な更新 - 個々のレコードを置き換える
  3. 部分更新 - 特定の属性のみを更新する

ベストプラクティス:

  • レコードをバッチ処理する(理想: 10MB、1 バッチあたり 1K〜10K レコード)
  • 可能な場合は増分更新を使用する
  • 属性のみの変更には partialUpdateObjects を使用する
  • deleteBy は計算コストが高いため避ける

⚠️ 注意すべき点

問題重大度解決策
問題criticalドキュメントを参照
問題highドキュメントを参照
問題mediumドキュメントを参照
問題mediumドキュメントを参照
問題mediumドキュメントを参照
問題mediumドキュメントを参照
問題mediumドキュメントを参照
問題mediumドキュメントを参照

コメント