p80
This commit is contained in:
@@ -1161,6 +1161,8 @@ parameters:
|
|||||||
- tc
|
- tc
|
||||||
- redox
|
- redox
|
||||||
- orp
|
- orp
|
||||||
|
- select
|
||||||
|
- sensor
|
||||||
- 0,02
|
- 0,02
|
||||||
stopword_cleanup:
|
stopword_cleanup:
|
||||||
origin: genre_native
|
origin: genre_native
|
||||||
|
|||||||
@@ -0,0 +1,73 @@
|
|||||||
|
# RetrieX Patch 80 - Chlor Select Sensor Query Preservation
|
||||||
|
|
||||||
|
## Ziel
|
||||||
|
|
||||||
|
Direkte Shop-Suchen nach exakt benannten Sensor-Produkten sollen nicht auf einen zu generischen Messparameter reduziert werden.
|
||||||
|
|
||||||
|
Beispiel vor dem Patch:
|
||||||
|
|
||||||
|
```text
|
||||||
|
ich suche den chlor select sensor
|
||||||
|
Gesendete Suchquery: chlor
|
||||||
|
```
|
||||||
|
|
||||||
|
Dadurch konnten generische Chlor-Sensoren, z. B. JUMO tecLine CL2, die Shop-Ergebnisse dominieren, obwohl der Shop ein Produkt mit dem Titel `Chlor Select Sensor` enthält.
|
||||||
|
|
||||||
|
## Änderung
|
||||||
|
|
||||||
|
Die bestehende genre-native `shop_query_runtime.current_input_preservation_terms` in `config/retriex/genre.yaml` wurde um zwei Wasseranalyse-/Shop-Titel-relevante Tokens erweitert:
|
||||||
|
|
||||||
|
- `select`
|
||||||
|
- `sensor`
|
||||||
|
|
||||||
|
Dadurch kann die vorhandene generische Preservation-Logik beide Tokens aus der aktuellen Nutzereingabe in die finale Shopquery zurückholen, wenn ein Optimizer oder Cleanup-Schritt die Query bereits zu stark gekürzt hat.
|
||||||
|
|
||||||
|
## Erwartetes Verhalten nach dem Patch
|
||||||
|
|
||||||
|
```text
|
||||||
|
ich suche den chlor select sensor
|
||||||
|
Gesendete Suchquery: chlor select sensor
|
||||||
|
```
|
||||||
|
|
||||||
|
Der Patch ist bewusst klein und nutzt die bestehende v1.5.6-Architektur:
|
||||||
|
|
||||||
|
- keine PHP-Core-Änderung
|
||||||
|
- keine neue Sonderlogik für ein einzelnes Produkt
|
||||||
|
- keine Änderung an Retrieval, Ranking, Scoring, Shop-Matching oder Follow-up-Actions
|
||||||
|
- fachliche Query-Preservation bleibt in `genre.yaml`
|
||||||
|
|
||||||
|
## Lokale Prüfungen
|
||||||
|
|
||||||
|
Im ZIP ohne `vendor/` wurden ausführbare lokale Prüfungen gemacht:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
php -l src/Agent/AgentRunner.php
|
||||||
|
python3 -c "import yaml; yaml.safe_load(open('config/retriex/genre.yaml'))"
|
||||||
|
```
|
||||||
|
|
||||||
|
Zusätzlich wurde die bestehende Query-Pipeline logisch simuliert:
|
||||||
|
|
||||||
|
- Routing bereits reduziert auf `chlor` -> Preservation ergibt `chlor select sensor`
|
||||||
|
- Routing mit Originaleingabe `ich suche den chlor select sensor` -> Stopword/Positive-Filter ergibt `chlor select sensor`
|
||||||
|
|
||||||
|
## In der Zielumgebung ausführen
|
||||||
|
|
||||||
|
```bash
|
||||||
|
bin/console cache:clear
|
||||||
|
bin/console mto:agent:config:validate
|
||||||
|
bin/console mto:agent:regression:test
|
||||||
|
bin/console mto:agent:config:audit-source --details
|
||||||
|
bin/console mto:agent:config:audit-patterns --details
|
||||||
|
```
|
||||||
|
|
||||||
|
## Manueller Regressionstest
|
||||||
|
|
||||||
|
```text
|
||||||
|
ich suche den chlor select sensor
|
||||||
|
```
|
||||||
|
|
||||||
|
Erwartung:
|
||||||
|
|
||||||
|
- Gesendete Suchquery enthält `chlor select sensor`
|
||||||
|
- Shop-Ergebnisse priorisieren den exakt betitelten `Chlor Select Sensor`
|
||||||
|
- keine Regression bei bisherigen Preis-/Zubehör-/Variantentoken-Flows aus v1.5.6
|
||||||
Reference in New Issue
Block a user