Пример #1
0
 /**
  * List of indexes
  *
  * @return array
  */
 public function getIndexes()
 {
     $indexes = $this->dataHelper->getEnabledIndexes();
     foreach ($indexes as $index) {
         $indexClass = '\\Mirasvit\\Search\\Model\\Index';
         if ($index instanceof $indexClass) {
             $index->setData('search_collection', $index->getSearchCollection());
         } else {
             /** @var \Magento\Framework\DataObject $index */
             if ($index->getData('code') == 'catalogsearch_fulltext') {
                 $index->setData('search_collection', $this->layerResolver->get()->getProductCollection());
             } elseif ($index->getData('code') == 'magento_search_query') {
                 $index->setData('search_collection', $this->queryCollectionFactory->create()->setQueryFilter($this->query->getQueryText())->addFieldToFilter('query_text', ['neq' => $this->query->getQueryText()])->addStoreFilter([$this->storeManager->getStore()->getId()])->setOrder('popularity')->distinct(true));
             }
         }
     }
     return $indexes;
 }