検索文字列を含む配列を次のコードでカスタムカタログ検索します。
$collection = Mage::getModel('catalog/product')->getCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('visibility', $visibility);
foreach($searchNames as $searchName){
$collection->addAttributeToFilter(array(
array('attribute'=> 'name','like' => '%'.$searchName.'%'),
array('attribute'=> 'search_field','like' => '%'.$searchName.'%'),
array('attribute'=> 'sku','like' => '%'.$searchName.'%')));
}
〜6kの結果が得られたら、検索には約5秒かかります。これをスピードアップする方法はありますか?おそらく、私がまだ見つけていないパフォーマンスの微調整がいくつかあります。
テーブルcatalog_product_flatのこれらのフィールドにすでにインデックスを設定していますが、変更はありません。