Source of file Searcher.php
Size: 1,829 Bytes - Last Modified: 2021-12-23T10:38:36+00:00
/var/www/docs.ssmods.com/process/src/src/Base/Searcher.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 | <?php declare(strict_types = 1); /** * Created by PhpStorm. * User: gordon * Date: 25/3/2561 * Time: 17:01 น. */ namespace Suilven\FreeTextSearch\Base; use Suilven\FreeTextSearch\Container\SearchResults; use Suilven\FreeTextSearch\Types\SearchParamTypes; abstract class Searcher implements \Suilven\FreeTextSearch\Interfaces\Searcher { /** @var array<string,string|int|float|bool> $filters */ protected $filters = []; /** @var int */ protected $pageSize = 15; /** @var int */ protected $page = 1; /** @var string */ protected $indexName; /** @var array<string,string> */ protected $facettedTokens = []; /** @var array<string> */ protected $hasManyTokens = []; /** @var string */ protected $searchType = SearchParamTypes::AND; abstract public function search(?string $q): SearchResults; /** @param array<string,string|int|float|bool> $filters */ public function setFilters(array $filters): void { $this->filters = $filters; } public function setPageSize(int $pageSize): void { $this->pageSize = $pageSize; } public function setIndexName(string $indexName): void { $this->indexName = $indexName; } /** @param array<string,string> $facettedTokens */ public function setFacettedTokens(array $facettedTokens): void { $this->facettedTokens = $facettedTokens; } /** @param array<string> $hasManyTokens */ public function setHasManyTokens(array $hasManyTokens): void { $this->hasManyTokens = $hasManyTokens; } public function setPage(int $pageNumber): void { $this->page = $pageNumber; } public function setSearchType(string $newSearchType): void { $this->searchType = $newSearchType; } } |