Cache - wie funktioniert das ?

Hallo,
habe mal eine Verständnisfrage. Ist es korrekt, dass die Seiten, welche “gecached” sind, in einer Textdatei vorliegen und diese Textdatei geladen wird? Und da es eine reine Textdatei ist und keine DB-Abfragen gemacht werden müssen, diese Seiten sofort sichtbar sind ohne Ladezeit?

Sorry für meine blöde Frage. Diese beschäftigt mich aber schon seit ein paar Tagen und ich weill es nur verstehen :slight_smile:

Danke für eure Hilfe.

Gruß HEPI

Gaaaanz simpel gesprochen: ja. Die “fertigen” .html Dateien liegen gespeichert im cache Ordner und werden einfach an den Browser gesendet.

Viele Grüße
https://www.digitvision.de

@diese Seiten sofort sichtbar sind ohne Ladezeit

Ohne Ladezeit wäre schön, sagen wir mal sie verkürzen die Ladezeit.

Der Cache ist eine Art Zwischenspeicher und dient der Performancesteigerung.

Daten die im Shopcache zwischengespeichert werden, werden in dem Ordner /cache abgelegt.

Dadurch wird keine erneute Abfrage der Datenbank benötigt.

Lese Dir am besten mal die hiesige WikI durch.

Danke. Es geht mir weniger um den Cache von Shopware. Ich will mir eine eigene Suchfunktion bauen, war mir nur unsicher, ob ich es richtig verstanden habe.

@HEPI schrieb:

Danke. Ich will mir eine eigene Suchfunktion bauen

Warum möchtest Du eine eigene Suchfunktion bauen? Sollte die Standard Suche tatsächlich nicht reichen, wäre dann nicht Elasticsearch setup ggf. die bessere Alternative?

Ich verstehe diesen Elasticsearch nicht. Beim Timme ist elasticsearch 2.x vorinstalliert, aber habe keinen Plan, wie ich die Daten kontrollieren kann. Ansonsten hatte ich den Gedanken auch auch schon …

Könntest Du mir eventuell kurz erklären, wie das funktioniert? Alleine „php bin/console sw:es:backend:index:populate“ , gebe ich dies mittels Shell ein, wo ich auch die Unix-Befehle eingebe?

Wie kann ich die Ergebnisse kontrollieren, die zurückgegeben werden? Wie kontrolliere ich, was an Elasticsearch übergeben wird?

Sorry, wenn ich das verstanden habe, wäre es wohl die beste Lösung. 

In der Tat kann ich Dir grundsätzlich gar nicht viel erklären, da ich elasticsearch selbst noch nie genutzt habe. Sollte ich allerdings irgend wann eine bessere Suche benötigen, dann würde ich wahrscheinlich eher meine Energie darauf verwenden mir elasticsearch anzueigenen anstatt eine eigene Suche zu implementieren.

Bei dem Befehl liegst Du ansonsten richtig, der wird auf der Shell ausgeführt. Du musst ggf. vorher in das richtige Shopware Verzeichnis wechsel, also z. B. “cd /var/www/html/bin”

Was fehlt Dir eigentlich an der Shopware Standard Suche? Ansonsten, hast Du hier Shopware 5 - Plugins - Plugin: Intelligente Suche und hier Shopware 5 - Einstellungen - Suche schon mal geguckt. Ggf. kannst Du die Suchergebnisse über die Konfiguration noch etwas verbessern oder ein Plugin bietet das, was Du suchst. 

Die Shopwaresuche entspricht von der Geschwindigkeit nicht meinen Vorstellungen, aber Schwerpunkt von den Ergebnissen her. Im Moment teste ich Doofinder. Die Suchergebnisse dort gefallen mir ganz gut und entspricht auch meinen Vorstellungen. Aber auch hier müsste ich noch einiges selber programmieren, da mir auch einige Sachen fehlen, die nicht Standardmäßig vorhanden sind. Das Gute ist, über den Dateiexport werden einfach zusätzliche Suchparameter übergeben, so dass diese mit berücksichtigt werden. Wird mich aber trotzdem 85 EUR/ Monat kosten, was in meinen Augen total überzogen ist, da ich keine Statistiken etc brauche und die Filtermöglichkeiten in der Suche sind ganz einfach mit Javascript umsetzbar. 

Das einzige Problem was ich habe ist, wie bekomme ich die Suchergebnisse in windeseile in mein Script, welches dann die Ergebnisse Kundengerecht darstellt.
a) Elasticsearch, wie gesagt, keinen Plan. Aber werde mich trotzdem mal damit beschäftigen.
b) Separate Datenbank, welche die Daten speziell für die Suche schon aufbereitet hat. Das ist für mich das kleinste Problem. Und bei knapp 100.000 Artikel sollte eine kleine MYSQL-Datenbank die Volltextsuche auch in Millisekunden erledigt haben. Aber auch hier muss ich erst testen.