1 - 검색을 웹 사이트에 추가하는 방법에 대한 개요

이 Azure AI 검색 자습서에서는 책 카탈로그를 검색하는 웹앱을 만든 다음, Azure Static Web Apps 리소스에 웹 사이트를 배포합니다.

이 자습서는 패싯 탐색, typeahead 및 페이지 매김과 같은 검색 상호 작용을 포함하는 프런트 엔드 클라이언트 앱을 만들려는 JavaScript 개발자를 위한 것입니다. 또한 백 엔드에서 인덱싱 및 쿼리 워크플로에 대한 Azure AI 검색 호출에 대한 JavaScript용 Azure SDK의 @azure/search-documents 라이브러리를 보여 줍니다.

샘플에서 수행하는 작업은 무엇인가요?

이 샘플 웹 사이트는 10,000권의 책 카탈로그에 대한 액세스를 제공합니다. 사용자는 검색 창에서 텍스트를 입력하여 카탈로그를 검색할 수 있습니다. 사용자가 텍스트를 입력하는 동안 웹 사이트에서 검색 인덱스의 제안 기능을 사용하여 텍스트를 완료합니다. 쿼리가 완료되면 책 목록이 세부 정보의 일부와 함께 표시됩니다. 사용자는 책을 선택하여 검색 인덱스에 저장된 책의 모든 세부 정보를 볼 수 있습니다.

Screenshot of the sample app in a browser window.

검색 환경에는 다음이 포함됩니다.

  • 검색 – 애플리케이션에 대한 검색 기능을 제공합니다.
  • 제안 – 사용자가 검색 창에 입력함에 따라 제안을 제공합니다.
  • 패싯 및 필터 - 작성자 또는 언어로 필터링하는 패싯 탐색 구조를 제공합니다.
  • 페이지를 매긴 결과 - 결과를 스크롤하기 위한 페이징 컨트롤을 제공합니다.
  • 문서 조회 - ID로 문서를 조회하여 세부 정보 페이지에 대한 모든 내용을 검색합니다.

샘플은 어떻게 구성되나요?

샘플 코드는 다음 구성 요소를 포함합니다.

App 목적 GitHub
리포지토리
위치
클라이언트 검색을 사용하여 책을 표시하도록 앱(프레젠테이션 계층)에 반응합니다. Azure 함수 앱을 호출합니다. /search-website-functions-v4/client
서버 Azure 함수 앱(비즈니스 계층) - JavaScript SDK를 사용하여 Azure AI 검색 API를 호출합니다. /search-website-functions-v4/api
대량 삽입 인덱스를 만들고 문서를 추가하는 JavaScript 파일입니다. /search-website-functions-v4/bulk-insert

개발 환경 설정

로컬 개발 환경에서 다음 소프트웨어를 설치합니다.

  • Node.js LTS

  • Git

  • Visual Studio Code 및 다음 확장

  • 선택 사항:

    • 이 자습서는 Azure Function API를 로컬에서 실행하지 않습니다. 로컬에서 실행하려는 경우 다음 bash 명령을 사용하여 전역적으로 azure-functions-core-tools를 설치해야 합니다.
    npm install -g azure-functions-core-tools@4
    

Git을 사용하여 검색 샘플 포크 및 복제

Static Web App을 배포하려면 샘플 리포지토리를 포크해야 합니다. 정적 웹앱은 자체 GitHub 포크 위치를 기반으로 빌드 작업 및 배포 콘텐츠를 결정합니다. 정적 웹앱의 코드 실행은 원격이며 정적 웹앱은 포크된 샘플의 코드에서 읽습니다.

  1. GitHub에서 샘플 리포지토리를 포크합니다.

    GitHub 계정을 사용하여 웹 브라우저에서 포크 프로세스를 완료합니다. 이 자습서에서는 Azure Static Web App에 대한 배포의 일부로 포크를 사용합니다.

  2. bash 터미널에서 포크된 샘플 애플리케이션을 로컬 컴퓨터에 다운로드합니다.

    YOUR-GITHUB-ALIAS를 GitHub 별칭으로 바꿉니다.

    git clone https://github.com/YOUR-GITHUB-ALIAS/azure-search-javascript-samples
    
  3. 동일한 bash 터미널에서 이 웹 사이트 검색 예를 위해 포크된 리포지토리로 이동합니다.

    cd azure-search-javascript-samples
    
  4. Visual Studio Code 명령 code .를 사용하여 포크된 리포지토리를 엽니다. 나머지 작업은 지정된 경우를 제외하고는 Visual Studio Code에서 수행됩니다.

    code .
    

Azure 리소스에 대한 리소스 그룹 만들기

  1. Visual Studio Code에서 작업 막대를 열고, Azure 아이콘을 선택합니다.

  2. 아직 로그인하지 않은 경우 Azure에 로그인합니다.

  3. 리소스 섹션에서 추가(+)를 선택한 다음 리소스 그룹 만들기를 선택합니다.

    Screenshot of Visual Studio Code, in Azure explorer, showing **Create Resource Group** option.

  4. 리소스 그룹 이름(예: cognitive-search-demo-rg)을 입력합니다.

  5. 지역을 입력합니다.

    • Node.js의 경우 West US 2를 선택합니다. 이는 Azure 함수 PM(프로그래밍 모델) v4 미리 보기에 권장되는 지역입니다.
    • C# 및 Python의 경우 Azure Static Web Apps에서 지원하는 다음 지역을 사용하는 것이 좋습니다. West US 2, East US 2, West Europe, Central US, East Asia

이 자습서에서 만든 모든 리소스에 대해 이 리소스 그룹을 사용합니다. 리소스 그룹은 완료 시 삭제를 포함하여 리소스를 관리하는 논리적 단위를 제공합니다.

다음 단계

문서를 사용하여 검색 인덱스 만들기 및 로드