# Suggest Search Cache deaktivieren

**URL:** https://forum.shopware.com/t/suggest-search-cache-deaktivieren/101123
**Category:** Programmierung
**Created:** [4. September 2023 um 05:50 UTC](https://forum.shopware.com/t/suggest-search-cache-deaktivieren/101123 "2023-09-04T05:50:27Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![AlexGalax](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/alexgalax/32/9925_2.png) [@AlexGalax](https://forum.shopware.com/u/AlexGalax)
#### Post date: [4. September 2023 um 05:50 UTC](https://forum.shopware.com/t/suggest-search-cache-deaktivieren/101123/1 "2023-09-04T05:50:27Z")

</div>

Hallo,

ich habe für die inline-Suchergebnisse (SearchSuggest) einen Filter eingebaut. Da in Shopware 6 aber das Suchergebniss für SearchSuggest über einen Decorator gecached wird, hat der Filter keine Auswirkungen.

> <https://github.com/shopware/platform/blob/45c115956f82150e8c0f76f9255593968a9a6a8a/src/Core/Content/DependencyInjection/product.xml#L329C1-L336C19>

Jetzt habe ich die `CachedProductSuggestRoute` wieder mit meinem eigenen Decorator überschrieben

```xml
        <service id="MySearch\Core\Content\Product\SalesChannel\Suggest\SmartSearchCachedProductSuggestRoute" decorates="Shopware\Core\Content\Product\SalesChannel\Suggest\CachedProductSuggestRoute" decoration-priority="-1000" public="true">
            <argument type="service" id="Shopware\Core\Content\Product\SearchKeyword\ProductSearchBuilderInterface"/>
            <argument type="service" id="event_dispatcher"/>
            <argument type="service" id="Shopware\Core\Content\Product\SalesChannel\Listing\ProductListingLoader"/>
        </service>

```

und einfach die `load` Funktion aus der originalen `ProductSearchRoute` kopiert

> <https://github.com/shopware/platform/blob/45c115956f82150e8c0f76f9255593968a9a6a8a/src/Core/Content/Product/SalesChannel/Suggest/ProductSuggestRoute.php#L49-L90>

Das funktioniert zwar, ist aber nicht gerade schön, weil repetitiv und nicht upgrade-freundlich. Aber mir ist auch nichts anderes eingefallen.

Kann man den Cache für die `ProductSearchRoute` irgendwie anders deaktivieren?

---

<div class="post-metadata">

### Author: ![AlexGalax](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/alexgalax/32/9925_2.png) [@AlexGalax](https://forum.shopware.com/u/AlexGalax)
#### Post date: [4. September 2023 um 06:39 UTC](https://forum.shopware.com/t/suggest-search-cache-deaktivieren/101123/2 "2023-09-04T06:39:29Z")

</div>

Okay, war wieder viel zu kompliziert gedacht.

Ich habe jetzt einen Subscriber auf das Event `ProductSuggestRouteCacheKeyEvent` und dort erweitere ich einfach den Cache-Key um den Filter-Wert (in meinem Fall `category`)

```php
public function onProductSuggestRouteCacheKeyEvent(ProductSuggestRouteCacheKeyEvent $event)
{
    $request = $event->getRequest();
    if($request->get('category')){
        $event->addPart($request->get('category'));
    }
}

```

Aber interessant, wie die Lösung oft von alleine kommen, nachdem man irgendwo um Rat gefragt hat 😅
