optimize retrieval
This commit is contained in:
@@ -1,63 +1,94 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace App\Config;
|
||||
|
||||
class CommerceQueryParserConfig
|
||||
final readonly class CommerceQueryParserConfig
|
||||
{
|
||||
public function getKnownBrands(): array
|
||||
{
|
||||
return [
|
||||
'heyl',
|
||||
'horiba',
|
||||
'neomeris'
|
||||
];
|
||||
/**
|
||||
* @param string[] $knownBrands
|
||||
* @param string[] $phrasesToRemove
|
||||
* @param string[] $filterSearchTokensPattern
|
||||
* @param string[] $referenceOnlyTokens
|
||||
*/
|
||||
public function __construct(
|
||||
private array $knownBrands = [],
|
||||
private array $phrasesToRemove = [],
|
||||
private array $filterSearchTokensPattern = [],
|
||||
private array $referenceOnlyTokens = [],
|
||||
) {
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string[]
|
||||
*/
|
||||
public function getKnownBrands(): array
|
||||
{
|
||||
return $this->knownBrands;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string[]
|
||||
*/
|
||||
public function getPhrasesToRemove(): array
|
||||
{
|
||||
return [
|
||||
'ich suche',
|
||||
'suche',
|
||||
'habt ihr',
|
||||
'gibt es',
|
||||
'zeige mir',
|
||||
'welches gerät',
|
||||
'welche gerät',
|
||||
'welches modell',
|
||||
'welches ist besser',
|
||||
'welches ist am besten',
|
||||
'alternative',
|
||||
'alternativen',
|
||||
];
|
||||
return $this->phrasesToRemove;
|
||||
}
|
||||
|
||||
public function getHistoryContextPattern(): string
|
||||
{
|
||||
return 'chat|auch|noch|nochmal|zusätzlich|dazu|davon|stattdessen|alternative|alternativen|größer|groesser|kleiner|gleich(?:e|en|er|es)?|derselbe|dieselbe|dasselbe|wie oben|wie zuvor|wie gehabt';
|
||||
return 'auch|noch|nochmal|dazu|wie oben|wie zuvor|ähnlich|aehnlich|stattdessen|alternative|alternativ|gerät|geraet|das gerät|das geraet|dieses gerät|dieses geraet|das modell|dieses modell|dafür|dafuer|davon|preis|preise|preis dazu|preis dafür|preis dafuer|preis zum gerät|preis zum geraet|was kostet das|was kostet das gerät|was kostet das geraet|und der preis|kosten|verfügbarkeit|verfuegbarkeit|link dazu|shop|bitte';
|
||||
}
|
||||
|
||||
public function getReferenceFollowUpPattern(): string
|
||||
{
|
||||
return 'preis|preise|preis dazu|preis dafür|preis dafuer|preis zum gerät|preis zum geraet|was kostet das|was kostet das gerät|was kostet das geraet|gerät|geraet|das gerät|das geraet|dieses gerät|dieses geraet|das modell|dieses modell|dafür|dafuer|davon|verfügbarkeit|verfuegbarkeit|link dazu|shop|bitte';
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string[]
|
||||
*/
|
||||
public function getFilterSearchTokensPattern(): array
|
||||
{
|
||||
return $this->filterSearchTokensPattern;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string[]
|
||||
*/
|
||||
public function getReferenceOnlyTokens(): array
|
||||
{
|
||||
if ($this->referenceOnlyTokens !== []) {
|
||||
return $this->referenceOnlyTokens;
|
||||
}
|
||||
|
||||
return [
|
||||
'auch',
|
||||
'noch',
|
||||
'nochmal',
|
||||
'zusätzlich',
|
||||
'preis',
|
||||
'preise',
|
||||
'kosten',
|
||||
'kostet',
|
||||
'gerät',
|
||||
'geraet',
|
||||
'modell',
|
||||
'produkt',
|
||||
'artikel',
|
||||
'dafür',
|
||||
'dafuer',
|
||||
'dazu',
|
||||
'davon',
|
||||
'stattdessen',
|
||||
'verfügbarkeit',
|
||||
'verfuegbarkeit',
|
||||
'shop',
|
||||
'link',
|
||||
'zum',
|
||||
'zur',
|
||||
'das',
|
||||
'dieses',
|
||||
'den',
|
||||
'dem',
|
||||
'bitte',
|
||||
'gern',
|
||||
'gerne',
|
||||
'zeige',
|
||||
'zeig',
|
||||
'such',
|
||||
'suche',
|
||||
'finde',
|
||||
'find',
|
||||
'mir',
|
||||
'mal',
|
||||
'von',
|
||||
'und',
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user