Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@

### Fastly

For Fastly (as for [[[= product_name_connect =]]](https://doc.ibexa.co/projects/connect/en/latest/)), the instance must be visible from Internet.
For Fastly (as for [[[= product_name_connect =]]]([[= connect_doc =]]/)), the instance must be visible from Internet.

To use [ngrok](https://ngrok.com/) alongside [`ddev share`](https://docs.ddev.com/en/stable/users/topics/sharing/#using-ddev-share-easiest) is probably the easiest way to achieve this.

Expand All @@ -157,15 +157,20 @@

### Elasticsearch

The following sequence of commands:
The installation of Elasticsearch within a DDEV stack is an adaptation of the [on-premise installation](install_elasticsearch.md) procedure using the [`ddev/ddev-elasticsearch` add-on](https://addons.ddev.com/addons/ddev/ddev-elasticsearch).

Check notice on line 160 in docs/infrastructure_and_maintenance/clustering/clustering_with_ddev.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/infrastructure_and_maintenance/clustering/clustering_with_ddev.md#L160

[Ibexa.ByUsing] Prefer 'by using' or 'with' to plain 'using'.
Raw output
{"message": "[Ibexa.ByUsing] Prefer 'by using' or 'with' to plain 'using'.", "location": {"path": "docs/infrastructure_and_maintenance/clustering/clustering_with_ddev.md", "range": {"start": {"line": 160, "column": 131}}}, "severity": "INFO"}

For example, the following sequence of commands:

1. Adds the Elasticsearch container
2. Sets Elasticsearch as the search engine
3. Restarts the DDEV cluster and clears application cache
4. Injects the schema and reindexes the content
2. Sets the Elasticsearch version to 7 (default is 9 which is not supported, 8 is supported with the `ibexa/elasticsearch8` package) - a full version number is required, see [Elasticsearch Docker image](https://hub.docker.com/_/elasticsearch)

Check notice on line 165 in docs/infrastructure_and_maintenance/clustering/clustering_with_ddev.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/infrastructure_and_maintenance/clustering/clustering_with_ddev.md#L165

[Ibexa.Numerals] Spell out numbers until 10.
Raw output
{"message": "[Ibexa.Numerals] Spell out numbers until 10.", "location": {"path": "docs/infrastructure_and_maintenance/clustering/clustering_with_ddev.md", "range": {"start": {"line": 165, "column": 37}}}, "severity": "INFO"}

Check notice on line 165 in docs/infrastructure_and_maintenance/clustering/clustering_with_ddev.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/infrastructure_and_maintenance/clustering/clustering_with_ddev.md#L165

[Ibexa.Numerals] Spell out numbers until 10.
Raw output
{"message": "[Ibexa.Numerals] Spell out numbers until 10.", "location": {"path": "docs/infrastructure_and_maintenance/clustering/clustering_with_ddev.md", "range": {"start": {"line": 165, "column": 51}}}, "severity": "INFO"}

Check notice on line 165 in docs/infrastructure_and_maintenance/clustering/clustering_with_ddev.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/infrastructure_and_maintenance/clustering/clustering_with_ddev.md#L165

[Ibexa.Passive] Try to avoid passive tense, when possible.
Raw output
{"message": "[Ibexa.Passive] Try to avoid passive tense, when possible.", "location": {"path": "docs/infrastructure_and_maintenance/clustering/clustering_with_ddev.md", "range": {"start": {"line": 165, "column": 80}}}, "severity": "INFO"}

Check notice on line 165 in docs/infrastructure_and_maintenance/clustering/clustering_with_ddev.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/infrastructure_and_maintenance/clustering/clustering_with_ddev.md#L165

[Ibexa.Passive] Try to avoid passive tense, when possible.
Raw output
{"message": "[Ibexa.Passive] Try to avoid passive tense, when possible.", "location": {"path": "docs/infrastructure_and_maintenance/clustering/clustering_with_ddev.md", "range": {"start": {"line": 165, "column": 158}}}, "severity": "INFO"}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you somehow link to https://doc.ibexa.co/en/4.6/search/search_engines/elasticsearch/install_elasticsearch/ from here? For people who want to read more about the supported versions, elasticsearch8 package etc.

@adriendupuis adriendupuis Aug 7, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mnocon I chose this solution: 298b731
I added a little intro that was kind of missing anyway.
What do you think? If it's OK, I'l do the same for Solr.

Edit: I did the same for Solr in 1f9c50c

3. Sets Elasticsearch as the search engine
4. Restarts the DDEV cluster and clears application cache
5. Injects the schema and reindexes the content

```bash
ddev add-on get ddev/ddev-elasticsearch
ddev dotenv set .ddev/.env.elasticsearch --elasticsearch-docker-image=elasticsearch:7.17.14
cp .ddev/elasticsearch/docker-compose.elasticsearch7.yaml .ddev/
ddev config --web-environment-add SEARCH_ENGINE=elasticsearch
ddev config --web-environment-add ELASTICSEARCH_DSN=http://elasticsearch:9200
ddev restart
Expand All @@ -180,19 +185,21 @@

For more information on topics such as memory management, see [ddev/ddev-elasticsearch README](https://github.com/ddev/ddev-elasticsearch).

See [Elasticsearch REST API reference](https://www.elastic.co/guide/en/elasticsearch/reference/current/rest-apis.html) for more request options, like, for example:
See [Elasticsearch REST API reference](https://www.elastic.co/docs/reference/elasticsearch/rest-apis) for more request options, like, for example:

- [`_count`](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-count.html), as seen above
- [`_cluster/health`](https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-health.html) (don't mind the "yellow" status which is normal in the absence of replicas in the DDEV container)
- [`_search?size=0"`](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html), which is another way to get document count
- [`_count`](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-count), as seen above
- [`_cluster/health`](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-cluster-health) (don't mind the "yellow" status which is normal in the absence of replicas in the DDEV container)
- [`_search?size=0"`](https://www.elastic.co/docs/api/doc/elasticsearch/operation/operation-search), which is another way to get document count

!!! tip

You can use [`jq`](https://jqlang.org/) to format and colorize Elasticsearch REST API outputs.

### Solr

The following sequence of commands:
The installation of Solr within a DDEV stack is an adaptation of the [on-premise installation](install_solr.md) procedure using the [`ddev/ddev-solr` add-on](https://addons.ddev.com/addons/ddev/ddev-solr).

Check notice on line 200 in docs/infrastructure_and_maintenance/clustering/clustering_with_ddev.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/infrastructure_and_maintenance/clustering/clustering_with_ddev.md#L200

[Ibexa.ByUsing] Prefer 'by using' or 'with' to plain 'using'.
Raw output
{"message": "[Ibexa.ByUsing] Prefer 'by using' or 'with' to plain 'using'.", "location": {"path": "docs/infrastructure_and_maintenance/clustering/clustering_with_ddev.md", "range": {"start": {"line": 200, "column": 113}}}, "severity": "INFO"}

For example, the following sequence of commands:

1. Adds the Solr container
2. Sets Solr as the search engine
Expand All @@ -218,9 +225,9 @@

For example, the `ddev exec curl -s http://solr:SolrRocks@solr:8983/api/cores/` command:

- checks whether the `web` server can access the `solr` server
- checks whether `collection1` exists and its status
- displays `collection1`'s `numDocs` that shouldn't be zero if indexing worked correctly
- checks whether the `web` server can access the `solr` server
- checks whether `collection1` exists and its status
- displays `collection1`'s `numDocs` that shouldn't be zero if indexing worked correctly

You can access the Solr admin UI from the host by:

Expand All @@ -243,7 +250,7 @@
### Install Redis or Valkey

DDEV supports multiple Redis-compatible implementation, including Redis itself and Valkey.
You can switch between them using the `ddev redis-backend <backend>` command after adding the `ddev/ddev-redis` add-on.
You can switch between them using the `ddev redis-backend <backend>` command after adding the `ddev/ddev-redis` add-on.

Check notice on line 253 in docs/infrastructure_and_maintenance/clustering/clustering_with_ddev.md

View workflow job for this annotation

GitHub Actions / vale

[vale] docs/infrastructure_and_maintenance/clustering/clustering_with_ddev.md#L253

[Ibexa.ByUsing] Prefer 'by using' or 'with' to plain 'using'.
Raw output
{"message": "[Ibexa.ByUsing] Prefer 'by using' or 'with' to plain 'using'.", "location": {"path": "docs/infrastructure_and_maintenance/clustering/clustering_with_ddev.md", "range": {"start": {"line": 253, "column": 24}}}, "severity": "INFO"}
For example, you can switch to Valkey by running `ddev add-on get ddev/ddev-redis; ddev redis-backend valkey/valkey:9`.
For more information, see [Swappable Redis backends](https://github.com/ddev/ddev-redis?tab=readme-ov-file#swappable-redis-backends) in DDEV's `dddev-redis` add-on documentation.

Expand Down
Loading