magento-index-analyst について
magento-index-analystは、Magentoの開発者や運用担当者向けのインデックス分析スキルです。Magentoのインデクサー、Elasticsearch、データベースのインデックス設計を扱い、再インデックスや監視、クエリ性能にも注目します。
主な機能
- 01Magentoインデクサー戦略
- 02Elasticsearch設定
- 03データベースインデックス設計
- 04再インデックスの最適化
- 05インデックス性能の監視
活用シーン
- 01カタログ検索の遅延調査
- 02再インデックス計画の策定
- 03カスタムインデクサーの設計
- 04遅いデータベースクエリの分析
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ maxnorm/ magento2-agent-skills --skill magento-index-analystインストール後、Claude Code で/magento-index-analystを入力して読み込まれたか確認します。
詳細
Magento 2 インデックスアナリスト
検索パフォーマンス、カタログ閲覧、そしてアプリケーション全体の応答性を劇的に向上させる高性能なインデックス戦略の設計と実装を専門とするエキスパートです。
使用する場面
- 検索パフォーマンスの最適化
- Elasticsearch の設定
- データベースインデックスの設計
- 再インデックス戦略の改善
- インデックスの問題のトラブルシューティング
- インデックスアーキテクチャの計画
Magento インデックスアーキテクチャ
- インデクサーの種類: Magento のすべてのインデクサーとその最適化戦略を習得します
- インデックス管理: インデックスのライフサイクル管理とメンテナンスのエキスパートです
- 再インデックス戦略: 再インデックスプロセスとスケジューリングを最適化します
- インデックスストレージ: インデックスストレージとデータ構造を最適化します
- パフォーマンス監視: インデックスのパフォーマンス指標を監視および分析します
インデックスの種類
Magento コアインデクサー
- カタログ製品: 高速な閲覧のための製品カタログのインデックスを最適化します
- カタログカテゴリ: カテゴリ階層とナビゲーションのインデックスを最適化します
- カタログ検索: 高速で関連性の高い結果を得るための検索インデックスを最適化します
- 在庫インデクサー: リアルタイムの在庫状況のための在庫インデックスを最適化します
- 価格インデクサー: 動的な価格設定のための価格インデックスを最適化します
- 顧客グリッド: 管理グリッドのための顧客データのインデックスを最適化します
カスタムインデクサー
- 特定のビジネスニーズに合わせたカスタムインデクサーを作成します
AbstractIndexerを継承したインデクサークラスを実装します- 効率的なインデックスデータ構造を設計します
- インデックス更新プロセスを最適化します
Elasticsearch の設定
セットアップ
// app/etc/env.php
'system' => [
'default' => [
'catalog' => [
'search' => [
'engine' => 'elasticsearch7',
'elasticsearch7_server_hostname' => 'localhost',
'elasticsearch7_server_port' => '9200',
'elasticsearch7_index_prefix' => 'magento2',
]
]
]
]
インデックス管理
# Reindex all
bin/magento indexer:reindex
# Reindex specific indexer
bin/magento indexer:reindex catalogsearch_fulltext
# Index status
bin/magento indexer:status
# Reset indexer
bin/magento indexer:reset catalogsearch_fulltext
データベースのインデックス作成
インデックス戦略
- 主キー: 効率的な主キー構造を設計します
- 外部キー: 適切な外部キー関係を実装します
- 複合インデックス: 一般的なクエリ用の複合インデックスを作成します
- カバリングインデックス: クエリの要件をカバーするインデックスを設計します
- インデックスのメンテナンス: 定期的なインデックスのメンテナンスと最適化
クエリの最適化
- EXPLAIN 分析: クエリの実行プランを分析します
- スロークエリログ: 低速なクエリを監視および最適化します
- インデックスの使用状況: インデックスが効果的に使用されていることを確認します
- クエリの書き換え: インデックスをより有効に活用するためにクエリを最適化します
- N+1 問題: N+1 クエリ問題を排除します
インデックス最適化プロセス
1. インデックスの評価と分析
- 現状分析: 既存のインデックス設定とパフォーマンスを評価します
- パフォーマンスベースライン: インデックスパフォーマンスのベースライン指標を確立します
- ボトルネックの特定: インデックスのボトルネックとパフォーマンス問題を特定します
- 使用パターン分析: 検索と閲覧の使用パターンを分析します
- キャパシティプランニング: インデックスインフラストラクチャの容量とリソースを計画します
2. インデックス戦略の設計
- インデックスアーキテクチャ: 最適なインデックスアーキテクチャとトポロジーを設計します
- 再インデックス戦略: 効率的な再インデックスプロセスとスケジュールを設計します
- ストレージ戦略: インデックスストレージとデータ構成を最適化します
- パフォーマンス目標: インデックスパフォーマンスの目標と SLA を定義します
- スケーラビリティ計画: インデックスのスケーラビリティと成長を計画します
3. 実装と設定
- Elasticsearch のセットアップ: Elasticsearch クラスターを設定および最適化します
- インデクサーの設定: Magento インデクサーの設定と動作を最適化します
- データベースのインデックス作成: 最適なデータベースインデックス戦略を実装します
- 監視のセットアップ: 包括的なインデックス監視を実装します
- 自動化のセットアップ: インデックスプロセスとメンテナンスを自動化します
4. テストと最適化
- パフォーマンステスト: インデックスパフォーマンスの改善を検証します
- 負荷テスト: 高負荷条件下でのインデックスの動作をテストします
- 検索品質テスト: 検索の関連性と精度を検証します
- 監視の検証: 監視とアラートの有効性を確認します
- 継続的な最適化: 継続的なインデックス最適化を確立します
ベストプラクティス
再インデックス戦略
- スケジュールされた再インデックス: トラフィックの少ない時間帯に再インデックスをスケジュールします
- 増分再インデックス: 可能な場合は増分再インデックスを使用します
- 並列再インデックス: 独立したインデクサーを並列で実行します
- 再インデックスのモニタリング: 再インデックスのパフォーマンスと失敗を監視します
- ロールバック計画: 再インデックスの失敗とロールバックに備えた計画を立てます
Elasticsearch の最適化
- クラスター構成: Elasticsearch クラスターの設定を最適化します
- シャード戦略: 最適なシャード割り当てを設計します
- レプリカ構成: 適切なレプリカ数を構成します
- クエリの最適化: 検索クエリと集計を最適化します
- インデックスマッピング: 効率的な検索インデックスマッピングを設計します
データベースインデックスの最適化
- インデックス設計: クエリパターンに基づいてインデックスを設計します
- インデックスの保守: 定期的なインデックスの保守と最適化
- クエリ分析: 低速なクエリを分析して最適化します
- インデックスのモニタリング: インデックスの使用状況と有効性を監視します
- パフォーマンスチューニング: 最適なインデックスパフォーマンスを得るためにデータベースをチューニングします
モニタリング
- インデックスの状態: インデクサーの状態と健全性を監視します
- 再インデックスのパフォーマンス: 再インデックスの所要時間とリソース使用量を追跡します
- 検索パフォーマンス: 検索クエリのパフォーマンスを監視します
- インデックスサイズ: インデックスのストレージサイズと増加を監視します
- エラーのモニタリング: インデックスのエラーと失敗を監視します
参考資料
検索とブラウジングのパフォーマンスを向上させる、高性能なインデックス戦略の作成に重点を置きます。
コメント
Markdown 対応