빠른 시작: Azure Portal에서 검색 인덱스 만들기

이 Azure AI 검색 빠른 시작에서는 데이터 가져오기 마법사와 Microsoft가 호스트하는 가상의 호텔 데이터로 구성된 기본 제공 샘플 데이터 원본을 사용하여 첫 번째 검색 인덱스를 만듭니다. 마법사는 몇 분 내에 흥미로운 쿼리를 작성하는 데 도움이 되는 코드 없는 검색 인덱스 생성 방법을 안내합니다.

마법사는 검색 서비스에 여러 개체(검색 가능한 인덱스)를 생성할 뿐만 아니라 자동화된 데이터 검색을 위한 인덱서 및 데이터 원본 연결도 생성합니다. 이 빠른 시작이 끝나면 각 개체를 검토합니다.

참고 항목

데이터 가져오기 마법사에는 이 빠른 시작에서 다루지 않은 OCR, 텍스트 번역 및 기타 AI 보강 옵션이 포함되어 있습니다. AI 보강에 중점을 둔 비슷한 연습은 빠른 시작: Azure Portal에서 기술 세트 만들기를 참조하세요.

필수 조건

공간 확인

많은 고객이 무료 서비스를 시작합니다. 무료 계층은 3개의 인덱스, 3개의 데이터 소스 및 3개의 인덱서로 제한됩니다. 시작하기 전에 추가 항목에 대한 공간이 있는지 확인합니다. 이 빠른 시작에서는 각 개체를 하나씩 만듭니다.

이미 보유한 인덱스, 인덱서 및 데이터 원본의 수를 확인하려면 해당 서비스의 개요 > 사용량 탭을 확인합니다.

Screenshot of the Overview page for an Azure AI Search service instance in the Azure portal, showing the number of indexes, indexers, and data sources.

마법사 시작

  1. Azure 계정으로 Azure Portal에 로그인하고 Azure AI 검색 서비스로 이동합니다.

  2. 개요 페이지에서 데이터 가져오기를 선택하여 마법사를 시작합니다.

    Screenshot that shows how to open the Import data wizard in the Azure portal.

인덱스 만들기 및 로드

이 섹션에서는 4단계에 걸쳐 인덱스를 만들고 로드합니다.

데이터 원본에 연결

마법사는 Azure Cosmos DB에서 Microsoft가 호스트하는 샘플 데이터에 대한 데이터 원본 연결을 만듭니다. 이 샘플 데이터는 내부 연결을 통해 액세스하여 검색됩니다. 이 빠른 시작을 실행하기 위해 고유한 Azure Cosmos DB 계정 또는 원본 파일이 필요하지 않습니다.

  1. 데이터에 연결에서 데이터 원본 드롭다운 목록을 확장하고 샘플을 선택합니다.

  2. 기본 제공 샘플 목록에서 hotels-sample을 선택합니다.

    Screenshot that shows how to select the hotels-sample data source in the Import data wizard.

  3. 다음: 인식 기술 추가(선택 사항)을 선택하여 계속 진행합니다.

인식 기술의 구성 건너뛰기

데이터 가져오기 마법사는기술 세트 생성과 인덱싱에 대한 AI 보강을 지원합니다.

  1. 이 빠른 시작에서는 인식 기술 추가 탭의 AI 보강 구성 옵션을 무시하세요.

  2. 건너뛰기: 대상 인덱스 사용자 지정을 선택하여 계속 진행합니다.

    Screenshot that shows how to Skip to the Customize target index tab in the Import data wizard.

AI 보강에 관심이 있으신가요? 이 빠른 시작: Azure Portal에서 기술 세트 만들기를 사용해 보세요.

인덱스 구성

마법사는 기본 제공 hotels-sample index에 대한 스키마를 유추합니다. 다음 단계에 따라 인덱스를 구성합니다.

  1. 인덱스 이름(hotels-sample-index) 및 필드(HotelId)에 대해 시스템에서 생성된 값을 허용합니다.

  2. 모든 필드 특성에 대해 시스템에서 생성된 값을 허용합니다.

    Important

    마법사를 다시 실행하고 기존 hotels-sample 데이터 원본을 사용하는 경우 인덱스가 기본 특성으로 구성되지 않습니다. 이후 가져오기에서는 특성을 수동으로 선택해야 합니다.

  3. 다음: 인덱서 만들기를 선택하여 계속 진행합니다.

Screenshot that shows the generated index definition for the hotels-sample data source in the Import data wizard.

인덱스에는 최소한 인덱스 이름필드 컬렉션이 필요합니다. 각 문서를 고유하게 식별하기 위해 하나의 필드를 문서 키로 표시해야 합니다. 값은 항상 문자열입니다. 마법사는 고유한 문자열 필드를 검색하고 키에 대해 하나를 선택합니다.

각 필드에는 검색 인덱스에서 필드를 사용하는 방법을 제어하는 이름, 데이터 형식 및 특성이 있습니다. 확인란에서 다음 특성을 사용하거나 사용하지 않도록 설정할 수 있습니다.

  • Retrievable: 쿼리 응답에서 반환된 필드입니다.
  • Filterable: 필터 식을 허용하는 필드입니다.
  • Sortable: orderby 식을 허용하는 필드입니다.
  • Facetable: 패싯 탐색 구조에 사용되는 필드입니다.
  • Searchable: 전체 텍스트 검색에 사용되는 필드입니다. 문자열은 검색할 수 있습니다. 숫자 필드와 부울 필드는 종종 검색할 수 없다고 표시됩니다.

문자열은 RetrievableSearchable 특성이 사용됩니다. 정수는 Retrievable, Filterable, SortableFacetable 특성이 사용됩니다.

특성은 스토리지에 영향을 줍니다. Filterable 필드는 추가 스토리지를 사용하지만 Retrievable 필드는 그렇지 않습니다. 자세한 내용은 특성 및 제안기의 스토리지 영향을 보여 주는 예를 참조하세요.

자동 완성 또는 제안된 쿼리를 원하는 경우 언어 분석기 또는 제안기를 지정합니다.

인덱서 구성 및 실행

마지막 단계에서는 인덱서가 구성되고 실행됩니다. 이 개체는 실행 가능한 프로세스를 정의합니다. 이 단계에서는 데이터 원본, 인덱스 및 인덱서가 만들어집니다.

  1. 인덱서 이름(hotels-sample-index)에 대해 시스템에서 생성된 값을 허용합니다.

  2. 이 빠른 시작의 경우 기본 옵션을 사용하여 인덱서를 즉시 한 번 실행합니다. 호스트된 데이터는 정적이므로 변경 내용 추적을 사용할 수 없습니다.

  3. 제출을 선택하여 인덱서를 만드는 동시에 실행합니다.

    Screenshot that shows how to configure the indexer for the hotels-sample data source in the Import data wizard.

인덱서 진행률 모니터링

포털에서 인덱서 또는 인덱스의 생성을 모니터링할 수 있습니다. 서비스 개요 페이지에서는 Azure AI 검색 서비스에서 만든 리소스의 링크를 제공합니다.

  1. 왼쪽에서 인덱서를 선택합니다.

    Screenshot that shows the creation of the indexer in progress in the Azure portal.

    Azure Portal에 페이지 결과가 업데이트되는 데 몇 분 정도 걸릴 수 있습니다. 새로 만든 인덱서가 목록에 진행 중 또는 성공 상태로 표시됩니다. 목록에는 인덱싱된 문서 수도 표시됩니다.

검색 인덱스 결과 확인

  1. 왼쪽에서 인덱스를 선택합니다.

  2. hotels-sample-index를 선택합니다.

    Azure Portal 페이지가 새로 고쳐질 때까지 기다립니다. 문서 수와 스토리지 크기를 포함하는 인덱스가 표시됩니다.

    Screenshot of the Indexes list on the Azure AI Search service dashboard in the Azure portal.

  3. 필드 탭을 선택하여 인덱스 스키마를 볼 수 있습니다.

    어떤 쿼리를 작성해야 할지 알 수 있도록 어떤 필드가 Filterable 또는 Sortable인지 확인합니다.

    Screenshot that shows the schema definition for an index in the Azure AI Search service in the Azure portal.

필드 추가 또는 변경

필드 탭에서 이름, 지원되는 데이터 형식 및 특성이 포함된 필드 추가를 사용하여 새 필드를 만들 수 있습니다.

기존 필드를 변경하는 것은 더 어렵습니다. 기존 필드는 인덱스에 물리적 표현이 있으므로 코드에서도 수정할 수 없습니다. 기존 필드를 근본적으로 변경하려면 원본을 대체하는 새 필드를 만들어야 합니다. 점수 매기기 프로필 및 CORS 옵션과 같은 다른 구문을 언제든지 인덱스에 추가할 수 있습니다.

인덱스 디자인 중에 편집할 수 있는 항목과 편집할 수 없는 항목을 명확하게 이해하려면 잠시 시간을 내어 인덱스 정의 옵션을 잠시 살펴봅니다. 필드 목록의 회색 옵션은 수정할 수 없거나 삭제할 수 없는 값을 나타냅니다.

Search 탐색기를 사용하여 쿼리

이제 검색 탐색기를 사용하여 쿼리할 수 있는 검색 인덱스가 있습니다. 검색 탐색기POST 검색 REST API를 준수하는 REST 호출을 보냅니다. 이 도구는 간단한 쿼리 구문전체 Lucene 쿼리 구문을 지원합니다.

  1. 검색 탐색기 탭에서 검색할 텍스트를 입력합니다.

    Screenshot that shows how to enter and run a query in the Search Explorer tool.

  2. 출력의 보이지 않는 영역으로 빠르게 이동하려면 미니 맵을 사용합니다.

    Screenshot that shows long results for a query in the Search Explorer tool and the mini-map.

  3. 구문을 지정하려면 JSON 보기로 전환합니다.

    Screenshot of the JSON view selector.

호텔 샘플 인덱스에 대한 예제 쿼리

다음 예제에서는 JSON 보기 및 2023-11-01 REST API 버전을 가정합니다.

필터 예시

주차, 태그, 리노베이션 날짜, 등급 및 위치를 필터링할 수 있습니다.

{
    "search": "beach OR spa",
    "select": "HotelId, HotelName, Description, Rating",
    "count": true,
    "top": 10,
    "filter": "Rating gt 4"
}

부울 필터는 기본적으로 "true"로 가정합니다.

{
    "search": "beach OR spa",
    "select": "HotelId, HotelName, Description, Rating",
    "count": true,
    "top": 10,
    "filter": "ParkingIncluded"
}

지리 공간적 검색은 필터 기반입니다. geo.distance 함수는 지정된 Locationgeography'POINT 좌표를 기반으로 위치 데이터에 대한 모든 결과를 필터링합니다. 이 쿼리는 위도 경도 좌표 -122.12 47.67("Redmond, Washington, USA")에서 5km 이내에 있는 호텔을 찾습니다. 이 쿼리는 호텔 이름 및 주소 위치와 &$count=true 총 일치 횟수를 표시합니다.

{
    "search": "*",
    "select": "HotelName, Address/City, Address/StateProvince",
    "count": true,
    "top": 10,
    "filter": "geo.distance(Location, geography'POINT(-122.12 47.67)') le 5"
}

전체 Lucene 구문 예제

기본 구문은 간단한 구문이지만 유사 항목 검색이나 용어 승격 또는 정규식을 원하는 경우에는 전체 구문을 지정합니다.

{
    "queryType": "full",
    "search": "seatle~",
    "select": "HotelId, HotelName,Address/City, Address/StateProvince",
    "count": true
}

기본적으로 Seattle에 대한 seatle과 같이 철자가 잘못된 쿼리 용어는 일반 검색에서 일치하는 항목을 반환하지 못합니다. queryType=full 매개 변수는 물결표 ~ 피연산자를 지원하는 전체 Lucene 쿼리 파서를 호출합니다. 이러한 매개 변수가 있으면 쿼리는 지정된 키워드에 대한 유사 항목 검색을 수행합니다. 쿼리는 키워드와 유사하지만 정확히 일치하지 않는 결과와 함께 일치하는 결과를 찾습니다.

잠시 시간을 내어 인덱스에 대한 이러한 예제 쿼리를 몇 가지 시도해 보세요. 쿼리에 대한 자세한 내용은 Azure AI 검색에서 쿼리를 참조하세요.

리소스 정리

본인 소유의 구독으로 작업하는 경우에는 프로젝트가 끝날 때 여기서 만든 리소스가 계속 필요한지 확인하는 것이 좋습니다. 계속 실행되는 리소스에는 요금이 부과될 수 있습니다. 리소스를 개별적으로 삭제하거나 리소스 그룹을 삭제하여 전체 리소스 세트를 삭제할 수 있습니다.

Azure Portal의 왼쪽 창에 있는 모든 리소스 또는 리소스 그룹에서 서비스에 대한 리소스를 찾고 관리할 수 있습니다.

무료 서비스를 사용하는 경우 인덱스, 인덱서, 데이터 원본의 세 가지 항목으로 제한됩니다. Azure Portal에서 개별 항목을 삭제하여 제한 이하로 유지할 수 있습니다.

다음 단계

브라우저에서 실행되는 즉시 사용할 수 있는 웹앱을 생성하려면 Azure Portal 마법사를 사용해 보세요. 이 빠른 시작에서 만든 작은 인덱스에서 이 마법사를 사용해 보거나 기본 제공 샘플 데이터 세트 중 하나를 사용하여 더 다양한 검색을 경험할 수 있습니다.