Skip to content

Commit 4df9600

Browse files
committed
create_custom_aggregation.md: Add links to PHP API Ref, Fix FQCN
1 parent e160ab1 commit 4df9600

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

docs/search/extensibility/create_custom_aggregation.md

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,17 @@ code_samples/search/custom/src/Query/Aggregation/PriorityRangeAggregation.php
1818
The `PriorityRangeAggregation` class extends `AbstractRangeAggregation`.
1919
The 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

2727
An 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

Comments
 (0)