Smile\ElasticsuiteThesaurus\Model\ResourceModel\Indexer\Thesaurus::getExpansions PHP Method

getExpansions() public method

Build a list of expansions into the Lucene format (foo => bar).
public getExpansions ( integer $storeId ) : string[]
$storeId integer Store id.
return string[]
    public function getExpansions($storeId)
    {
        $connection = $this->getConnection();
        $select = $this->getBaseSelect($storeId, ThesaurusInterface::TYPE_EXPANSION);
        $select->join(['expanded_terms' => $this->getTable(ThesaurusInterface::REFERENCE_TABLE_NAME)], 'expanded_terms.term_id = terms.term_id AND expanded_terms.thesaurus_id = terms.thesaurus_id', []);
        $select->columns(['terms' => new \Zend_Db_Expr('CONCAT(expanded_terms.term, " => " ,GROUP_CONCAT(terms.term))')]);
        return $connection->fetchCol($select);
    }

Usage Example

Example #1
0
 /**
  * {@inheritDoc}
  */
 public function executeFull()
 {
     $storeIds = array_keys($this->storeManager->getStores());
     foreach ($storeIds as $storeId) {
         $synonyms = $this->resourceModel->getSynonyms($storeId);
         $expansions = $this->resourceModel->getExpansions($storeId);
         $this->indexHandler->reindex($storeId, $synonyms, $expansions);
     }
 }