전자 상거래에 대한 인텔리전트 제품 검색 엔진

Azure AI Bot Service
Azure AI Search
Azure AI 서비스
Azure SQL Database
Azure App Service

이 예제 시나리오에서는 전용 검색 서비스를 사용하여 전자상거래 고객의 검색 결과 관련성을 대폭 향상하는 방법을 보여줍니다.

아키텍처

전자 상거래에 대한 지능형 제품 검색 엔진과 관련된 Azure 구성 요소의 아키텍처 개요를 보여 주는 다이어그램

이 아키텍처의 Visio 파일을 다운로드합니다.

워크플로

이 시나리오에서는 고객이 제품 카탈로그를 검색할 수 있는 전자상거래 솔루션을 다룹니다.

  1. 고객은 모든 디바이스에서 전자 상거래 웹 애플리케이션 으로 이동합니다.
  2. 제품 카탈로그는 트랜잭션 처리를 위해 Azure SQL 데이터베이스기본.
  3. Azure AI Search는 검색 인덱서 를 사용하여 통합 변경 내용 추적을 통해 검색 인덱스가 자동으로 최신 상태로 유지됩니다.
  4. 고객의 검색 쿼리는 쿼리를 처리하고 가장 관련성이 큰 결과를 반환하는 AI Search 서비스로 오프로드됩니다.
  5. 웹 기반 검색 환경의 대안으로, 고객은 소셜 미디어에서 또는 디지털 도우미에서 바로 대화형 봇을 사용하여 제품을 검색하고 검색 쿼리 및 결과를 조금씩 구체화할 수 있습니다.
  6. 필요에 따라 고객은 기술 세트 기능을 사용하여 더 스마트한 처리를 위해 인공 지능을 적용할 수 있습니다.

구성 요소

  • Azure 앱 서비스 - Web Apps는 인프라를 관리할 필요 없이 자동 크기 조정 및 고가용성을 허용하는 웹 애플리케이션을 호스트합니다.
  • Azure SQL Database 는 관계형 데이터, JSON, 공간 및 XML과 같은 구조를 지원하는 Microsoft Azure의 범용 관계형 데이터베이스 관리 서비스입니다.
  • AI Search 는 웹, 모바일 및 엔터프라이즈 애플리케이션에서 이질적인 프라이빗 콘텐츠보다 풍부한 검색 환경을 제공하는 클라우드 솔루션입니다.
  • Azure AI Bot Service 는 지능형 봇을 빌드, 테스트, 배포 및 관리하는 도구를 제공합니다.
  • Azure AI 서비스를 사용하면 지능형 알고리즘을 사용하여 자연스러운 통신 방법을 통해 사용자 요구를 보고, 듣고, 말하고, 이해하고, 해석할 수 있습니다.

대안

  • 예를 들어 SQL Server 전체 텍스트 검색을 통해 데이터베이스 내 검색 기능을 사용할 수 있지만, 트랜잭션 저장소에서도 쿼리를 처리하므로(처리 성능 요구 사항 증가) 데이터베이스 내에서 검색 기능이 좀 더 제한됩니다.
  • Azure Virtual Machines에서 오픈 소스 Apache Lucene (AI Search가 빌드된)을 호스트할 수 있지만, IaaS(Infrastructure as a Service)를 관리하며 AI Search가 Lucene을 기반으로 제공하는 많은 기능을 활용하지 못합니다.
  • 타사 공급업체의 대체 및 지원 검색 제품인 Azure Marketplace에서 Elasticsearch를 배포하는 것도 고려할 수 있지만, 이 경우 IaaS 워크로드를 실행하고 있습니다.

데이터 계층에 대한 다른 옵션은 다음과 같습니다.

  • Azure Cosmos DB - 글로벌하게 분산된 Microsoft의 다중 모델 데이터베이스입니다. Azure Cosmos DB는 MongoDB, Cassandra, Graph 데이터 또는 간단한 Table 스토리지와 같은 다른 데이터 모델을 실행하는 플랫폼을 제공합니다. 또한 AI Search는 Azure Cosmos DB에서 직접 데이터를 인덱싱할 수 있습니다.

시나리오 정보

검색은 고객이 제품을 찾고 궁극적으로 구매하는 기본 메커니즘으로, 검색 결과가 검색 쿼리의 의도와 관련이 있고, 종단 간 검색 환경이 거의 즉각적인 결과, 언어 분석, 지리적 위치 일치, 필터링, 패싯, 자동 완성 및 적중 강조 표시를 제공하여 검색 거인의 검색 환경과 일치해야 합니다.

SQL Server 또는 SQL Database와 같은 관계형 데이터베이스에 저장된 제품 데이터가 있는 일반적인 전자 상거래 웹 애플리케이션을 상상해 보십시오. 검색 쿼리는 종종 쿼리 또는 전체 텍스트 검색 기능을 사용하여 LIKE 데이터베이스 내에서 처리됩니다. 대신 AI Search를 사용하면 쿼리 처리에서 운영 데이터베이스를 확보하고 고객에게 최상의 검색 환경을 제공하는 구현하기 어려운 기능을 쉽게 활용할 수 있습니다. 또한 AI Search는 PaaS(Platform as a Service) 구성 요소이므로 인프라를 관리하거나 검색 전문가가 되는 것에 대해 걱정할 필요가 없습니다.

잠재적인 사용 사례

이 솔루션은 소매 업계에 최적화되어 있습니다.

관련된 다른 사용 사례는 다음과 같습니다.

  • 사용자의 물리적 위치(시설 및 부동산 산업용) 근처에 있는 부동산 목록 또는 상점을 찾습니다.
  • 최신 정보(스포츠, 미디어 및 엔터테인먼트 산업용)에 더 높은 우선 순위를 부여하여 뉴스 사이트에서 문서를 검색하거나 스포츠 결과를 찾습니다.
  • 대형 리포지토리를 검색하여 정책 입안자 및 공증인 같은 문서 중심 조직을 찾습니다.

결국 어떤 형태로든 검색 기능이 있는 모든 애플리케이션은 전용 검색 서비스의 이점을 얻을 수 있습니다.

고려 사항

이러한 고려 사항은 워크로드의 품질을 향상시키는 데 사용할 수 있는 일단의 지침 원칙인 Azure Well-Architected Framework의 핵심 요소를 구현합니다. 자세한 내용은 Microsoft Azure Well-Architected Framework를 참조하세요.

확장성

AI Search 서비스의 가격 책정 계층은 가져오는 최대 스토리지와 프로비전할 수 있는 파티션 및 복제본(replica) 수를 정의하기 때문에 용량 계획에 기본 사용됩니다. 파티션을 사용하면 더 많은 문서를 인덱싱하고 쓰기 처리량을 높일 수 있는 반면, 복제본(replica) QPS(초당 더 많은 쿼리) 및 고가용성을 제공합니다.

파티션 및 복제본(replica) 수를 동적으로 변경할 수 있지만 가격 책정 계층을 변경할 수는 없습니다. 따라서 대상 워크로드에 적합한 계층을 신중하게 고려해야 합니다. 계층을 변경해야 하는 경우 새 서비스를 나란히 프로비전하고 인덱스를 다시 로드해야 합니다. 이때 새 서비스에서 애플리케이션을 가리킬 수 있습니다.

가용성

AI Search는 2개 이상의 복제본(replica) 있는 경우 읽기(즉, 쿼리)에 대해 99.9% 가용성 SLA(서비스 수준 계약)를 제공하고, 3개 이상의 복제본(replica) 있는 경우 업데이트(즉, 검색 인덱스 업데이트)를 제공합니다. 따라서 고객이 안정적으로 검색할 수 있도록 하려면 두 개 이상의 복제본(replica) 프로비전하고, 인덱스에 대한 실제 변경 내용도 고가용성 작업으로 간주해야 하는 경우 3개를 프로비전해야 합니다.

가동 중지 시간 없이 인덱스를 주요 변경해야 하는 경우(예: 데이터 형식 변경, 필드 삭제 또는 이름 바꾸기) 인덱스를 다시 작성해야 합니다. 서비스 계층 변경과 마찬가지로, 새 인덱스를 만들고 데이터를 다시 채운 후 새 인덱스를 가리키도록 애플리케이션을 업데이트해야 합니다.

보안

AI Search는 많은 보안 및 데이터 개인 정보 보호 표준을 준수하므로 대부분의 산업에서 사용할 수 있습니다.

서비스에 대한 액세스를 보호하려면 Azure RBAC(역할 기반 액세스 제어)를 사용하거나 API 키를 사용하여 연결할 수 있습니다.

Azure RBAC는 Microsoft Entra ID와 통합되는 Azure 역할을 사용하기 때문에 사용하는 것이 좋습니다. Azure 역할을 사용하는 경우 Azure 리소스에 대한 관리 ID와 같은 암호 없는 인증 방법을 사용할 수도 있습니다.

API 키에는 모든 콘텐츠 작업에 대한 모든 액세스 권한을 제공하는 관리 키검색 인덱스의 문서 컬렉션에 대한 읽기 전용 액세스를 제공하는 쿼리 키가 포함됩니다. 특히 웹 브라우저에서 실행되는 스크립트와 같은 최종 사용자 디바이스가 검색을 수행하는 경우 관리자 키가 아닌 쿼리 키를 사용하도록 인덱스를 업데이트할 필요가 없는 애플리케이션을 설정해야 합니다.

프라이빗 엔드포인트를 통해 노출하여 네트워크 수준에서 AI Search 서비스에 대한 액세스를 보호할 수도 있습니다.

검색 관련성

전자상거래 애플리케이션의 완성도는 검색 결과와 고객의 관련성에 달렸습니다. 검색 서비스를 신중하게 조정하여 사용자 조사를 기반으로 최적의 결과를 제공하거나 검색 트래픽 분석을 사용하여 고객의 검색 패턴을 이해하면 데이터를 기반으로 결정을 내릴 수 있습니다.

검색 서비스를 튜닝하는 일반적인 방법은 다음과 같습니다.

  • 점수 매기기 프로필을 사용하여 검색 결과의 관련성에 영향을 줍니다 . 예를 들어 쿼리와 일치하는 필드, 데이터의 최근 데이터 및 사용자와의 지리적 거리를 기반으로 합니다.
  • 고급 자연어 처리 스택을 사용하여 쿼리를 더 잘 해석하는 Microsoft 제공 언어 분석기를 사용합니다.
  • 특히 제품의 제조업체 및 모델 같은 비언어 기반 정보를 기반으로 검색하려는 경우 올바른 제품이 검색되도록 사용자 지정 분석기를 사용합니다.

비용 최적화

비용 최적화는 불필요한 비용을 줄이고 운영 효율성을 높이는 방법을 찾는 것입니다. 자세한 내용은 비용 최적화 핵심 요소 개요를 참조하세요.

이 시나리오를 실행하는 비용을 살펴보기 위해 이전에 멘션 모든 서비스는 비용 계산기에서 미리 구성됩니다. 특정 사용 사례에 대한 가격 책정이 어떻게 변경되는지 확인하려면 예상 사용량에 맞게 적절한 변수를 변경합니다.

처리할 것으로 예상되는 트래픽 양에 따라 이러한 샘플 비용 프로필을 고려합니다.

  • 작음: 이 프로필은 단일 Standard S1 웹앱을 사용하여 웹 사이트, Azure AI Bot 서비스의 무료 계층, 단일 Basic 검색 서비스 및 SQL 데이터베이스를 Standard S2 호스트합니다.
  • 중간: 이 프로필은 웹앱을 계층의 Standard S3 두 인스턴스로 확장하고, 검색 서비스를 계층으로 Standard S1 업그레이드하고, SQL 데이터베이스를 Standard S6 사용합니다.
  • 대규모: 이 프로필은 웹앱의 4개 인스턴스를 Premium P2V2 사용하고, Azure AI Bot 서비스를 Standard S1 계층으로 업그레이드하고(프리미엄 채널에서 1.000.000개의 메시지 사용) 검색 서비스와 SQL 데이터베이스의 Standard S3 두 단위를 Premium P6 사용합니다.

시나리오 배포

이 시나리오의 버전을 배포하려면 작업 검색 웹 사이트를 실행하는 .NET 샘플 애플리케이션을 제공하는 이 단계별 자습서 를 따를 수 있습니다. 지금까지 설명한 대부분의 AI Search 기능을 보여 줍니다.

참가자

Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.

보안 주체 작성자:

비공개 LinkedIn 프로필을 보려면 LinkedIn에 로그인하세요.

다음 단계

AI Search에 대해 자세히 알아보려면 설명서 센터를 방문하거나 샘플을 검사.

다른 Azure 구성 요소에 대한 자세한 내용은 다음 리소스를 참조하세요.