# KI-Semantische Suche für PrestaShop

> Dieses Modul fügt Ihrem PrestaShop-Shop eine KI-gestützte semantische Suche hinzu: Autovervollständigung, Suchergebnisseite, Block „Das könnte Ihnen auch gefallen" auf der Produktseite und Analytics-Dashboard teilen dasselbe bedeutungsbasierte Ranking, berechnet mit Vektor-Embeddings.…

- Seite: <https://www.datafirefly.com/de/documentation/ki-semantische-suche-prestashop/>
- Sprache: de
- Aktualisiert am: 2026-08-05
- Weitere Sprachen: [fr](https://www.datafirefly.com/documentation/recherche-semantique-ia-prestashop/index.md), [en](https://www.datafirefly.com/en/documentation/ai-semantic-search-prestashop/index.md), [es](https://www.datafirefly.com/es/documentation/busqueda-semantica-ia-prestashop/index.md), [it](https://www.datafirefly.com/it/documentation/ricerca-semantica-ia-prestashop/index.md), [pl](https://www.datafirefly.com/pl/documentation/recherche-semantique-ia-prestashop/index.md), [pt](https://www.datafirefly.com/pt/documentation/recherche-semantique-ia-prestashop/index.md), [nl](https://www.datafirefly.com/nl/documentation/recherche-semantique-ia-prestashop/index.md)
- Index: <https://www.datafirefly.com/de/documentation/llms.txt>

Dieses Modul fügt Ihrem PrestaShop-Shop eine KI-gestützte semantische Suche hinzu: Autovervollständigung, Suchergebnisseite, Block „Das könnte Ihnen auch gefallen" auf der Produktseite und Analytics-Dashboard teilen dasselbe bedeutungsbasierte Ranking, berechnet mit Vektor-Embeddings.

## Voraussetzungen

- PrestaShop 8.0 bis 9.x
- PHP 7.4 bis 8.3 mit aktivierter cURL-Erweiterung
- Ein API-Schlüssel eines Embedding-Anbieters: OpenAI, Mistral AI oder ein beliebiges OpenAI-kompatibles Gateway

## Installation

1. Öffnen Sie im Backoffice **Module > Modul-Manager**.
2. Klicken Sie auf **Modul hochladen** und laden Sie die ZIP-Datei hoch.
3. Klicken Sie nach der Installation auf **Konfigurieren**.

Das Modul legt vier Tabellen an (`dfvectorsearch_index`, `dfvectorsearch_qcache`, `dfvectorsearch_log`, `dfvectorsearch_similar`) sowie einen versteckten Tab für seine AJAX-Aufrufe. Im Storefront ist nichts sichtbar, solange der Index nicht aufgebaut ist.

## Embedding-Anbieter konfigurieren

Wählen Sie im Tab **Einstellungen** Ihren Anbieter und geben Sie Ihren API-Schlüssel ein.

### OpenAI

Wählen Sie den Anbieter **OpenAI** und geben Sie Ihren Schlüssel ein. Das empfohlene Modell ist `text-embedding-3-small` (gutes Preis-Leistungs-Verhältnis). Für maximale Präzision bei einem anspruchsvollen Katalog können Sie `text-embedding-3-large` verwenden.

### Mistral AI (europäisches Hosting)

Wählen Sie **Mistral AI** für eine DSGVO-konforme Datenverarbeitung in Europa. Das zu verwendende Modell ist `mistral-embed`.

### OpenAI-kompatibles Gateway

Wählen Sie **Custom**, um Ihr eigenes Gateway zu verwenden (interner Proxy, Azure OpenAI usw.). Geben Sie dann die Basis-URL der API ein, zum Beispiel `https://mein-gateway.beispiel.com/v1`.

Der API-Schlüssel wird nach dem Speichern maskiert. Lassen Sie den maskierten Wert unverändert, um den vorhandenen Schlüssel zu behalten; geben Sie nur dann einen neuen Schlüssel ein, wenn Sie ihn ersetzen möchten.

### Dimensionen

Das Feld **Dimensionen** ermöglicht es, die Vektorgröße zu reduzieren, um die Suche bei sehr großen Katalogen zu beschleunigen. Belassen Sie `0` für die Standardgröße des Modells. Die OpenAI-text-embedding-3-Modelle unterstützen reduzierte Dimensionen (zum Beispiel 512).

Ein Wechsel von Anbieter, Modell oder Anzahl der Dimensionen macht den gesamten Index veraltet: Beim Speichern wird der Index automatisch für einen vollständigen Neuaufbau markiert und der Query-Cache geleert. Führen Sie danach die Indexierung erneut aus.

## Den Index aufbauen

Gehen Sie nach dem Speichern des API-Schlüssels zum Kasten **Embedding-Index** oben auf der Konfigurationsseite.

1. Klicken Sie auf **Jetzt indexieren**. Das Modul verarbeitet die Produkte in Batches mit einem Fortschrittsbalken, Sprache für Sprache und Shop für Shop.
2. Lassen Sie die Seite geöffnet, bis der Status _Index aktuell_ anzeigt.

### Batch-Größe

Die Einstellung **Indexierungs-Batch-Größe** steuert, wie viele Produkte pro Aufruf verarbeitet werden (5 bis 100). Verringern Sie sie bei Server-Timeouts.

### Geplante Indexierung (Cron)

Um den Index automatisch mit dem Katalog synchron zu halten, kopieren Sie die in der Konfiguration angezeigte **Cron-Indexierungs-URL** und rufen Sie sie regelmäßig auf (zum Beispiel alle 15 Minuten) über den Aufgabenplaner Ihres Hostings.

Die URL enthält ein Sicherheitstoken. Jeder Aufruf arbeitet etwa zwanzig Sekunden und stoppt dann sauber, um mit den PHP-Ausführungszeitlimits kompatibel zu bleiben.

## Wie die Neuindexierung funktioniert

Jedes Mal, wenn ein Produkt hinzugefügt, geändert oder gelöscht wird, wird der entsprechende Eintrag zur Neuindexierung markiert. Das Modul berechnet eine Prüfsumme des Produkttextes: Wenn sich nur der Preis oder der Bestand geändert hat, bleibt der Text identisch und **es wird kein neuer API-Aufruf ausgelöst**. Deaktivierte Produkte und deaktivierte Sprachen werden automatisch aus dem Index bereinigt.

## Suche im Storefront

### Autovervollständigung

Aktivieren Sie **Frontend-Autovervollständigung**, um ein Menü mit semantischen Vorschlägen an die Suchleiste Ihres Themes anzuhängen. Das Feld **CSS-Selektor des Suchfelds** teilt dem Modul mit, an welches Feld es sich anhängen soll. Der Standardwert `#search_widget input[type="text"]` funktioniert mit classic-basierten Themes.

### Theme-Autovervollständigung deaktivieren

Die Einstellung **Autovervollständigung des Themes deaktivieren** (standardmäßig aktiv) entfernt die nativen Suchvorschläge (ps_searchbar und Ähnliche), um ein doppeltes Dropdown zu vermeiden. Das Modul entfernt das native Skript und blendet jedes von einem individuellen Theme injizierte Dropdown aus.

### Hybridmodus

Mit aktiviertem **Hybridmodus** (empfohlen) steht das semantische Ranking an erster Stelle und die fehlenden nativen Keyword-Ergebnisse werden angehängt. Sie erhalten nie weniger Ergebnisse als bei der ursprünglichen Suche.

### Schwellenwert und Ergebnisanzahl

Der **minimale Ähnlichkeitswert** (zwischen 0 und 0,99; empfohlen: 0,30) verwirft zu weit entfernte Ergebnisse. Die **maximale Ergebnisanzahl** begrenzt die in der Autovervollständigung angezeigten Vorschläge.

## Die Suchergebnisseite

Die Einstellung **Die Suchergebnisseite übernehmen** (standardmäßig aktiv) lässt das Modul das Ranking der Suchseite über den Hook `productSearchProvider` liefern, den offiziellen Mechanismus von PrestaShop, den auch die Facettennavigation nutzt. Konkret:

- Autovervollständigung und Seite zeigen dieselben Produkte in derselben Reihenfolge;
- Paginierung und Sortierungen des Themes funktionieren weiter (die Sortierung „Relevanz" behält die semantische Reihenfolge; Preis, Name und Datum werden innerhalb des Rankings neu angewendet);
- ist die Embedding-API nicht verfügbar, greift das Modul unbemerkt auf die nativen Ergebnisse zurück und protokolliert den Vorfall: Die Suchseite bricht nie.

Das Modul greift nur bei einer Textsuche. Kategorien, Tag-Seiten und andere Listings behalten ihre nativen Mechanismen.

## Ähnliche Produkte (Das könnte Ihnen auch gefallen)

Der **Block „Ähnliche Produkte"** (standardmäßig aktiv) zeigt auf jeder Produktseite ein „Das könnte Ihnen auch gefallen", berechnet aus der semantischen Nähe der bereits in Ihrer Datenbank gespeicherten Vektoren. Es erfolgt kein API-Aufruf: Der Block funktioniert sogar ohne API-Schlüssel, solange der Index existiert.

- **Anzahl ähnlicher Produkte**: 2 bis 12 (Standard 6).
- **Mindest-Score für ähnliche Produkte**: ein dedizierter Schwellenwert, unabhängig vom Suchschwellenwert (empfohlen: 0,45). Darunter erscheint das Produkt nicht, auch wenn dadurch weniger Karten angezeigt werden. Eine Änderung leert automatisch den Cache der ähnlichen Produkte.
- Ein Affinitätsbonus bevorzugt Produkte derselben Standardkategorie und derselben Marke.
- Die Ergebnisse werden 24 Stunden pro Produkt zwischengespeichert und bei der Neuindexierung automatisch invalidiert.
- Das Rendering nutzt die nativen Miniaturen Ihres Themes: Flags, Wunschliste, Schnellansicht und Hover-Stile inklusive.

In einem kleinen Demo-Katalog, in dem alle Produkte denselben Marketingtext teilen, sind die Ähnlichkeiten naturgemäß lockerer. Erhöhen Sie den Schwellenwert auf 0,55-0,60, um nur enge Treffer zu behalten.

## Statistiken und Analytics

Die Konfigurationsseite zeigt ein Dashboard über die letzten 30 Tage: Anzahl der Suchen, Quote ohne Ergebnisse, durchschnittliche Ergebnisse pro Suche, Histogramm des Tagesvolumens, Top 20 der Suchanfragen (Anzahl, durchschnittliche Ergebnisse, bester Score) und Top 20 der Anfragen ohne Ergebnisse.

Anfragen ohne Ergebnisse sind eine Goldgrube: Sie zeigen genau, wonach Ihre Kunden suchen, ohne es zu finden, und damit, was Sie Ihrem Katalog oder Ihren Synonymen hinzufügen sollten.

- Die Schaltfläche **CSV exportieren** lädt das vollständige Protokoll herunter (Semikolon-Trennzeichen) mit der Quelle jeder Suche: Autovervollständigung oder Ergebnisseite.
- Das Protokoll wird nach 365 Tagen automatisch bereinigt.

## Query-Cache

Die Embeddings der Kundenanfragen werden 30 Tage lang zwischengespeichert. Wiederholte Suchen sind sofort verfügbar und werden nicht erneut abgerechnet. Die Schaltfläche **Query-Cache leeren** setzt ihn jederzeit zurück.

## Modul aktualisieren

Wenn Sie das Modul durch Ersetzen seiner Dateien aktualisieren (außerhalb des Modul-Managers), öffnen Sie einmal die Konfigurationsseite: Das Modul registriert dann automatisch fehlende Hooks, legt fehlende Tabellen und Spalten an und setzt neue Standardwerte. Die CSS- und JS-Dateien des Frontends enthalten einen Cache-Buster, ein Leeren des Browser-Caches ist nicht nötig.

## Fehlerbehebung

- **Es erscheinen keine Ergebnisse**: Prüfen Sie, dass der Index aufgebaut ist (Zähler „Indexierte Vektoren" > 0) und dass der API-Schlüssel gültig ist.
- **Zwei Dropdowns werden angezeigt**: Prüfen Sie, dass **Autovervollständigung des Themes deaktivieren** aktiv ist, und leeren Sie einmal den PrestaShop-Cache.
- **Autovervollständigung und Ergebnisseite unterscheiden sich**: Öffnen Sie einmal die Konfigurationsseite des Moduls (der Hook der Ergebnisseite wird automatisch registriert) und prüfen Sie, dass **Die Suchergebnisseite übernehmen** aktiv ist.
- **Der Block Das könnte Ihnen auch gefallen ist leer**: Der Index muss für die aktuelle Sprache und den aktuellen Shop aufgebaut sein; andernfalls senken Sie den Mindest-Score für ähnliche Produkte.
- **Timeouts während der Indexierung**: Verringern Sie die Batch-Größe und bevorzugen Sie die Cron-Indexierung.
- **Inkonsistente Ergebnisse nach einem Modellwechsel**: Führen Sie einen vollständigen Neuaufbau des Index durch.
