Total Complexity | 6 |
Total Lines | 62 |
Duplicated Lines | 0 % |
Changes | 0 |
1 | <?php declare(strict_types = 1); |
||
14 | abstract class Searcher implements \Suilven\FreeTextSearch\Interfaces\Searcher |
||
15 | { |
||
16 | /** @var array<string,string|int|float> $filters */ |
||
17 | protected $filters; |
||
18 | |||
19 | /** @var int */ |
||
20 | protected $pageSize; |
||
21 | |||
22 | /** @var int */ |
||
23 | protected $page; |
||
24 | |||
25 | /** @var string */ |
||
26 | protected $indexName; |
||
27 | |||
28 | /** @var array<string,string> */ |
||
29 | protected $facettedTokens; |
||
30 | |||
31 | /** @var array<string> */ |
||
32 | protected $hasManyTokens; |
||
33 | |||
34 | |||
35 | abstract public function search(?string $q): SearchResults; |
||
36 | |||
37 | |||
38 | /** @param array<string,string|int|float> $filters */ |
||
39 | public function setFilters(array $filters): void |
||
40 | { |
||
41 | $this->filters = $filters; |
||
42 | } |
||
43 | |||
44 | |||
45 | public function setPageSize(int $pageSize): void |
||
46 | { |
||
47 | $this->pageSize = $pageSize; |
||
48 | } |
||
49 | |||
50 | |||
51 | public function setIndexName(string $indexName): void |
||
52 | { |
||
53 | $this->indexName = $indexName; |
||
54 | } |
||
55 | |||
56 | |||
57 | |||
58 | /** @param array<string,string> $facettedTokens */ |
||
59 | |||
60 | public function setFacettedTokens(array $facettedTokens): void |
||
61 | { |
||
62 | $this->facettedTokens = $facettedTokens; |
||
63 | } |
||
64 | |||
65 | |||
66 | /** @param array<string> $hasManyTokens */ |
||
67 | public function setHasManyTokens(array $hasManyTokens): void |
||
70 | } |
||
71 | |||
72 | |||
73 | public function setPage(int $pageNumber): void |
||
76 | } |
||
77 | } |
||
78 |