Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Ricreare l’indice di ricerca per un prodotto
 
erital
Jr. Member
 
Total Posts:  10
Joined:  2008-12-22
 

Immagino che sia una sciocchezza per qualsiasi programmatore php ma io, visto che non ne mastico, non ci arrivo…

Sto cercando il modo di inserire articoli nel mio catalogo da un frontend MySql e non direttamente da magento dal web.
Sono riuscito a trovare tutte le tabelle ed i campi che utilizza magento e tutto funziona egregiamente a parte la ricerca interna dal sito degli articoli inseriti “in maniera non convenzionale”.

Per poter far funzionare la ricerca ho bisogno di aggiornare gli indici di ricerca dal pannello di amministrazione.
Ho trovato un articolo che spiega quali sono le variabili da inviare per poter eseguire il comando senza passare dal pannello admin ma non capisco come utilizzarlo…

http://docs.magentocommerce.com/Mage_CatalogSearch/Mage_CatalogSearch_Model_Fulltext.html

Come faccio a lanciare questo script php dall’esterno (magari da un browser web) e come faccio ad inserire le variabili $storeId e $productId ?

Grazie a chiunque possa aiutarmi

 
Magento Community Magento Community
Magento Community
Magento Community
 
krinet
Jr. Member
 
Total Posts:  17
Joined:  2009-10-20
 

Domanda: che vantaggio da inserire i prodotti da MySQL ? secondo me ti perdi qualche passaggio nelle varie tabelle, non sono poche.

Comunque puoi ricreatri l’indice da magento:

Sistama -> Gestione Cache -> Indice di Ricerca [RIFAI]

 
Magento Community Magento Community
Magento Community
Magento Community
 
erital
Jr. Member
 
Total Posts:  10
Joined:  2008-12-22
 
krinet - 27 May 2010 12:54 AM

Domanda: che vantaggio da inserire i prodotti da MySQL ? secondo me ti perdi qualche passaggio nelle varie tabelle, non sono poche.

Comunque puoi ricreatri l’indice da magento:

Sistama -> Gestione Cache -> Indice di Ricerca [RIFAI]

Le tabelle non sono poche, hai ragione, ma non sono nemmeno infinite…
Il vantaggio è che carico i prodotti una volta sola anzi che 2 (anzi 3, visto che il mio gestionale è sincronizzato pure su Ebay), posso aggiornare più prezzi e descrizioni contemporaneamente.

Io cercavo una soluzione per ricreare la cache ma NON dal pannello di amministrazione, così lo so come si fa… wink

Ad ogni modo ho risolto il problema con un piccolo script php che ho inserito nella root:

<?php

require 'app/Mage.php';

Mage::app()->cleanCache();   

       
// FILL CALCULATED PRICES IN CATALOGINDEX_PRICE
    
try {
        $flag 
Mage::getModel('catalogindex/catalog_index_flag')->loadSelf();
        if (
$flag->getState() == Mage_CatalogIndex_Model_Catalog_Index_Flag::STATE_RUNNING{
            $kill 
Mage::getModel('catalogindex/catalog_index_kill_flag')->loadSelf();
            
$kill->setFlagData($flag->getFlagData())->save();
            
}
        $flag
->setState(Mage_CatalogIndex_Model_Catalog_Index_Flag::STATE_QUEUED)->save();
        
Mage::getSingleton('catalogindex/indexer')->plainReindex($productId);
        echo 
"Layered Navigation Indices were refreshed successfully\n";
        
}
    
catch ( Exception $e {
        
echo $e -> getMessage()."\n";
        
}

     
// SEARCHINDEX REBUILD
    
try {
        Mage
::getSingleton('catalogsearch/fulltext')->rebuildIndex(1,$productId);
        echo 
'Search Index was rebuilt successfully'."\n";
    
}
    
catch (Exception $e{
        
echo 'Search Index rebuild error. Please try again later'."\n";
    
}

Passando come parametro il ProductId (che sarebbe il campo entity_id del prodotto) lui mi ricostruisce l’indice di ricerca e gli indici prodotto solo per quell’articolo.

 
Magento Community Magento Community
Magento Community
Magento Community
 
erital
Jr. Member
 
Total Posts:  10
Joined:  2008-12-22
 
krinet - 27 May 2010 12:54 AM

Domanda: che vantaggio da inserire i prodotti da MySQL ? secondo me ti perdi qualche passaggio nelle varie tabelle, non sono poche.

Comunque puoi ricreatri l’indice da magento:

Sistama -> Gestione Cache -> Indice di Ricerca [RIFAI]

Le tabelle non sono poche, hai ragione, ma non sono nemmeno infinite…
Il vantaggio è che carico i prodotti una volta sola anzi che 2 (anzi 3, visto che il mio gestionale è sincronizzato pure su Ebay), posso aggiornare più prezzi e descrizioni contemporaneamente.

Io cercavo una soluzione per ricreare la cache ma NON dal pannello di amministrazione, così lo so come si fa… wink

Ad ogni modo ho risolto il problema con un piccolo script php che ho inserito nella root:

<?php

require 'app/Mage.php';

Mage::app()->cleanCache();
   
    

       
// FILL CALCULATED PRICES IN CATALOGINDEX_PRICE
    
try {
        $flag 
Mage::getModel('catalogindex/catalog_index_flag')->loadSelf();
        if (
$flag->getState() == Mage_CatalogIndex_Model_Catalog_Index_Flag::STATE_RUNNING{
            $kill 
Mage::getModel('catalogindex/catalog_index_kill_flag')->loadSelf();
            
$kill->setFlagData($flag->getFlagData())->save();
            
}
        $flag
->setState(Mage_CatalogIndex_Model_Catalog_Index_Flag::STATE_QUEUED)->save();
        
Mage::getSingleton('catalogindex/indexer')->plainReindex($productId);
        echo 
"Layered Navigation Indices were refreshed successfully\n";
        
}
    
catch ( Exception $e {
        
echo $e -> getMessage()."\n";
        
}

     
// SEARCHINDEX REBUILD
    
try {
        Mage
::getSingleton('catalogsearch/fulltext')->rebuildIndex(1,$productId);
        echo 
'Search Index was rebuilt successfully'."\n";
    
}
    
catch (Exception $e{
        
echo 'Search Index rebuild error. Please try again later'."\n";
    
}

Passando come parametro il ProductId (che sarebbe il campo entity_id del prodotto) lui mi ricostruisce l’indice di ricerca e gli indici prodotto solo per quell’articolo.

 
Magento Community Magento Community
Magento Community
Magento Community
 
erital
Jr. Member
 
Total Posts:  10
Joined:  2008-12-22
 
krinet - 27 May 2010 12:54 AM

Domanda: che vantaggio da inserire i prodotti da MySQL ? secondo me ti perdi qualche passaggio nelle varie tabelle, non sono poche.

Comunque puoi ricreatri l’indice da magento:

Sistama -> Gestione Cache -> Indice di Ricerca [RIFAI]

Le tabelle non sono poche, hai ragione, ma non sono nemmeno infinite…
Il vantaggio è che carico i prodotti una volta sola anzi che 2 (anzi 3, visto che il mio gestionale è sincronizzato pure su Ebay), posso aggiornare più prezzi e descrizioni contemporaneamente.

Io cercavo una soluzione per ricreare la cache ma NON dal pannello di amministrazione, così lo so come si fa… wink

Ad ogni modo ho risolto il problema con un piccolo script php che ho inserito nella root:

<?php

require 'app/Mage.php';

Mage::app()->cleanCache();
   
    

       
// FILL CALCULATED PRICES IN CATALOGINDEX_PRICE
    
try {
        $flag 
Mage::getModel('catalogindex/catalog_index_flag')->loadSelf();
        if (
$flag->getState() == Mage_CatalogIndex_Model_Catalog_Index_Flag::STATE_RUNNING{
            $kill 
Mage::getModel('catalogindex/catalog_index_kill_flag')->loadSelf();
            
$kill->setFlagData($flag->getFlagData())->save();
            
}
        $flag
->setState(Mage_CatalogIndex_Model_Catalog_Index_Flag::STATE_QUEUED)->save();
        
Mage::getSingleton('catalogindex/indexer')->plainReindex($productId);
        echo 
"Layered Navigation Indices were refreshed successfully\n";
        
}
    
catch ( Exception $e {
        
echo $e -> getMessage()."\n";
        
}

     
// SEARCHINDEX REBUILD
    
try {
        Mage
::getSingleton('catalogsearch/fulltext')->rebuildIndex(1,$productId);
        echo 
'Search Index was rebuilt successfully'."\n";
    
}
    
catch (Exception $e{
        
echo 'Search Index rebuild error. Please try again later'."\n";
    
}

Passando come parametro il ProductId (che sarebbe il campo entity_id del prodotto) lui mi ricostruisce l’indice di ricerca e gli indici prodotto solo per quell’articolo.

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top