Impossibile modificare il motore di ricerca con Commerce Admin (il menu del motore di ricerca non è accessibile)

WARNING
Il motore di ricerca del catalogo MySQL verrà rimosso in Adobe Commerce 2.4.0. Prima di installare la versione 2.4.0, è necessario aver configurato e configurato l’host Elasticsearch.
Consulta:
Installa e configura Elasticsearch.
Installa e configura Opensearch
Installa e configura Live Search

Questo articolo fornisce una soluzione per modificare il motore di ricerca di Adobe Commerce utilizzando l'amministratore di Commerce se il campo Motore di ricerca non è visualizzato o se la casella di controllo Usa valore di sistema è disattivata e non accessibile.

In questo articolo:

Versioni interessate

  • Adobe Commerce on-premise: 2.4.X

  • Adobe Commerce sull’infrastruttura cloud:

    • Versione: 2.4.X
    • Architettura del piano Starter e Pro
  • MySQL, Elasticsearch, Opensearch, Live Search: tutte le versioni supportate

Modificare il motore di ricerca tramite Admin (passaggi)

  1. Accedere a Admin come amministratore.
  2. Sul lato sinistro della barra laterale Admin, fare clic su Stores.
  3. In Settings scegliere Configuration.
  4. Passa al pannello a sinistra in Catalog, e scegli Catalog.
  5. Espandere la sezione Catalog Search. menu_catalogo.png
  6. Passare al campo Search Engine e rimuovere la selezione dalla casella di controllo Use system value.
  7. Fare clic sul menu Search Engine e selezionare una delle opzioni disponibili, come illustrato di seguito. menu_motore_di_ricerca.png
  8. Fai clic su Save Config nell'angolo superiore destro della pagina.

Problemi relativi ad Adobe Commerce on-premise

Problema 1: il campo Motore di ricerca non viene visualizzato

Quando accedi alla sezione Ricerca nel catalogo, il menu Motore di ricerca non viene visualizzato.

motore di ricerca_non_visualizzato.png

Causa: la vista archivio non è una configurazione predefinita

La visualizzazione archivio per l'amministratore è stata impostata su un valore diverso da Configurazione predefinita.

Il motore di ricerca è una configurazione globale impostata a livello di applicazione, non nell'ambito dell'archivio. Gli archivi all’interno di un’applicazione Adobe Commerce non possono utilizzare motori di ricerca diversi.

Soluzione: impostare la visualizzazione archivio su Configurazione predefinita

  1. Accedere a Admin come amministratore.
  2. Sul lato sinistro della barra laterale Admin, fare clic su Stores.
  3. Passare a Settings e scegliere Configuration.
  4. Nell'angolo superiore sinistro fare clic sul selettore Store View e scegliere ***Configurazione predefinita ***.
  5. Fare clic su OK nella finestra di dialogo di conferma per approvare le modifiche alla visualizzazione dello store.

cambia_vista_archivio.png

Documentazione correlata: Modifica dell'ambito nella guida utente.

Problema 2: impossibile deselezionare "Usa valore di sistema"

Quando accedi alla sezione Ricerca nel catalogo dell'amministratore, la casella di controllo Usa valore di sistema è disattivata, pertanto non puoi rimuovere la selezione dalla casella di controllo per cambiare il motore di ricerca in un secondo momento.

Causa

Il motore di ricerca predefinito è stato configurato nel livello di configurazione dell'applicazione nei file app/etc/env.php o app/etc/config.php e pertanto non può essere modificato con Admin.

Esempio della sezione con configurazione predefinita del motore di ricerca:

'system'=>
array (
'default'=>
array (
'catalog'=>
array (
'search'=>
array (
'engine'=>'mysql',
),
),
),
),

Soluzione

Rimuovere la sezione con la configurazione predefinita del motore di ricerca dai file di configurazione app/etc/env.php o app/etc/config.php.

Articoli correlati nella documentazione per sviluppatori

File di configurazione di Adobe Commerce nella Guida alla configurazione di Adobe Commerce

Adobe Commerce sull’infrastruttura cloud

Il passaggio da un motore di ricerca all’altro utilizzando l’amministratore non è disponibile in Adobe Commerce sull’infrastruttura cloud a causa del modo in cui questa è stata organizzata.

Durante il processo di distribuzione, gli script di distribuzione dell'infrastruttura cloud di Adobe Commerce verificano se l'Elasticsearch è stato dichiarato nella variabile MAGENTO_CLOUD_RELATIONSHIPS. Se dichiarato, l'Elasticsearch viene selezionato come motore di ricerca attivo e configurato automaticamente; il motore di ricerca MySQL diventa inaccessibile nell'amministratore. Se la relazione Elasticsearch non è stata dichiarata, MySQL è impostato su attivo e Elasticsearch diventa inaccessibile.

Non è consigliabile modificare i file di configurazione app/etc/env.php o app/etc/config.php direttamente nell'ambiente cloud. Per questo motivo, la modifica di questi file per rendere il motore di Elasticsearch da visualizzare nell'amministratore (la soluzione consigliata nella sezione precedente) non è applicabile al progetto cloud.

Modificare il motore di ricerca negli ambienti di staging e produzione

Prima di cambiare il motore di ricerca da MySQL a Elasticsearch negli ambienti di staging e produzione, assicurati di aver inviato in precedenza un ticket di supporto richiedendo di abilitare Elasticsearch nell'ambiente e che il ticket sia stato risolto correttamente.

Per cambiare il motore di ricerca utilizzato negli ambienti di staging e produzione, modifica la variabile di ambiente SEARCH_CONFIGURATION nel file .magento.env.yaml nell'ambiente locale, quindi invia le modifiche agli ambienti di integrazione e staging/produzione affinché le modifiche diventino effettive.

Se si passa all'Elasticsearch 7, la variabile SEARCH_CONFIGURATION nel file .magento.env.yaml risultante potrebbe avere il seguente aspetto:

stage:
  deploy:
   SEARCH_CONFIGURATION:
     engine: elasticsearch7
     elasticsearch_server_hostname: hostname
     elasticsearch_server_port: '12345'
     elasticsearch_index_prefix: magento
     elasticsearch_server_timeout: '15'

Se si passa a Opensearch (in 2.4.6 e versioni successive), la variabile SEARCH_CONFIGURATION nel file .magento.env.yaml risultante potrebbe avere il seguente aspetto:

stage:
  deploy:
   SEARCH_CONFIGURATION:
     engine: opensearch
     elasticsearch_server_hostname: hostname
     elasticsearch_server_port: '12345'
     elasticsearch_index_prefix: magento
     elasticsearch_server_timeout: '15'

Se passi a Live Search, la variabile SEARCH_CONFIGURATION nel file .magento.env.yaml risultante potrebbe avere il seguente aspetto:

stage:
  deploy:
   SEARCH_CONFIGURATION:
     engine: livesearch

Documentazione correlata

Knowledge Base di supporto

Documentazione per gli sviluppatori

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a