@@ -18,17 +18,17 @@ code_samples/search/custom/src/Query/Aggregation/PriorityRangeAggregation.php
1818The `PriorityRangeAggregation` class extends `AbstractRangeAggregation`.
1919The name of the class indicates that it aggregates the results by using the Range aggregation.
2020
21- An aggregation must implement the `Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation` interface or inherit one of following abstract classes:
21+ An aggregation must implement the [ `Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation`](.. / .. / api / php_api / php_api_reference / classes / Ibexa-Contracts-Core-Repository-Values-Content-Query-Aggregation.html) interface or inherit one of following abstract classes:
2222
23- - `Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractRangeAggregation`
24- - `Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractStatsAggregation`
25- - `Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation`
23+ - [ `Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractRangeAggregation`](.. / .. / api / php_api / php_api_reference / classes / Ibexa-Contracts-Core-Repository-Values-Content-Query-Aggregation-AbstractRangeAggregation.html)
24+ - [ `Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractStatsAggregation`](.. / .. / api / php_api / php_api_reference / classes / Ibexa-Contracts-Core-Repository-Values-Content-Query-Aggregation-AbstractStatsAggregation.html)
25+ - [ `Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\AbstractTermAggregation`](.. / .. / api / php_api / php_api_reference / classes / Ibexa-Contracts-Core-Repository-Values-Content-Query-Aggregation-AbstractTermAggregation.html)
2626
2727An aggregation can also implement one of the following interfaces:
2828
29- - `Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\FieldAggregation`, based on content field
30- - `Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\LocationAggregation`, based on content location
31- - `Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\RawAggregation`, based on details of the index structure
29+ - [ `Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\FieldAggregation`](.. / .. / api / php_api / php_api_reference / classes / Ibexa-Contracts-Core-Repository-Values-Content-Query-Aggregation-FieldAggregation.html) , based on content field
30+ - [ `Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\LocationAggregation`](.. / .. / api / php_api / php_api_reference / classes / Ibexa-Contracts-Core-Repository-Values-Content-Query-Aggregation-LocationAggregation.html) , based on content location
31+ - [ `Ibexa\Contracts\Core\Repository\Values\Content\Query\Aggregation\RawAggregation`](.. / .. / api / php_api / php_api_reference / classes / Ibexa-Contracts-Core-Repository-Values-Content-Query-Aggregation-RawAggregation.html) , based on details of the index structure
3232
3333!!! note " Aggregation definition"
3434
@@ -86,6 +86,8 @@ For the result extractor, you can use the built-in `RangeAggregationResultExtrac
8686 [[ = include_file( ' code_samples/search/custom/config/aggregation_services.yaml' , 19, 26) =]]
8787 ```
8888
89+ For other cases, a [`TermAggregationKeyMapper`](.. /.. /api /php_api /php_api_reference /classes /Ibexa-Contracts-Solr-ResultExtractor-AggregationResultExtractor-TermAggregationKeyMapper.html) interface is also available.
90+
8991=== " Elasticsearch"
9092
9193 Tag the service with `ibexa.search.elasticsearch.query.location.aggregation.result.extractor`.
@@ -127,7 +129,7 @@ In a more complex use case, you must create your own visitor and extractor.
127129
128130=== " Solr"
129131
130- The aggregation visitor must implement `Ibexa\Contracts\Solr\Query\AggregationVisitor`:
132+ The aggregation visitor must implement [ `Ibexa\Contracts\Solr\Query\AggregationVisitor`](.. / .. / api / php_api / php_api_reference / classes / Ibexa-Contracts-Solr-Query-AggregationVisitor.html) :
131133
132134 ``` php
133135 --8 <--
@@ -137,7 +139,7 @@ In a more complex use case, you must create your own visitor and extractor.
137139
138140=== " Elasticsearch"
139141
140- The aggregation visitor must implement `Ibexa\Contracts\ElasticSearchEngine\Query\AggregationVisitor`:
142+ The aggregation visitor must implement [ `Ibexa\Contracts\ElasticSearchEngine\Query\AggregationVisitor`](.. / .. / api / php_api / php_api_reference / classes / Ibexa-Contracts-Elasticsearch-Query-AggregationVisitor.html) :
141143
142144 ``` php
143145 --8 <--
@@ -178,7 +180,7 @@ Finally, register the aggregation visitor as a service.
178180
179181=== " Solr"
180182
181- You must also create a result extractor, which implements `Ibexa\Solr\ResultExtractor\AggregationResultExtractor` that transforms raw aggregation results from Solr into `AggregationResult` objects:
183+ You must also create a result extractor, which implements [ `Ibexa\Contracts\ Solr\ResultExtractor\AggregationResultExtractor`](.. / .. / api / php_api / php_api_reference / classes / Ibexa-Contracts-Solr-ResultExtractor-AggregationResultExtractor.html) that transforms raw aggregation results from Solr into `AggregationResult` objects:
182184
183185 ``` php
184186 --8 <--
@@ -192,7 +194,7 @@ Finally, register the aggregation visitor as a service.
192194
193195=== " Elasticsearch"
194196
195- You must also create a result extractor, which implements `Ibexa\Contracts\ElasticSearchEngine\Query\AggregationResultExtractor` that transforms raw aggregation results from Elasticsearch into `AggregationResult` objects:
197+ You must also create a result extractor, which implements [ `Ibexa\Contracts\ElasticSearchEngine\Query\AggregationResultExtractor`](.. / .. / api / php_api / php_api_reference / classes / Ibexa-Contracts-Elasticsearch-Query-AggregationResultExtractor.html) that transforms raw aggregation results from Elasticsearch into `AggregationResult` objects:
196198
197199 ``` php
198200 --8 <--
0 commit comments