1 | <?php |
||
36 | class RelevanceComponent extends AbstractComponent implements QueryAware |
||
37 | { |
||
38 | |||
39 | /** |
||
40 | * Solr query |
||
41 | * |
||
42 | * @var Query |
||
43 | */ |
||
44 | protected $query; |
||
45 | |||
46 | /** |
||
47 | * QueryBuilder |
||
48 | * |
||
49 | * @var QueryBuilder|object |
||
50 | 32 | */ |
|
51 | protected $queryBuilder; |
||
52 | 32 | ||
53 | /** |
||
54 | * AccessComponent constructor. |
||
55 | * @param QueryBuilder|null |
||
56 | 32 | */ |
|
57 | public function __construct(QueryBuilder $queryBuilder = null) |
||
58 | { |
||
59 | $this->queryBuilder = $queryBuilder ?? GeneralUtility::makeInstance(QueryBuilder::class); |
||
60 | 32 | } |
|
61 | |||
62 | /** |
||
63 | * Initializes the search component. |
||
64 | 32 | * |
|
65 | * Sets minimum match, boost function, boost query and tie breaker. |
||
66 | * |
||
67 | */ |
||
68 | public function initializeSearchComponent() |
||
69 | { |
||
70 | $this->query = $this->queryBuilder->startFrom($this->query) |
||
71 | ->useMinimumMatchFromTypoScript() |
||
72 | ->useBoostFunctionFromTypoScript() |
||
73 | ->useSlopsFromTypoScript() |
||
74 | 32 | ->useBoostQueriesFromTypoScript() |
|
75 | ->useTieParameterFromTypoScript() |
||
76 | ->getQuery(); |
||
77 | } |
||
78 | |||
79 | /** |
||
80 | * Provides the extension component with an instance of the current query. |
||
81 | 32 | * |
|
82 | * @param Query $query Current query |
||
83 | 32 | */ |
|
84 | 32 | public function setQuery(Query $query) |
|
88 | } |
||
89 |