Skip to content
This repository was archived by the owner on Nov 19, 2024. It is now read-only.

Clarify support for Elasticsearch in Magento 2.4.0 #7394

Merged
merged 2 commits into from
Jun 12, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions src/_data/toc/configuration-guide.yml
Original file line number Diff line number Diff line change
Expand Up @@ -322,9 +322,6 @@ pages:

- label: Configure Magento to use Elasticsearch
url: /config-guide/elasticsearch/configure-magento.html

- label: Change the Elasticsearch client
url: /config-guide/elasticsearch/es-downgrade.html

- label: Message Queues
url: /config-guide/mq/rabbitmq-overview.html
Expand Down
2 changes: 1 addition & 1 deletion src/_includes/layout/page-header.html
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

{% if page.url contains "guides/v2.4/comp-mgr/" %}
<div class="message-banner">
You must install and configure Elasticsearch 6.x or 7.x before upgrading to {{ site.data.var.ee }} or {{ site.data.var.ce }} 2.4.0. See <a href="{{ page.baseurl }}/comp-mgr/prereq/prereq-elasticsearch.html">Check the catalog search engine</a> for details.
You must install and configure Elasticsearch 7.6.x before upgrading to {{ site.data.var.ee }} or {{ site.data.var.ce }} 2.4.0. See <a href="{{ page.baseurl }}/comp-mgr/prereq/prereq-elasticsearch.html">Check the catalog search engine</a> for details.
</div>
{% endif %}

Expand Down
36 changes: 11 additions & 25 deletions src/guides/v2.4/comp-mgr/prereq/prereq-elasticsearch.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,47 +9,33 @@ Before you upgrade from Magento 2.3.x to Magento 2.4, you must check whether you

You can use the CLI or the Admin to determine your catalog search engine:

* Enter the `bin/magento config:show catalog/search/engine` command. The command returns a value of `mysql`, `elasticsearch` (which indicates Elasticsearch 2 is configured), `elasticsearch5`, `elasticsearch6`, `elasticsearch7`, or a custom value, indicating you have installed a third-party search engine.
- Enter the `bin/magento config:show catalog/search/engine` command. The command returns a value of `mysql`, `elasticsearch` (which indicates Elasticsearch 2 is configured), `elasticsearch5`, `elasticsearch6`, `elasticsearch7`, or a custom value, indicating you have installed a third-party search engine.

* From the Admin, check the value of the **Stores** > Settings > **Configuration** > **Catalog** > **Catalog** > **Catalog Search** > **Search Engine** field.
- From the Admin, check the value of the **Stores** > Settings > **Configuration** > **Catalog** > **Catalog** > **Catalog Search** > **Search Engine** field.

The following sections describe what actions you must take before upgrading to Magento 2.4.
The following sections describe what actions you must take before upgrading to Magento 2.4.0.

## MySQL

Magento 2.4 does not support MySQL as a catalog search engine. You must install and configure Elasticsearch 7.x or 6.x before upgrading. Use the following resources to help guide you through this process:
Magento 2.4 does not support MySQL as a catalog search engine. You must install and configure Elasticsearch 7.6.x before upgrading. Use the following resources to help guide you through this process:

* [Install and configure Elasticsearch]({{site.baseurl}}/guides/v2.3/config-guide/elasticsearch/es-overview.html)
* [Installing Elasticsearch](https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html)
* Configure Elasticsearch to work with [nginx]({{site.baseurl}}/guides/v2.3/config-guide/elasticsearch/es-config-nginx.html) or [Apache]({{site.baseurl}}/guides/v2.3/config-guide/elasticsearch/es-config-apache.html)
* [Configure Magento to use Elasticsearch]({{site.baseurl}}/guides/v2.3/config-guide/elasticsearch/configure-magento.html) and reindex
- [Install and configure Elasticsearch]({{ page.baseurl }}/config-guide/elasticsearch/es-overview.html)
- [Installing Elasticsearch](https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html)
- Configure Elasticsearch to work with [nginx]({{ page.baseurl }}/config-guide/elasticsearch/es-config-nginx.html) or [Apache]({{ page.baseurl }}/config-guide/elasticsearch/es-config-apache.html)
- [Configure Magento to use Elasticsearch]({{ page.baseurl }}/config-guide/elasticsearch/configure-magento.html) and reindex

Some third-party catalog search engines run on top of Magento's search engine. Contact your vendor to determine whether you need to update your extension.

## Elasticsearch 2
## Elasticsearch

Magento does not support Elasticsearch 2. You must update to a more recent version. Elasticsearch 7 is recommended.
You must install and configure Elasticsearch 7.6.x before upgrading to Magento 2.4.0. Magento does not support Elasticsearch 2.x, 5.x, and 6.x.

Refer to [Upgrading Elasticsearch](https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-upgrade.html) for full instructions on backing up your data, detecting potential migration issues, and testing upgrades before deploying to production. Depending on your current version of Elasticsearch, a full cluster restart may or may not be required.

{:.bs-callout-info}
Elasticsearch requires JDK 1.8 or higher. See [Install the Java Software Development Kit (JDK)]({{page.baseurl}}/install-gde/prereq/elasticsearch.html#prereq-java) to check which version of JDK is installed.

[Configure Magento to use Elasticsearch]({{site.baseurl}}/guides/v2.3/config-guide/elasticsearch/configure-magento.html) describes the tasks you must perform after updating Elasticsearch 2 to a supported version.

## Elasticsearch 5

Elasticsearch 5 has reached its [End of Life](https://www.elastic.co/support/eol), and Magento support for Elasticsearch 5 has been deprecated.

Although you can upgrade to Magento 2.4 without updating Elasticsearch 5, Magento recommends that you update to Elasticsearch 7.

Refer to [Upgrading Elasticsearch](https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-upgrade.html) for full instructions on backing up your data, detecting potential migration issues, and testing upgrades before deploying to production. Depending on your current version of Elasticsearch, a full cluster restart may or may not be required.

[Configure Magento to use Elasticsearch]({{site.baseurl}}/guides/v2.3/config-guide/elasticsearch/configure-magento.html) describes the tasks you must perform after updating Elasticsearch 5.

## Elasticsearch 6 or 7

If you are using Elasticsearch 6 or 7 as your catalog search engine, you are not required to perform any additional steps before upgrading to Magento 2.4.
[Configure Magento to use Elasticsearch]({{ page.baseurl }}/config-guide/elasticsearch/configure-magento.html) describes the tasks you must perform after updating Elasticsearch 2 to a supported version.

## Third-party extensions

Expand Down
36 changes: 0 additions & 36 deletions src/guides/v2.4/config-guide/elasticsearch/es-downgrade.md

This file was deleted.

6 changes: 1 addition & 5 deletions src/guides/v2.4/config-guide/elasticsearch/es-overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,16 @@ functional_areas:
- Setup
---

As of version 2.4.0, Magento requires [Elasticsearch][] to be the catalog search engine. Refer to the following topics for details about installing Elasticsearch and initial configuration:
As of version 2.4, Magento requires [Elasticsearch][] to be the catalog search engine. Refer to the following topics for details about installing Elasticsearch and initial configuration:

* [Elasticsearch prerequisites][]
* [Configure nginx and Elasticsearch][]
* [Configure Apache and Elasticsearch][]
* [Setup Wizard installation][]
* [Install the Magento software][] (command line interface)

After you install and integrate Elasticsearch with Magento, you might need to perform additional maintenance:

* [Configure Elasticsearch stopwords][]
* [Change the Elasticsearch Client][]
* [Configure Magento to use Elasticsearch][]

## Additional resources {#es-resources}
Expand All @@ -34,6 +32,4 @@ For additional information, see the [Elasticsearch documentation][]
[Elasticsearch]: https://www.elastic.co
[Configure Magento to use Elasticsearch]: {{page.baseurl}}/config-guide/elasticsearch/configure-magento.html
[Elasticsearch documentation]: https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
[Change the Elasticsearch Client]: {{page.baseurl}}/config-guide/elasticsearch/es-downgrade.html
[Setup Wizard installation]: {{page.baseurl}}/install-gde/install/web/install-web.html
[Install the Magento software]: {{page.baseurl}}/install-gde/install/cli/install-cli-install.html
8 changes: 3 additions & 5 deletions src/guides/v2.4/install-gde/prereq/elasticsearch.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ As of Magento 2.4, all installations must be configured to use [Elasticsearch][]

## Supported versions {#es-spt-versions}

Magento version 2.4 supports the following Elasticsearch versions:
You must install and configure Elasticsearch 7.6.x before upgrading to Magento 2.4.0.

* Elasticsearch 7.x.x
* Elasticsearch 6.8.x
{:.bs-callout-info}
Magento does not support Elasticsearch 2.x, 5.x, and 6.x.

## Recommended configuration {#es-arch}

Expand Down Expand Up @@ -116,9 +116,7 @@ For additional information, see [Elasticsearch documentation][]{:target="_blank"
[Elasticsearch clustering documentation]: https://www.elastic.co/guide/en/elasticsearch/guide/current/distributed-cluster.html
[Elasticsearch Ubuntu documentation]: https://www.elastic.co/guide/en/elasticsearch/reference/current/deb.html
[Configuring Elasticsearch]: https://www.elastic.co/guide/en/elasticsearch/reference/current/settings.html
[End of Life]: https://www.elastic.co/support/eol
[Upgrading Elasticsearch]: https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-upgrade.html
[Full cluster restart upgrade]: https://www.elastic.co/guide/en/elasticsearch/reference/current/restart-upgrade.html
[Elasticsearch documentation]: https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
[Change Elasticsearch Client]: {{page.baseurl}}/config-guide/elasticsearch/es-downgrade.html
[Installing Elasticsearch]: https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html
15 changes: 4 additions & 11 deletions src/guides/v2.4/install-gde/system-requirements-tech.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,16 +77,10 @@ For more information, see [Required PHP settings][].

## Elasticsearch

* As of Magento 2.4.0, MySQL is no longer used for search. You must use [Elasticsearch]({{page.baseurl}}/install-gde/prereq/elasticsearch.html). The following Elasticsearch versions are supported:
As of Magento 2.4.0, MySQL is no longer used for search. You must use [Elasticsearch]({{page.baseurl}}/install-gde/prereq/elasticsearch.html). Magento supports Elasticsearch 7.6.x.

* Elasticsearch 7.x

* Elasticsearch 6.x (6.8 or higher is recommended)

{:.bs-callout-warning}
Magento no longer provides support for Elasticsearch [2.x and 5.x][] as they are End of Life.

Follow the instructions in [Change Elasticsearch Module][].
{:.bs-callout-warning}
Magento no longer supports Elasticsearch [2.x, 5.x, and 6.x][].

## SSL

Expand Down Expand Up @@ -153,7 +147,6 @@ There is a known issue with `xdebug` that can affect Magento installations or ac
[php]: http://www.php.net/
[sed]: https://www.gnu.org/software/sed/manual/sed.html
[tar]: https://linux.die.net/man/1/tar
[Change Elasticsearch Module]: {{ page.baseurl }}/config-guide/elasticsearch/es-downgrade.html
[Composer]: https://glossary.magento.com/composer
[Apache 2.4]: http://httpd.apache.org/download.cgi
[`mod_rewrite`]: https://httpd.apache.org/docs/2.4/mod/mod_rewrite.html
Expand All @@ -172,5 +165,5 @@ There is a known issue with `xdebug` that can affect Magento installations or ac
[Redis]: {{page.baseurl}}/config-guide/redis/config-redis.html
[Varnish]: {{page.baseurl}}/config-guide/varnish/config-varnish.html
[Elasticsearch]: {{page.baseurl}}/install-gde/prereq/elasticsearch.html
[2.x and 5.x]: https://www.elastic.co/support/eol
[2.x, 5.x, and 6.x]: https://www.elastic.co/support/eol
[RabbitMQ]: {{page.baseurl}}/config-guide/mq/rabbitmq-overview.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,26 +9,15 @@ This page highlights backward incompatible changes between releases that have a

### Elasticsearch

In Magento 2.4.0, we removed support for two deprecated catalog search engines:
MySQL is no longer used for search. You must use [Elasticsearch]({{page.baseurl}}/install-gde/prereq/elasticsearch.html).

- MySQL
- Elasticsearch 2.x
You must [install and configure]{{ page.baseurl }}/install-gde/prereq/elasticsearch.html) Elasticsearch 7.6.x before upgrading to Magento 2.4.0. New installations require a connection to Elasticsearch to complete.

Merchants must [install and configure]{{ page.baseurl }}/install-gde/prereq/elasticsearch.html) a supported version of Elasticsearch before they upgrade to Magento 2.4.0. New installations require a connection to Elasticsearch to complete.

{:.bs-calllout-warning}
If you attempt to upgrade Magento before installing and configuring a supported search engine, Magento could go into an inconsistent state and the Admin will become inaccessible.

The following Elasticsearch versions are supported:

- Elasticsearch 7.x
- Elasticsearch 6.x (6.8 or higher is recommended)
{:.bs-callout-warning}
Magento does not support Elasticsearch 2.x, 5.x, and 6.x. If you attempt to upgrade Magento before installing and configuring a supported search engine, Magento could go into an inconsistent state and the Admin will become inaccessible.

Extension developers must update any module that depends on the unsupported search engines.

{:.bs-callout-warning}
Magento no longer provides support for Elasticsearch [2.x and 5.x](https://www.elastic.co/support/eol) as they are End of Life. If you are using ES2, follow the instructions in [Change Elasticsearch Module]({{ page.baseurl }}/config-guide/elasticsearch/es-downgrade.html) before upgrading.

The changes with removing values from the `system.xml` file require eliminating ES2 support from the Admin UI. Other API classes were removed to clean up the code when we deprecated ES2 and ES5 in Magento 2.3.5.

The following modules have been refactored to use the `ElasticSearchResultApplier` class and avoid usage of `CatalogSearch` and `SearchResultApplier`, which was based on MySQL:
Expand Down