Esempio n. 1
0
 /**
  * @param \Magento\Store\Model\Store $store
  * @return void
  */
 private function clearIndex(\Magento\Store\Model\Store $store)
 {
     $dimensions = [$this->dimensionFactory->create(['name' => 'scope', 'value' => $store->getId()])];
     $configData = $this->indexerConfig->getIndexer(FulltextIndexer::INDEXER_ID);
     /** @var \Magento\CatalogSearch\Model\Indexer\IndexerHandler $indexHandler */
     $indexHandler = $this->indexerHandlerFactory->create(['data' => $configData]);
     $indexHandler->cleanIndex($dimensions);
 }
Esempio n. 2
0
 /**
  * Execute full indexation
  *
  * @return void
  */
 public function executeFull()
 {
     $storeIds = array_keys($this->storeManager->getStores());
     foreach ($storeIds as $storeId) {
         $dimension = $this->dimensionFactory->create(['name' => 'scope', 'value' => $storeId]);
         $this->indexerHandler->cleanIndex([$dimension]);
         $this->indexerHandler->saveIndex([$dimension], $this->fullAction->rebuildStoreIndex($storeId));
     }
 }
Esempio n. 3
0
 /**
  * Execute full indexation
  *
  * @return void
  */
 public function executeFull()
 {
     $storeIds = array_keys($this->storeManager->getStores());
     /** @var IndexerHandler $saveHandler */
     $saveHandler = $this->indexerHandlerFactory->create(['data' => $this->data]);
     foreach ($storeIds as $storeId) {
         $dimension = $this->dimensionFactory->create(['name' => 'scope', 'value' => $storeId]);
         $saveHandler->cleanIndex([$dimension]);
         $saveHandler->saveIndex([$dimension], $this->fullAction->rebuildStoreIndex($storeId));
     }
     $this->fulltextResource->resetSearchResults();
     $this->searchRequestConfig->reset();
 }
Esempio n. 4
0
 /**
  * Delete search index data for store
  *
  * @param int $storeId Store View Id
  * @param array $productIds Product Entity Id
  * @return void
  */
 protected function deleteIndex($storeId = null, $productIds = null)
 {
     $dimension = $this->dimensionFactory->create(['name' => self::SCOPE_FIELD_NAME, 'value' => $storeId]);
     $this->indexHandler->deleteIndex([$dimension], $this->getIterator($productIds));
 }
Esempio n. 5
0
 /**
  * Clean search index data for store
  *
  * @param int $storeId
  * @return void
  */
 protected function cleanIndex($storeId)
 {
     $dimension = $this->dimensionFactory->create(['name' => self::SCOPE_FIELD_NAME, 'value' => $storeId]);
     $this->indexHandler->cleanIndex([$dimension]);
 }