搜尋引擎設定
本節討論測試Elasticsearch或OpenSearch與Adobe Commerce內部部署所需的最低設定。
2.4.6版開始支援Elasticsearch8.x時,建立了新標籤以區分Elasticsearch和OpenSearch設定。
如需設定搜尋引擎的詳細資訊,請參閱使用手冊。
從管理員設定搜尋引擎
若要設定您的系統以使用Elasticsearch或OpenSearch:
-
以管理員身分登入管理員。
-
按一下 Stores > Settings > Configuration > Catalog > Catalog > Catalog Search。
-
從 Search Engine 清單中,選取搜尋引擎的對應版本。
下表列出設定和測試與Commerce的連線所需的選項。 除非您變更搜尋引擎的伺服器設定,否則預設值應該有效。 跳至下一個步驟。
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 選項 說明 Server Hostname 輸入執行Elasticsearch或OpenSearch之電腦的完整主機名稱或IP位址。雲端基礎結構上的
Adobe Commerce:從您的整合系統取得此值。Server Port 輸入Web伺服器Proxy連線埠。 雲端基礎結構上的預設值為9200
Adobe Commerce:從您的整合系統中取得此值。Index Prefix 輸入搜尋引擎索引前置詞。 如果您將單一執行個體用於多個Commerce安裝(測試和生產環境),則必須為每次安裝指定唯一的前置詞。 否則,您可以使用預設首碼magento2。 Enable HTTP Auth 只有在您已啟用搜尋引擎伺服器的驗證時,才按一下 Yes。 若是如此,請在提供的欄位中提供使用者名稱和密碼。 Server Timeout 輸入嘗試建立與Elasticsearch或OpenSearch伺服器的連線時等待的時間長度(以秒為單位)。 -
按一下 Test Connection。
範例回應:
繼續使用:
或者,您會看到:
若是如此,請嘗試下列步驟:
-
請確定搜尋引擎伺服器執行中。
-
如果伺服器與Commerce位於不同的主機上,請登入Commerce伺服器並Ping搜尋引擎主機。 解決網路連線問題,並再次測試連線。
-
檢查您開始Elasticsearch的命令視窗或OpenSearch,以找出棧疊追蹤和例外狀況。 您必須先解決這些問題,才能繼續。 特別是,請確定您是以具有
root
許可權的使用者身份啟動您的搜尋引擎。 -
請確定UNIX防火牆和SELinux皆已停用,或設定規則讓您的搜尋引擎和Commerce能夠相互通訊。
-
驗證 Server Hostname 欄位的值。 確定伺服器可供使用。 您可以改為嘗試伺服器的IP位址。
-
使用
netstat -an | grep <listen-port>
命令確認 Server Port 欄位中指定的連線埠並未由其他處理序使用。例如,若要檢視搜尋引擎是否在其預設連線埠上執行,請使用下列命令:
code language-bash netstat -an | grep 9200
如果是在連線埠9200上執行,則會顯示類似下列的內容:
code language-none `tcp 0 0 :::9200 :::- LISTEN`
重新索引目錄搜尋並重新整理整頁快取
變更搜尋引擎組態之後,您必須重新索引目錄搜尋索引,並使用管理員或命令列重新整理整頁快取。
若要使用Admin重新整理快取:
-
在Admin中,按一下 System > Cache Management。
-
選取 Page Cache 旁的核取方塊。
-
從右上角的 Actions 清單中,按一下 重新整理。
若要使用命令列清除快取: bin/magento cache:clean
使用命令列重新索引: