# Intent vocabulary and pattern configuration.
# Lists and thresholds mirror the previous PHP defaults exactly.
# Migrated config areas are YAML-only; remaining areas are migrated incrementally.
parameters:
  retriex.intent.commerce.config:
    strong_signals:
      - shop
      - alle
      - preis
      - preise
      - preisen
      - kunde
      - online
      - produkt
      - artikel
      - sku
      - kaufen
      - kostet
      - suche
      - such
      - finde
      - finden
      - analysegerät
      - analysegeraet
      - messgerät
      - messgeraet
      - pockettester
      - pocket tester
      - handmessgerät
      - handmessgeraet
      - analysator
      - analyzer
      - puffer
      - kalibrierpuffer
      - kalibrierlösung
      - kalibrierloesung
      - kalibrierung
      - chemie
      - reagenz
      - reagenzien
      - verbrauchsmaterial
      - zubehör
      - zubehoer
      - ersatzteil
      - anschlusskabel
      - kabel
      - sensorkabel
      - elektrode
      - elektrodenkabel
    non_product_commerce_signals:
      - shop
      - alle
      - kunde
      - online
      - kaufen
      - kostet
      - suche
      - such
      - finde
      - finden
    advisory_signals:
      - passt
      - eignet
      - besser
      - besten
      - gut
      - gut für
      - gut fuer
      - passend für
      - passend fuer
      - geeignet
      - geeigent
      - empfiehl
      - empfehl
    advisory_product_selection_patterns:
      - '/\bmit\s+welche(?:m|n|r|s)?\s+(?:testomat(?:en)?|pockettester|pocket\s+tester|analysegerät|analysegeraet|messgerät|messgeraet|analysator|analyzer)\b.*\b(?:messen|messung|überwach(?:en|ung)?|ueberwach(?:en|ung)?)\b/u'
      - '/\bwelche(?:r|s|n|m)?\s+(?:testomat(?:en)?|pockettester|pocket\s+tester|analysegerät|analysegeraet|messgerät|messgeraet|analysator|analyzer)\b.*\b(?:kann|können|koennen|misst|messen|überwacht|ueberwacht|eignet|geeignet|passt|gut|empfehl)\b.*\b(?:messen|messung|überwach(?:en|ung)?|ueberwach(?:en|ung)?)\b/u'
      - '/\b(?:testomat(?:en)?|pockettester|pocket\s+tester|analysegerät|analysegeraet|messgerät|messgeraet|analysator|analyzer)\b.*\b(?:für|fuer)\b.*\b(?:messung|messen|überwachung|ueberwachung)\b/u'
      - '/\b(?:ich\s+)?(?:würde|wuerde|möchte|moechte|will|brauche|benötige|benoetige)\b.{0,80}\b(?:messen|messung|überwachen|ueberwachen|kontrollieren)\b/u'
      - '/\b(?:ich\s+)?(?:suche|finde)\b.{0,120}\b(?:lösung|loesung|gerät|geraet|messgerät|messgeraet|handmessgerät|handmessgeraet|pockettester|analysegerät|analysegeraet|analysator|produkt|artikel)\b.{0,120}\b(?:messen|messung|überwachen|ueberwachen|kontrollieren|wasseranalyse|schwimmbad|pool|becken)\b/u'
      - '/\b(?:messen|messung|überwachen|ueberwachen|kontrollieren)\b.{0,80}\b(?:schwimmbad|pool|becken|wasseranalyse)\b/u'
    price_terms:
      - euro
      - €
      - eur
      - teuer
      - preis
      - preise
      - preisen
      - kosten
      - kostet
      - preiswert
      - preiswerte
      - günstig
      - guenstig
    color_terms:
      - schwarz
      - weiß
      - weis
      - blau
      - grau
      - beige
      - rosa
      - pink
      - gruen
      - orange
      - braun
    size_token_terms:
      - xs
      - s
      - m
      - l
      - xl
      - xxl
      - xxxxl
    size_terms:
      - größe
      - groesse
      - grösse
    support_diagnostic_patterns:
      - '/\bfehler\b/u'
      - '/\bfehlercode\b/u'
      - '/\berror\b/u'
      - '/\bstörung\b/u'
      - '/\bstoerung\b/u'
      - '/\balarm\b/u'
      - '/\bstörungsmeldung\b/u'
      - '/\bstoerungsmeldung\b/u'
      - '/\bmeldung\b/u'
      - '/\bwarnung\b/u'
      - '/\bwarncode\b/u'
      - '/\bcode\b/u'
      - '/\bwas bedeutet\b/u'
      - '/\bwarum\b/u'
      - '/\bblinkt\b/u'
      - '/\bzeigt\b/u'
      - '/\bzeigt an\b/u'
      - '/\bursache\b/u'
      - '/\bdiagnose\b/u'
      - '/\bservicefall\b/u'
      - '/\bproblem\b/u'
      - '/\bstörung beheben\b/u'
      - '/\bstoerung beheben\b/u'
      - '/\be\d{1,3}\b/u'
    explicit_commerce_intent_patterns:
      - '/\bshop\b/u'
      - '/\bpreis(?:e|en)?\b/u'
      - '/\bkosten\b/u'
      - '/\bkostet\b/u'
      - '/\bkaufen\b/u'
      - '/\bbestellen\b/u'
      - '/\bprodukt\b/u'
      - '/\bartikel\b/u'
      - '/\bsku\b/u'
      - '/\bonline\b/u'
      - '/\bchemie\b/u'
      - '/\breagenz(?:ien)?\b/u'
      - '/\bverbrauchsmaterial(?:ien)?\b/u'
      - '/\bzubehör\b/u'
      - '/\bzubehoer\b/u'
      - '/\bersatzteil(?:e)?\b/u'
      - '/\banschlusskabel\b/u'
      - '/\bkabel\b/u'
      - '/\bsensorkabel\b/u'
      - '/\belektrodenkabel\b/u'
    technical_factual_knowledge:
      signal_label: technical_factual_knowledge_query
      question_marker_patterns:
        - '/\bwas\s+ist\b/u'
        - '/\bwelche?r?s?\b/u'
        - '/\bwie\s+(hoch|niedrig|klein|gross|groß)\b/u'
        - '/\bniedrigste[rsn]?\b/u'
        - '/\bkleinste[rsn]?\b/u'
        - '/\bhöchste[rsn]?\b/u'
        - '/\bhoechste[rsn]?\b/u'
      fact_patterns:
        - '/\bgrenzwert(?:e|en|es)?\b/u'
        - '/\bmessbereich(?:e|en|s)?\b/u'
        - '/\bwasserhärte\b/u'
        - '/\bwasserhaerte\b/u'
        - '/\bresthärte\b/u'
        - '/\bresthaerte\b/u'
        - '/\bgesamthärte\b/u'
        - '/\bgesamthaerte\b/u'
        - '/\bauflösung\b/u'
        - '/\baufloesung\b/u'
        - '/\bindikator(?:en|s)?\b/u'
        - '/\btestomat(?:en|s)?\b/u'
        - '/\büberwach(?:t|en|ung)\b/u'
        - '/\bueberwach(?:t|en|ung)\b/u'
        - '/\bmess(?:en|ung|bar|wert)\b/u'
    patterns:
      sku_like: '/\b\d{4,10}\b/u'
      price_value_template: '/\b\d+(?:[.,]\d+)?\s*(?:{price_pattern})\b/u'
      size_extraction_template: '/\b(?:{size_pattern})\s*([a-z0-9.-]+)\b/u'
      size_value_template: '/\b(?:{size_pattern})\s*[a-z0-9.-]+\b/u'
      size_token_value_template: '/\b(?:{size_token_pattern})\b/u'
      color_value_template: '/\b(?:{color_pattern})\b/u'
      model_like_product: '/\b[a-zäöüß][a-zäöüß®\-]*(?:\s+[a-zäöüß][a-zäöüß®\-]*){0,2}\s+\d{2,5}[a-z0-9\-]*\b/u'
    labels:
      support_or_diagnostic_signal: support_or_diagnostic
      sku_signal: sku
      price_signal: price
      size_signal: size
      size_token_signal: size_token
      color_signal: color
      advisory_signal_prefix: 'advisory:'
      advisory_product_selection_signal: advisory_product_selection
      model_like_product_signal: model_like_product
    scores:
      product_search_min_score: 3
      advisory_product_search_min_score: 2
      strong_signal_score: 3
      sku_signal_score: 2
      price_signal_score: 2
      size_signal_score: 2
      size_token_signal_score: 1
      color_signal_score: 1
      advisory_signal_score: 1
      advisory_product_selection_signal_score: 3
      model_like_product_signal_score: 3

  retriex.intent.catalog.config:
    min_score: 0.72
    ambiguity_delta: 0.02
    intent_search_limit: 6
    list_search_limit: 3
    min_allowed_score: 0.0
    max_allowed_score: 1.0

  retriex.intent.light.config:
    list_threshold: 4
    quantity_words:
      - alle
      - sämtliche
      - saemtliche
      - mehrere
      - verschiedene
      - einige
      - viele
      - optionen
      - möglichkeiten
      - moeglichkeiten
      - varianten
      - arten
      - modelle
      - funktionen
      - punkte
      - schritte
      - kategorien
      - übersicht
      - uebersicht
    strong_patterns:
      - '/\bliste(n)?\b/u'
      - '/\bauflisten\b/u'
      - '/\baufz(a|ä)hl(en)?\b/u'
      - '/\bnenn(e)?\b/u'
      - '/\bzeig(e)?\b/u'
      - '/\bwelche\s+sind\b/u'
      - '/\bwelche\s+gibt\s+es\b/u'
      - '/\bwas\s+sind\b/u'
      - '/\bwie\s+viele\b/u'
      - '/\branking\b/u'
      - '/\btop\s*\d+\b/u'

  retriex.intent.sales.config:
    dominance_delta: 2
    min_score_threshold: 3
    sales_signals:
      - preis
      - preise
      - kosten
      - lizenz
      - lizenzmodell
      - tarif
      - tarife
      - gebuehr
      - gebühr
      - monatlich
      - jaehrlich
      - jährlich
      - abo
      - subscription
    comparison_signals:
      - '/\bvergleich(en)?\b/u'
      - '/\bvs\b/u'
      - '/\bgegenueber\b/u'
      - '/\balternative(n)?\b/u'
      - '/\bunterschied(e)?\b/u'
      - '/\bbesser\b/u'
    objection_signals:
      - problem
      - risiko
      - nachteil
      - datenschutz
      - dsgvo
      - sicherheit
      - compliance
      - kritik
      - zweifel
      - unsicher
    implementation_signals:
      - implementierung
      - implementieren
      - integration
      - integrieren
      - einführung
      - einfuehrung
      - aufwand
      - setup
      - rollout
      - migration
      - installation
      - api
      - schnittstelle
    roi_signals:
      - roi
      - rentabilitaet
      - rentabilität
      - business case
      - einsparung
      - kosten senken
      - umsatz steigern
      - effizienz steigern
