Suchfunktion für ISBN Treffer anpassen

Ich habe versucht das Feld EAN aus der Tabelle s_articles_details für die ISBN zu nutzen und mit in den Einstellungen als Suche eingebunden, aber wenn er einen 100% treffer haben müsste, werden auch viele andere Artikel angezeigt, sodass ich mir jetzt den Quelltext etwas genauer angesehen habe.

In der Datei /engine/Shopware/Controllers/Frontend/Search.php habe ich folgenden Code zur Funktion searchFuzzyCheck hinzugefügt.

function findIsbn($str)
{
	$regex = '/\b(?:ISBN(?:: ?| ))?((?:97[89])?\d{9}[\dx])\b/i';
	if (preg_match($regex, str_replace('-', '', $str), $matches)) {
		return (10 === strlen($matches[1]))
			? 1 // ISBN-10
			: 2; // ISBN-13
	}
	return false; // No valid ISBN found
}
if (!empty($search)) $searchISBN = findIsbn($search);
if (( $searchISBN==1 || $searchISBN==2 ) && strlen($search) >= $minSearch) {
	$sql = '
		SELECT DISTINCT articleID, ean, s_articles.configurator_set_id
		FROM s_articles_details
		  INNER JOIN s_articles
		   ON s_articles.id = s_articles_details.articleID
		WHERE ean = ?
		GROUP BY articleID
		LIMIT 1
	';
	$products = $this->get('db')->fetchAll($sql, [$search]);
	if ($products[0]['configurator_set_id']) {
		$number = $products[0]['ean'];
	}

	$products = array_column($products, 'articleID');

	if (empty($products)) {
		$like_search = $search . '%';
		$sql = '
			SELECT DISTINCT articleID
			FROM s_articles_details
			WHERE ean = ?
			OR ean LIKE ?
			GROUP BY articleID
			LIMIT 1
		';
		$products = $this->get('db')->fetchCol($sql, [$search, $like_search]);
	}			
} else {
	if (!empty($search) && strlen($search) >= $minSearch) {
		$sql = '
			SELECT DISTINCT articleID, ordernumber, s_articles.configurator_set_id
			FROM s_articles_details
			  INNER JOIN s_articles
			   ON s_articles.id = s_articles_details.articleID
			WHERE ordernumber = ?
			GROUP BY articleID
			LIMIT 2
		';
		$products = $this->get('db')->fetchAll($sql, [$search]);
		if ($products[0]['configurator_set_id']) {
			$number = $products[0]['ordernumber'];
		}

		$products = array_column($products, 'articleID');

		if (empty($products)) {
			$like_search = $search . '%';
			$sql = '
				SELECT DISTINCT articleID
				FROM s_articles_details
				WHERE ordernumber = ?
				OR ordernumber LIKE ?
				GROUP BY articleID
				LIMIT 2
			';
			$products = $this->get('db')->fetchCol($sql, [$search, $like_search]);
		}
	}			
}

Die Abfrage wird angewendet, wenn ich eine ISBN eingebe und er einen Match hat, mit klick auf die Lupe komme ich direkt zum Artikel, aber die Ajaxsuche /engine/Shopware/Controllers/Frontend/AjaxSearch.php, gibt mir weiterhin mehrere Artikel aus. 

Jemand eine Idee wie ich das Problem auch noch löse, das er den Artikel wie bei der Artikelnummer nur alleine anzeigt?