Magento 2のインデックス再作成-1つ以上のインデクサーが無効です。Magento cronジョブが実行されていることを確認してください


78

magento 2の一括操作でインデックスの再作成を行う方法が見つかりませんでした。

cronjobから実行する必要があるようです。Magento 1.x(php shell/indexer.php -reindexall)のように、バックエンドまたはコマンドラインからmagento 2のデータのインデックスを再作成する別の方法はありますか?

ここに画像の説明を入力してください


申し訳ありませんが、Magentoは初めてです。MagentoをXAMPPにローカルにインストールしましたが、Windows 7を使用しています。どうすればいいですか?同じメッセージが表示されます
Alex4842

1
@ Alex4842同じことです。:勝利10上のMagentoを実行すると、この発見magento.stackexchange.com/questions/111132/...
モハメッドJoraid

このガイドを介してバックエンドでインデックスを再作成
真実を語る

回答:


117

magento 2でインデックスを再作成するには、CLIに移動してからmagentoインストールのルートフォルダーに移動し、以下のコマンドを実行します。

php bin/magento indexer:reindex



macを使用している人は、ディレクトリをinstallation_dir / binに変更し、このコマンドを書くことができます./magento indexer :: reindex
Harit

2
3分xDで受け入れることができると言う
ハリット


93行目の/Applications/MAMP/htdocs/Magento-CE-2.1.2-2016-10-11-11-16-47/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.phpで解析エラーが発生しています
オリタック

22

CLIでこのコマンドを実行します

php bin / magento indexer:reindex

また、インデクサーを1つだけ再インデックスする場合は、次のコマンドを記述します。

php bin / magento indexer:reindex indexer_name。

どこindexer_nameタイピング、次のコマンドで確認できます。

php bin / magento indexer:info


6

以下は、Magento 2 CLIインデックスコマンドを使用して物事を達成する方法です。

Magento / binディレクトリcd magento_folder / binにあるMagento CLIコマンドファイルにアクセスし、ターミナルまたはパテでmagentoを使用して直接コマンドを実行します。

Magento 2でのインデックス作成の仕組みを次に示します

Magento 2で利用可能なインデクサーのリストを取得します

php bin / magento indexer:info

インデクサーの状態を確認する方法

次のコマンドは、インデックス作成が必要か準備完了かにかかわらず、すべてのインデクサーのステータスを取得します。

php bin / magento indexer:status

個々のインデクサーのステータスも確認できます。catalog_category_productのステータスを確認したいとします

php bin / magento indexer:status catalog_category_product

Magento 2で利用可能なすべてのインデックスを再インデックスする方法

php bin / magento indexer:reindex

メモリ制限を超えた場合は、このコマンドを試してください

php bin / magento -dmemory_limit = 2G magentoインデクサー:reindex



1

インデックスがループしている場合は
indexer:reset
、使用してすべてのインデックスをリセットしてから、通常の再インデックスを使用できます


1

コマンドプロンプトからインデックスを再作成するには、以下のコマンドを実行します。

php bin/magento indexer:reindex

上記のコマンドは、magentoのルートディレクトリから実行する必要があります


1

MagentoルートCLIで、以下のコマンドを実行します

php bin/magento indexer:reset

次に、以下のコマンドを実行します

php bin/magento indexer:reindex

0

php bin/magento indexer:reindexcronjobでの代替ソリューションの追加コマンド。

私はこれに従い、それは私のシステムで働いていました



0

a。Magento管理者からのインデックス再作成

  1. [システム]> [インデックス管理]に移動し、インデクサーのステータスを確認します
  2. 「再インデックスが必要」とマークされているアイテムを選択し、[アクション]> [スケジュールどおりに更新]に移動します。

これにより、選択したインデクサーの再インデックスがトリガーされます。

重要:日時がmagento adminで更新済みとして表示されている場合でも、admin reindexを使用してすべてのインデクサーのインデックスが再作成されるとは限りません。以下に示すSSH / CLIの再インデックス方法を使用して、再インデックスプロセスを再確認することをお勧めします。

再インデックスモード:インデクサーを「保存時に更新」として設定し、管理者構成を保存するときにストアエンティティにインデックスを付けるか、「スケジュールで更新」としてインデクサーを繰り返しインデックス付けします(デフォルトは1日1回)。「スケジュールによる更新」が正常に機能するためには、サーバーでcronジョブが正しく実行されていることを確認してください。ホスティングパートナーまたは開発チームは、cronジョブの構成を支援できます。

ここに画像の説明を入力してください

できた!

b。SSH / CLIを使用したインデックスの再作成(推奨)

  1. プロジェクトのルートにあるMagento 2インストールに接続します。(通常、public_htmlまたはyourmagentoinstallation.com/htmlにあります)

  2. 以下のコマンドを使用して、すべての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に正常に再構築されました

ここに画像の説明を入力してください

  1. インデクサーのステータスを確認し、個別に再インデックス付けする必要があるインデクサーを特定します。すべてのインデクサーで一般的な再インデックスが機能しない場合があります

    php bin/magento indexer:status

以下に示すのと同様の結果が表示されます。

構成グリッドの設計:準備完了

顧客グリッド:準備完了

カテゴリー製品:準備完了

製品カテゴリ:準備完了

製品価格:準備完了

製品EAV:準備完了

カタログ検索:準備完了

在庫:準備完了

カタログルール製品:再インデックスが必要

カタログ製品ルール:準備完了

ここに画像の説明を入力してください

  1. 個々の再インデックスに使用する必要があるインデクサーと対応するインデクサー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カタログ製品ルール

ここに画像の説明を入力してください

  1. 以下のコマンドを使用して、ステータスが「再インデックスが必要」である各インデクサーのインデックスを再作成します

    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
  1. 手順2のコマンドを使用してインデクサーのステータスを再度確認します。これで、すべてのインデクサーが「準備完了」になります。

できた!


0

簡単にするために、cronを使用せずに管理者から直接インデックスを再作成したい場合があります(特にcronジョブを設定しておらず、サイトがまだ開発中の場合)。このような場合、無料の拡張機能であるAdmin Reindex [M2]を使用して、管理者からインデックスを再作成できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.