magento 2の一括操作でインデックスの再作成を行う方法が見つかりませんでした。
cronjobから実行する必要があるようです。Magento 1.x(php shell/indexer.php -reindexall
)のように、バックエンドまたはコマンドラインからmagento 2のデータのインデックスを再作成する別の方法はありますか?
magento 2の一括操作でインデックスの再作成を行う方法が見つかりませんでした。
cronjobから実行する必要があるようです。Magento 1.x(php shell/indexer.php -reindexall
)のように、バックエンドまたはコマンドラインからmagento 2のデータのインデックスを再作成する別の方法はありますか?
回答:
magento 2でインデックスを再作成するには、CLIに移動してからmagentoインストールのルートフォルダーに移動し、以下のコマンドを実行します。
php bin/magento indexer:reindex
以下は、Magento 2 CLIインデックスコマンドを使用して物事を達成する方法です。
Magento / binディレクトリcd magento_folder / binにあるMagento CLIコマンドファイルにアクセスし、ターミナルまたはパテでmagentoを使用して直接コマンドを実行します。
Magento 2でのインデックス作成の仕組みを次に示します
php bin / magento indexer:info
次のコマンドは、インデックス作成が必要か準備完了かにかかわらず、すべてのインデクサーのステータスを取得します。
php bin / magento indexer:status
個々のインデクサーのステータスも確認できます。catalog_category_productのステータスを確認したいとします
php bin / magento indexer:status catalog_category_product
php bin / magento indexer:reindex
メモリ制限を超えた場合は、このコマンドを試してください
php bin / magento -dmemory_limit = 2G magentoインデクサー:reindex
Magento CLIを使用します。php bin/magento indexer:reindex
プロジェクトのルートディレクトリから実行します。
インデックスがループしている場合は
indexer:reset
、使用してすべてのインデックスをリセットしてから、通常の再インデックスを使用できます
コマンドプロンプトからインデックスを再作成するには、以下のコマンドを実行します。
php bin/magento indexer:reindex
上記のコマンドは、magentoのルートディレクトリから実行する必要があります
a。Magento管理者からのインデックス再作成
これにより、選択したインデクサーの再インデックスがトリガーされます。
重要:日時がmagento adminで更新済みとして表示されている場合でも、admin reindexを使用してすべてのインデクサーのインデックスが再作成されるとは限りません。以下に示すSSH / CLIの再インデックス方法を使用して、再インデックスプロセスを再確認することをお勧めします。
再インデックスモード:インデクサーを「保存時に更新」として設定し、管理者構成を保存するときにストアエンティティにインデックスを付けるか、「スケジュールで更新」としてインデクサーを繰り返しインデックス付けします(デフォルトは1日1回)。「スケジュールによる更新」が正常に機能するためには、サーバーでcronジョブが正しく実行されていることを確認してください。ホスティングパートナーまたは開発チームは、cronジョブの構成を支援できます。
できた!
b。SSH / CLIを使用したインデックスの再作成(推奨)
プロジェクトのルートにあるMagento 2インストールに接続します。(通常、public_htmlまたはyourmagentoinstallation.com/htmlにあります)
以下のコマンドを使用して、すべてのMagento 2インデクサーのインデックスを再作成します。
php bin/magento indexer:reindex
以下に示すのと同様の結果が表示されます。
Design Config Gridインデックスは00:00:00に正常に再構築されました
カスタマーグリッドインデックスは00:00:00に正常に再構築されました
カテゴリ製品インデックスは00:00:00に正常に再構築されました
製品カテゴリインデックスが00:00:00に正常に再構築されました
製品価格インデックスは00:00:01に正常に再構築されました
製品EAVインデックスは00:00:01に正常に再構築されました
カタログ検索インデックスは00:00:01に正常に再構築されました
株式インデックスは00:00:00に正常に再構築されました
カタログルール製品インデックスは00:00:01に正常に再構築されました
カタログ製品ルールインデックスは00:00:00に正常に再構築されました
インデクサーのステータスを確認し、個別に再インデックス付けする必要があるインデクサーを特定します。すべてのインデクサーで一般的な再インデックスが機能しない場合があります
php bin/magento indexer:status
以下に示すのと同様の結果が表示されます。
構成グリッドの設計:準備完了
顧客グリッド:準備完了
カテゴリー製品:準備完了
製品カテゴリ:準備完了
製品価格:準備完了
製品EAV:準備完了
カタログ検索:準備完了
在庫:準備完了
カタログルール製品:再インデックスが必要
カタログ製品ルール:準備完了
個々の再インデックスに使用する必要があるインデクサーと対応するインデクサーIDのリストを表示します。
php bin/magento indexer:info
以下に示すのと同様の結果が表示されます。
design_config_gridデザイン構成グリッド
customer_gridカスタマーグリッド
catalog_category_productカテゴリー製品
catalog_product_category製品カテゴリ
catalog_product_price製品価格
catalog_product_attribute製品EAV
catalogsearch_fulltextカタログ検索
cataloginventory_stockストック
catalogrule_ruleカタログルール製品
catalogrule_productカタログ製品ルール
以下のコマンドを使用して、ステータスが「再インデックスが必要」である各インデクサーのインデックスを再作成します
php bin/magento indexer:reindex [catalog_category_flat]
例: php bin/magento indexer:reindex catalogrule_rule
php bin/magento indexer:reindex design_config_grid customer_grid
php bin/magento indexer:reindex catalog_category_product
php bin/magento indexer:reindex catalog_product_category
php bin/magento indexer:reindex catalog_product_price
php bin/magento indexer:reindex catalog_product_attribute
php bin/magento indexer:reindex catalogsearch_fulltext
php bin/magento indexer:reindex cataloginventory_stock
php bin/magento indexer:reindex catalogrule_rule
php bin/magento indexer:reindex catalogrule_product
できた!
簡単にするために、cronを使用せずに管理者から直接インデックスを再作成したい場合があります(特にcronジョブを設定しておらず、サイトがまだ開発中の場合)。このような場合、無料の拡張機能であるAdmin Reindex [M2]を使用して、管理者からインデックスを再作成できます。