first commit

This commit is contained in:
2025-08-02 16:30:27 +02:00
commit 23646bfcee
14851 changed files with 1750626 additions and 0 deletions

View File

@@ -0,0 +1,66 @@
<?php
declare(strict_types=1);
namespace KupShop\CatalogBundle\StatusProvider;
use KupShop\CatalogBundle\Search\FulltextElastic;
use KupShop\KupShopBundle\Metrics\AbstractStatusProvider;
use KupShop\KupShopBundle\Metrics\StatusSample;
class FullTextSearchStatusProvider extends AbstractStatusProvider
{
protected FulltextElastic $fulltextElastic;
public const config = [
FulltextElastic::INDEX_PRODUCTS => [
'count' => 1,
],
FulltextElastic::INDEX_SECTIONS => [
'count' => 1,
],
FulltextElastic::INDEX_ARTICLES => [
'count' => 1,
],
FulltextElastic::INDEX_PRODUCERS => [
'count' => 1,
],
FulltextElastic::INDEX_PAGES => [
'count' => 1,
],
];
public function getData(): StatusSample|iterable
{
yield $this->search(FulltextElastic::INDEX_PRODUCTS);
yield $this->search(FulltextElastic::INDEX_SECTIONS);
yield $this->search(FulltextElastic::INDEX_PAGES);
if (findModule(\Modules::ARTICLES)) {
yield $this->search(FulltextElastic::INDEX_ARTICLES);
}
if (findModule(\Modules::PRODUCERS)) {
yield $this->search(FulltextElastic::INDEX_PRODUCERS);
}
if (findModule(\Modules::PRODUCTS_SECTIONS, \Modules::SUB_ELASTICSEARCH)) {
yield new StatusSample('elastic_available', FulltextElastic::isServerAvailable());
}
}
protected function search($index): StatusSample
{
$result = $this->fulltextElastic->search('a', self::config, [$index]);
return new StatusSample('fulltext', (int) (count($result) > 0), ['index'], [$index]);
}
/** @required */
public function setFulltextElastic(FulltextElastic $fulltextElastic)
{
$this->fulltextElastic = $fulltextElastic;
}
}