タグ付けされた質問 「indexing」

Magentoインデクサーに関する質問。これには、フラットカタログインデックスが含まれます。MySQLインデックスの場合は、代わりに「mysql -indexes」タグを使用します。

7
価格の再インデックスにより、チェックアウト中にDBデッドロックが発生する
製品価格の再インデックス付けプロセスがチェックアウトプロセスでデッドロック例外を引き起こしていると思われる問題が発生しています。 チェックアウトプロセスでこの例外をキャッチしました。 順序変換例外:SQLSTATE [40001]:シリアル化の失敗:1213ロックを取得しようとしたときにデッドロックが見つかりました。トランザクションを再開してみてください 残念なことに、例外がキャッチされたため、完全なスタックトレースはありませんが、INNODBステータスを確認すると、デッドロックを追跡できました。 SELECT `si`.*, `p`.`type_id` FROM `cataloginventory_stock_item` AS `si` INNER JOIN `catalog_product_entity` AS `p` ON p.entity_id=si.product_id WHERE (stock_id=1) AND (product_id IN(47447, 56678)) FOR UPDATE *** (1) WAITING FOR THIS LOCK TO BE GRANTED: RECORD LOCKS space id 0 page no 329624 n bits 352 index `PRIMARY` of …

1
EAVとタグの部分的な再インデックス付けがないのはなぜですか?
この質問はかなり長い間私を困惑させていました。 Magento 1.13.xxで導入された改善バグ修正が、部分的な再インデックス付けと呼ばれ、「製品属性」および「タグ集約データ」インデクサーをカバーしないのはなぜですか?なぜこれら2つは手動で再インデックス付けする必要があるのですか? 私の意見では、EAVインデックスは最も重要なものの1つです。部分的なインデックス再作成がないことは、各販売(および一部の人々がそれらを持っている)後にインデックスが無効になることを意味します。 明らかな何かが欠けていますか? 更新: だからここにこのバグの説明があります。販売が行われ、製品の在庫がなくなると、階層化されたナビゲーションは、構成可能な製品ではなく、単純な製品の製品属性の変更を反映します(バンドルおよびグループ化はテストしていません)。 したがって、カタログに、さまざまなサイズで利用可能なTシャツのような構成可能な製品があり、「サイズ」属性が「フィルター可能(結果付き)」であると仮定しましょう。次に、適切なカテゴリまたは検索結果の階層化されたナビゲーションに、使用可能なすべてのサイズがリストされているサイズセクションがあります。いずれかの販売後に特定のサイズが在庫切れになると、階層ナビゲーションから消えることが予想されます。これは、属性インデックスを更新し、ブロックキャッシュをフラッシュしない限り発生しません。 このバグは本当に重大です。これは双方向の脅威です。まず、階層化されたナビゲーションで自分のサイズを確認し、実際には利用できないことに気づいたエンドカスタマーは、フラストレーションであなたの店を離れます。さらに悪いことは、製品が在庫に戻ったら、階層化されたナビゲーションでは表示されないため、最終顧客が購入できないことです。したがって、収益の損失額を過小評価することは困難です。


3
magento2のmviewとは何ですか?
まず、私が知っていること: インデックス管理は、ストアのパフォーマンスを向上させるのに役立ちます。 EAV データを別のテーブルに保存するため、データの取得に時間がかかります。 そのため、データを単一のテーブルに保存します。データが変更された場合、この単一のテーブルを更新します(インデックス作成の更新のみ) mysql trigger:テーブルの挿入/更新/削除に基づいてクエリアクションを実行します。 そのため、たとえば価格の更新時にトリガーを使用するmagentoはentity_id、変更ログテーブルに保存します。 を使用してmagento2トリガーを実装するためのdevdocsのステートメントがありますMagento/Framework/Mview。 この機能の流れについて説明してください。 私は何であるかを意味しview、action、processorなど?

2
「処理」でスタックするインデックス
Magento管理者によると、製品URL書き換えインデックスとカテゴリ/製品の関連付けの両方が数日間実行されています ただし、PHPプロセスのインデックスの再作成は実行されておらず、var/locksフォルダーは空であり、index_processMySQLテーブルのステータスはまったく異なります。 +------------+------------------------------+-----------------+---------------------+---------------------+--------+ | process_id | indexer_code | status | started_at | ended_at | mode | +------------+------------------------------+-----------------+---------------------+---------------------+--------+ | 1 | catalog_product_attribute | pending | 2014-01-03 18:17:32 | 2014-01-03 18:17:34 | manual | | 2 | catalog_product_price | pending | 2013-11-06 21:26:32 | 2013-11-06 21:26:32 | manual | | 3 | …
24 indexing  ee-1.13 

3
インデックスはいつ無効になりますか?
私はお店とすべての時間持っているすべてのインデックスが無効であると。インデックスが無効にされたとき、私は見当もつかないことに気付きました。 これらのインデックスの1つ以上を無効にする「すべて」のイベントのリストを教えてください。 製品の属性 製品価格 カタログURLの書き換え 製品フラットデータ カテゴリー製品 カタログ検索インデックス タグ集約データ 在庫状況
23 indexing 

3
Magento 2:フラットテーブルはまだものですか?
Magento 2では、フラットテーブルはまだ心配する必要がありますか?フラットテーブルをオンにできるUIがあることは知っていますが、フラットテーブルがどれだけうまくテストされているか、さらに必要であるかどうかはわかりません。 フラットテーブルが依然として存在する場合-フラットテーブルの属性は、いつどこで生成および/または再生成されますか。これはインデックスの再作成時にのみ発生しますか?または、他のUIアクションでフラットテーブル生成をトリガーできますか?で起こりphp bin/magento setup:di:compileますか?他の場所? また、Magentoは、属性をフラット属性にする必要があるかどうかをどのように決定しますか?されているすべての EAV属性が平坦化?または、そうでないかもしれない他のものがありますか?

5
EE 1.14.2.0へのアップグレード後のインデックスエラー:テーブルcatalog_product_entity_tmp_indexerが存在しません
MagentoをEE 1.14.2.0にアップグレードした後、cronはenterprise_refresh_index常にこのエラーを受け取ります。 /var/www/public_html/lib/Zend/Db/Statement/Pdo.php:228の例外「PDOException」とメッセージ「SQLSTATE [42S02]:ベーステーブルまたはビューが見つかりません:1146テーブル「catalog_product_entity_tmp_indexer」は存在しません」 このテーブルが存在しない理由はわかりません。Magentoは、インデックスの更新プロセスで作成すべきではありませんか?

2
インデクサーのステータスを「一時停止」に解決する方法(バックログのn)
スケジュールに従って更新されるように構成されているインデクサーの1つが "中断"状態でロックされており、更新されなくなりました。 の出力 bin/magento indexer:status +----------------------------+------------------+-----------+-------------------------------+---------------------+ | Title | Status | Update On | Schedule Status | Schedule Updated | +----------------------------+------------------+-----------+-------------------------------+---------------------+ | ... | | | | | | IntegerNet_Solr | Reindex required | Schedule | suspended (101028 in backlog) | 2018-09-24 15:28:44 | | ... | | | | …

1
一部の商品がテーブルcatalog_product_index_priceにありません!
誰でも私がMagentoの価格インデックスを明確にするのを手伝ってくれる?バージョン1.9を使用しています。 私の仕事:注目の製品をホームページにレンダリングする。 私の解決策:「注目の製品」というカテゴリを作成する代わりに。「is_featured」という属性を作成したので、その属性がtrueの商品をフィルタリングするだけで、期待どおりの結果が得られます。 ビルトインウィジェットMage_Catalog_Block_Product_Widget_Newに基づいて、定義された製品コレクションを取得するための関数: protected function _getProductCollection() { /** @var $collection Mage_Catalog_Model_Resource_Product_Collection */ $collection = Mage::getResourceModel('catalog/product_collection'); $collection->setVisibility(Mage::getSingleton('catalog/product_visibility')->getVisibleInCatalogIds()); $collection = $this->_addProductAttributesAndPrices($collection) ->addStoreFilter() ->addAttributeToFilter('is_featured', array('eq' => true)) ->setPageSize($this->getProductsCount()) ->setCurPage(1); return $collection; } 結果:一部の製品は表示されますが、一部が欠落しています。SQLデバッグの場合、次のようになります。 SELECT `e`.*, `cat_index`.`position` AS `cat_index_position`, `price_index`.`price`, `price_index`.`tax_class_id`, `price_index`.`final_price`, IF(price_index.tier_price IS NOT NULL, LEAST(price_index.min_price, price_index.tier_price), price_index.min_price) AS `minimal_price`, `price_index`.`min_price`, `price_index`.`max_price`, …

3
CLIのMAGE_DIRSブートストラップパラメータ
ではpub/index.php、次のコードを使用して、メディアおよび静的アセットの変更URLを設定し、「/ pub」を省略します。 $params[Bootstrap::INIT_PARAM_FILESYSTEM_DIR_PATHS] = [ DirectoryList::PUB => [DirectoryList::URL_PATH => ''], DirectoryList::MEDIA => [DirectoryList::URL_PATH => 'media'], DirectoryList::STATIC_VIEW => [DirectoryList::URL_PATH => 'static'], DirectoryList::UPLOAD => [DirectoryList::URL_PATH => 'media/upload'], ]; $bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $params); 残念ながらCLIスクリプト(bin/magento)にはこのようなものはありません。 Magento\Setup\Mvc\Bootstrap\InitParamListener次のコードでクラスを見つけました: $initParams = $application->getServiceManager()->get(self::BOOTSTRAP_PARAM); $directoryList = $this->createDirectoryList($initParams); しかし、私はこのZend Service Managerがどこでデータを取得し、どのようにしてデータに影響を与えることができるのか理解できません。 私の具体的な問題は、インデクサーが完全なURLを生成するhttp://magento.local/pub/media/...必要があり、現在はのようにする必要があるということです。http://magento.local/media/... 仮想ホストがポイントしpub、「pub」がURLの一部であってはならないことをCLIにどのように伝えることができますか? 理想的には、これは追加のCLIパラメーターや環境変数に依存する必要なく機能するはずです。

5
単一の製品のインデックスを再作成する
更新後に単一の製品のインデックスを再作成したいと思います。 今私は使用します: $product = Mage::getModel('catalog/product')->loadByAttribute('sku', 'foobar'); // edit something $product->save(); $stockItem = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product->getId()); $stockItem->setForceReindexRequired(true); Mage::getSingleton('index/indexer')->processEntityAction( $stockItem, Mage_CatalogInventory_Model_Stock_Item::ENTITY, Mage_Index_Model_Event::TYPE_SAVE ); $product ->setForceReindexRequired(true) ->setIsChangedCategories(true); Mage::getSingleton('index/indexer')->processEntityAction( $product, Mage_Catalog_Model_Product::ENTITY, Mage_Index_Model_Event::TYPE_SAVE ); しかし、これは機能しません、何かアイデアはありますか? PS: $product->getId()存在し、正しいです。

1
親カテゴリーに製品が割り当てられていなくても、親カテゴリーはサブカテゴリーの製品を表示しています
あるカテゴリに「衣類」があり、このカテゴリにサブカテゴリの「Tシャツ」があるとします。 次に、Tシャツカテゴリに商品を追加します([商品を追加]画面のチェックボックスをオンにします)が、衣料品カテゴリはチェックしません。したがって、これはフロントエンドのTシャツカテゴリにのみ表示され、親カテゴリの衣類には表示されないことを意味すると想定しました。 ただし、この商品は衣類およびTシャツのカテゴリに表示されます。 Tシャツのカテゴリが[ナビゲーションメニューに含める]>カテゴリなし、つまり非表示になっているため、これは問題です。カテゴリ内のすべての製品はカタログを表示できるため、検索結果に表示されません。 私はこれまでかなり深く調査してきましたが、問題はMagentoカタログのインデックス付けにあることがわかりました。システム>インデックス管理からCategory Productsインデクサーを実行すると、インデックスが再構築され、が実行されMage_Catalog_Model_Resource_Eav_Mysql4_Category_Indexer_Product::reindexAll()ます。 この関数は、いくつかのカテゴリ関連のテーブルからさまざまなデータを選択し、それをカタログページの製品コレクションを生成するために使用されるテーブルであるcatalog_category_product_indexテーブルにパイプします。 親カテゴリに表示されるサブカテゴリから製品を非表示/防止する方法について何か提案はありますか? Magento 1.4.1.0を使用しています。衣料品のカテゴリはアンカーに設定され、Tシャツのカテゴリは設定されていません。[フラットカテゴリを使用]は[はい]に設定されています。

4
Magentoインデクサーがカスタム属性のフラットテーブルに属性を追加しない
Magentoフラットテーブルにカスタム属性を追加しない.....マーケットプレイスの拡張機能があります。いくつかの属性がありますが、一部の属性はフラットテーブルに追加されていません...私の拡張機能が機能しないため... 属性設定は... $catalogEavSetup->addAttribute(Mage_Catalog_Model_Product::ENTITY, 'approval', array( 'group' => 'General', 'sort_order' => 21, 'type' => 'int', 'backend' => '', 'frontend' => '', 'label' => 'Approval', 'note' => '', 'input' => 'select', 'class' => '', 'source' => 'vendorsproduct/source_approval', 'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL, 'visible' => true, 'required' => false, 'user_defined' => false, 'default' => '1', …

2
mass_actionインデックスプロセス
mass_actionインデックスプロセスが実行されないように見えるという問題があります。これには、このジョブのジョブデータが時間とともに大幅に増加するという副作用があります。 私たちの場合、数日の間にジョブデータは数MBに増加します。 mysql> select type, entity, count(*), avg(length(new_data)), max(length(new_data)) from index_event group by type, entity; +-----------------------+--------------------------------+----------+-----------------------+-----------------------+ | type | entity | count(*) | avg(length(new_data)) | max(length(new_data)) | +-----------------------+--------------------------------+----------+-----------------------+-----------------------+ | catalog_reindex_price | catalog_product | 1368 | 442.7982 | 443 | | mass_action | catalog_product | 1 | 6176981.0000 | 6176981 | …

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