適用於電子商務的智慧型手機搜尋引擎

Azure AI Bot Service
Azure AI 搜尋
Azure AI 服務
Azure SQL Database
Azure App Service

此範例案例示範如何使用專用的搜尋服務,大幅提升電子商務客戶的搜尋結果相關性。

架構

此圖顯示智慧型手機產品搜尋引擎中適用於電子商務的 Azure 元件架構概觀。

下載此架構的 Visio 檔案

工作流程

此案例涵蓋可讓客戶透過產品目錄搜尋的電子商務解決方案。

  1. 客戶會從任何裝置移至 電子商務 Web 應用程式
  2. 產品目錄會保留在 Azure SQL 資料庫中 以進行交易處理。
  3. Azure AI 搜尋服務會使用 搜尋索引器 ,透過整合式變更追蹤自動保持其搜尋索引最新狀態。
  4. 客戶的搜尋查詢會卸除至 AI 搜尋 服務,以處理查詢並傳回最相關的結果。
  5. 客戶也可以使用 社交媒體中的交談式 Bot ,或直接從數位助理搜尋產品,並以累加方式精簡其搜尋查詢和結果,作為網頁式搜尋體驗的替代方案。
  6. 或者,客戶可以使用 技能集 功能,將人工智慧套用至更聰明的處理。

元件

  • Azure App 服務 - Web Apps 會裝載允許自動調整和高可用性的 Web 應用程式,而不需要管理基礎結構。
  • Azure SQL 資料庫 是 Microsoft Azure 中的一般用途關係資料庫受控服務,可支援關係型數據、JSON、空間和 XML 等結構。
  • AI 搜尋 是雲端解決方案,可透過 Web、行動和企業應用程式中的私人、異質內容,提供豐富的搜尋體驗。
  • Azure AI Bot Service 提供工具來建置、測試、部署及管理智慧型 Bot。
  • Azure AI 服務 可讓您使用智慧型手機演算法,透過自然的通訊方法來查看、聆聽、說話、瞭解及解譯您的使用者需求。

替代項目

  • 例如,您可以透過 SQL Server 全文搜索使用 資料庫內搜尋 功能,但您的交易存放區也會處理查詢(增加處理能力的需求),而且資料庫內的搜尋功能會更加有限。
  • 您可以裝載在 Azure 虛擬機器 上建置 AI 搜尋的開放原始碼 Apache Lucene,但您又回到管理基礎結構即服務 (IaaS),而無法受益於 AI 搜尋在 Lucene 上所提供的許多功能。
  • 您也可以考慮從 Azure Marketplace 部署 Elasticsearch ,這是來自第三方廠商的替代且能夠搜尋產品,但在此情況下,您也會執行 IaaS 工作負載。

資料層的其他選項包括:

  • Azure Cosmos DB - Microsoft 全球散發的多模型資料庫。 Azure Cosmos DB 提供平台來執行其他數據模型,例如 MongoDB、Cassandra、Graph 數據或簡單的數據表記憶體。 AI 搜尋也支援直接從 Azure Cosmos DB 為數據編製索引。

案例詳細資料

搜尋是客戶尋找最終購買產品的主要機制,因此搜尋結果必須與 搜尋查詢的意圖 相關,而端對端搜尋體驗會藉由提供近乎實時的結果、語言分析、地理位置比對、篩選、Facet、自動完成和點擊醒目提示來比對搜尋巨人。

想像一下典型的電子商務 Web 應用程式,其產品數據會儲存在關係資料庫中,例如 SQL Server 或 SQL 資料庫。 搜尋查詢通常會使用 LIKE 查詢或 全文搜索 功能在資料庫內處理。 您可以改用 AI 搜尋 ,從查詢處理中釋出操作資料庫,並輕鬆地開始利用這些難以實作的功能,為客戶提供最佳的搜尋體驗。 此外,因為 AI 搜尋是平臺即服務 (PaaS) 元件,因此您不必擔心管理基礎結構或成為搜尋專家。

潛在的使用案例

此解決方案已針對零售產業優化。

其他相關的使用案例包括:

  • 尋找用戶實體位置附近的房地產清單或商店(用於設施和房地產行業)。
  • 在新聞網站中搜尋文章或尋找體育結果,對較 新的 資訊偏好較高(針對體育、媒體和娛樂業)。
  • 搜尋 以檔為中心的 大型存放庫,例如決策者和公證員。

最後, 任何 具有某種形式搜尋功能的應用程式都可以受益於專用的搜尋服務。

考量

這些考慮會實作 Azure Well-Architected Framework 的支柱,這是一組指導原則,可用來改善工作負載的品質。 如需詳細資訊,請參閱 Microsoft Azure Well-Architected Framework

延展性

AI 搜尋服務 的定價層主要用於容量規劃,因為它會定義您取得的最大記憶體,以及您可以布建的分割區和複本數目。 分割區 可讓您編製更多檔的索引,並取得更高的寫入輸送量,而 複本則 每秒提供更多的查詢 (QPS) 和高可用性。

您可以動態變更分割區和複本的數目,但無法變更定價層。 因此,您應該仔細考慮目標工作負載的正確層級。 如果您需要變更層,您必須並存布建新的服務,並重載您的索引,此時您可以將應用程式指向新的服務。

可用性

如果您至少有兩個複本,AI 搜尋會提供 99.9% 的可用性服務等級協定 (SLA)來讀取(也就是查詢),如果至少有三個複本,則提供更新 (也就是更新搜尋索引)。 因此,如果您想要客戶能夠可靠地搜尋,您應該布建至少兩個複本,如果索引的實際變更也應該被視為高可用性作業,則布建三個複本。

如果需要在不停機的情況下對索引進行重大變更(例如,變更數據類型、刪除或重新命名字段),則必須重建索引。 類似於變更服務層級,這表示建立新的索引、重新填入數據,然後更新應用程式以指向新的索引。

安全性

AI 搜尋符合許多 安全性和數據隱私權標準,因此您可以在大多數產業中使用。

若要保護服務的存取,您可以使用 Azure 角色型存取控制 (RBAC) 或使用 API 金鑰進行連線。

建議您使用 Azure RBAC,因為它使用與 Microsoft Entra ID 整合的 Azure 角色。 當您使用 Azure 角色時,您也可以使用無密碼驗證方法,例如 Azure 資源的受控識別。

API 金鑰包括 系統管理金鑰,可提供所有內容作業的完整存取權,以及 查詢金鑰,以提供搜尋索引檔集合的唯讀存取權。 您應該設定不需要更新索引的應用程式,以使用查詢金鑰,而不是系統管理密鑰,特別是如果使用者裝置,例如在網頁瀏覽器中執行的腳本,則會執行搜尋。

您也可以透過私人端點公開 AI 搜尋服務,來保護對網路層級的存取。

搜尋相關性

電子商務應用程式的成功程度主要取決於搜尋結果與客戶的相關性。 仔細調整您的搜尋服務,根據使用者研究提供最佳結果,或依賴 搜尋流量分析 來了解客戶的搜尋模式,可讓您根據數據做出決策。

調整搜尋服務的典型方式包括:

  • 使用 評分配置檔 來影響搜尋結果的相關性,例如,根據哪一個字段符合查詢、數據的最近程度,以及使用者的地理距離。
  • 使用 Microsoft 提供的語言分析器 ,使用進階的自然語言處理堆疊來更妥善地解譯查詢。
  • 使用 自定義分析器 來確保您的產品正確找到,特別是如果您想要搜尋非語言型資訊,例如產品的製作和模型。

成本最佳化

成本優化是考慮如何減少不必要的費用,並提升營運效率。 如需詳細資訊,請參閱 成本優化要素概觀。

若要探索執行此案例的成本,先前提到的所有服務都會預先設定在成本計算機中。 若要查看特定使用案例的定價如何變更,請變更適當的變數以符合您預期的使用量。

請根據您預期處理的流量量,考慮這些範例成本配置檔:

  • 小型:此配置檔會使用單 Standard S1 一 Web 應用程式來裝載網站、Azure AI Bot 服務的免費層、單 Basic 一搜尋服務和 Standard S2 SQL 資料庫。
  • 中型:此配置檔會將 Web 應用程式相應增加至該層的 Standard S3 兩個實例、將搜尋服務升級至一層 Standard S1 ,並使用 Standard S6 SQL 資料庫。
  • 大型:此配置檔使用四個 Premium P2V2 Web 應用程式的實例、將 Azure AI Bot 服務升級至Standard S1該層(進階版 通道中有 1.000.000 則訊息),並使用兩個Premium P6單位的Standard S3搜尋服務和 SQL 資料庫。

部署此案例

若要部署此案例的版本,您可以遵循這個 逐步教學課程 ,提供執行作業搜尋網站的 .NET 範例應用程式。 它示範到目前為止所討論的大部分 AI 搜尋功能。

參與者

本文由 Microsoft 維護。 原始投稿人如下。

主體作者:

若要查看非公用LinkedIn配置檔,請登入LinkedIn。

下一步

若要深入瞭解 AI 搜尋,請瀏覽 檔中心 或查看 範例

若要深入瞭解其他 Azure 元件,請參閱下列資源: