new tokens
This commit is contained in:
@@ -512,18 +512,7 @@ final readonly class CommerceQueryParser
|
||||
return true;
|
||||
}
|
||||
|
||||
return in_array($token, [
|
||||
'shop',
|
||||
'store',
|
||||
'produkt',
|
||||
'produkte',
|
||||
'artikel',
|
||||
'kaufen',
|
||||
'kaufe',
|
||||
'bestellen',
|
||||
'bestelle',
|
||||
'online',
|
||||
], true);
|
||||
return in_array($token, $this->config->getSearchControlTokens(), true);
|
||||
}
|
||||
|
||||
private function isDirectProductQuery(string $prompt): bool
|
||||
|
||||
@@ -5,9 +5,15 @@ declare(strict_types=1);
|
||||
namespace App\Commerce;
|
||||
|
||||
use App\Commerce\Dto\CommerceReferenceContext;
|
||||
use App\Config\CommerceReferenceResolverConfig;
|
||||
|
||||
final readonly class CommerceReferenceResolver
|
||||
{
|
||||
public function __construct(
|
||||
private CommerceReferenceResolverConfig $config,
|
||||
) {
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array<int, array<string, mixed>> $shopResults
|
||||
*/
|
||||
@@ -84,20 +90,7 @@ final readonly class CommerceReferenceResolver
|
||||
return null;
|
||||
}
|
||||
|
||||
$patterns = [
|
||||
'/\b(Testomat\s+2000\s+THCL)\b/ui',
|
||||
'/\b(Testomat\s+808)\b/ui',
|
||||
'/\b(Testomat\s+EVO\s+TH)\b/ui',
|
||||
'/\b(Testomat\s+EVO\s+CALC)\b/ui',
|
||||
'/\b(Testomat\s+ECO\s+PLUS)\b/ui',
|
||||
'/\b(Testomat\s+ECO\s+C)\b/ui',
|
||||
'/\b(Testomat\s+ECO)\b/ui',
|
||||
'/\b(Testomat\s+LAB\s+CL)\b/ui',
|
||||
'/\b(Testomat\s+LAB\s+MONO)\b/ui',
|
||||
'/\b(Testomat\s+2000)\b/ui',
|
||||
];
|
||||
|
||||
foreach ($patterns as $pattern) {
|
||||
foreach ($this->config->getConversationProductPatterns() as $pattern) {
|
||||
if (!preg_match($pattern, $text, $matches)) {
|
||||
continue;
|
||||
}
|
||||
@@ -135,25 +128,9 @@ final readonly class CommerceReferenceResolver
|
||||
return [];
|
||||
}
|
||||
|
||||
$patterns = [
|
||||
'indikator' => '/\bindikator(?:en)?\b/u',
|
||||
'indikatoren' => '/\bindikator(?:en)?\b/u',
|
||||
'reagenz' => '/\breagenz(?:ien)?\b/u',
|
||||
'reagenzien' => '/\breagenz(?:ien)?\b/u',
|
||||
'zubehör' => '/\bzubeh[oö]r\b/u',
|
||||
'ersatzteil' => '/\bersatzteile?\b/u',
|
||||
'ersatzteile' => '/\bersatzteile?\b/u',
|
||||
'service-set' => '/\bservice(?:\s|-)?set\b/u',
|
||||
'filter' => '/\bfilter\b/u',
|
||||
'pumpenkopf' => '/\bpumpenkopf\b/u',
|
||||
'motorblock' => '/\bmotorblock\b/u',
|
||||
'mehrwertpaket' => '/\bmehrwertpaket\b/u',
|
||||
'neotecmaster' => '/\bneotecmaster\b/u',
|
||||
];
|
||||
|
||||
$terms = [];
|
||||
|
||||
foreach ($patterns as $canonical => $pattern) {
|
||||
foreach ($this->config->getFocusTermPatterns() as $canonical => $pattern) {
|
||||
if (preg_match($pattern, $normalized) === 1) {
|
||||
$terms[] = $canonical;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user