Einige Arikelpreise sind reduziert (price < listPrice, percentage > 0).
Um diese zu Filtern habe ich einen neuen Filter integriert:
if($request->get('sale', false)) {
$saleFilter = new RangeFilter('product.cheapestPrice.percentage', [
RangeFilter::GT => 0
]);
$filter = new Filter(
'sale',
true,
[new FilterAggregation(
'sale-filter',
new TermsAggregation('sale', 'product.cheapestPrice.percentage'),
[$saleFilter]
)],
$saleFilter,
true
);
$filters->add($filter);
}
Die MySql-Suche funktioniert – es werden nur reduzierte Artikel angezeigt.
Aktiviere ich ElasicSearch, werden keine Artikel mehr ausgegeben. Warum funktioniert das nicht mehr?