Azure AI 검색 쿼리에 맞춤법 검사 추가(미리 보기)

참고

Azure AI 검색 Azure 포털, REST API 및 Azure SDK 통해 사용할 수 있습니다. 또한 엔터프라이즈 콘텐츠를 Microsoft Foundry 포털의 에이전트에 대해 재사용 가능한 사용 권한 인식 기술 자료로 변환하는 관리되는 기술 계층인 Foundry IQ를 뒷받침합니다.

중요

기능, 기능 또는 표시된 속성(미리 보기)은 서비스 수준 계약에 포함되지 않으며 프로덕션 워크로드에는 권장되지 않으며 일반적으로 사용 가능해지기 전에 변경되거나 제한될 수 있습니다. Azure AI 검색 미리 보기 용어는 독립 실행형 기능이든 일반 공급 기능의 일부이든 관계없이 모든 미리 보기 기능에 적용됩니다.

검색 엔진에 도달하기 전에 쿼리에서 단어를 맞춤법 수정하여 회수를 향상시킬 수 있습니다. speller 매개 변수(미리 보기)는 모든 텍스트(비벡터) 쿼리 형식에 대해 지원되며 Azure 포털, 미리 보기 REST API 및 베타 버전의 Azure SDK 라이브러리를 통해 사용할 수 있습니다.

필수 구성 요소

  • 모든 지역의 기본 계층 이상의 검색 서비스입니다.

  • 지원되는 언어의 콘텐츠가 있는 기존 검색 인덱스입니다.

  • 및 speller=lexicon이(가) queryLanguage로 설정된 쿼리 요청 맞춤법 검사는 search 매개 변수에 전달된 문자열에서 작동합니다. 필터, 유사 항목 검색, 와일드카드 검색, 정규식 또는 벡터 쿼리에는 지원되지 않습니다.

쿼리 요청에서 미리 보기 API를 지원하는 검색 클라이언트를 사용합니다. Azure SDK REST 클라이언트 또는 베타 릴리스를 사용할 수 있습니다.

클라이언트 라이브러리 버전
REST API 버전 2020-06-30-Preview 이상. 최신 미리 보기 API: 2026-08-01-preview를 사용하는 것이 좋습니다.
.NET 대한 Azure SDK 버전 11.7.0-beta.4
Java용 Azure SDK 버전 11.8.0-beta.7
JavaScript용 Azure SDK 버전 11.3.0-beta.8
Python용 Azure SDK 버전 11.6.0b12

다음 예제에서는 호텔 샘플 인덱 스로 간단한 텍스트 쿼리에 대한 맞춤법 수정을 보여 줍니다. 맞춤법 수정 없이 쿼리는 0개의 결과를 반환합니다. 수정을 통해 쿼리는 Johnson의 가족 지향 리조트에 대한 하나의 결과를 반환합니다.

POST https://[service name].search.windows.net/indexes/hotels-sample/docs/search?api-version=2026-08-01-preview
{
    "search": "famly acitvites",
    "speller": "lexicon",
    "queryLanguage": "en-us",
    "queryType": "simple",
    "select": "HotelId,HotelName,Description,Category,Tags",
    "count": true
}

전체 Lucene을 사용하여 맞춤법 수정

맞춤법 수정은 텍스트 분석을 거치는 개별 쿼리 용어에서 발생하므로 일부 Lucene 쿼리에는 맞춤법 검사기 매개 변수를 사용할 수 있지만 다른 쿼리는 사용할 수 없습니다.

  • 텍스트 분석을 우회하는 호환되지 않는 쿼리 양식에는 와일드카드, 정규식, 유사 항목이 포함됩니다.
  • 호환되는 쿼리 양식에는 필드 검색, 근접성, 용어 승격이 포함됩니다.

이 예제에서는 전체 Lucene 구문과 맞춤법이 틀린 쿼리 용어를 사용하여 범주 필드에 대한 필드 지정 검색을 사용합니다. 맞춤법 검사기를 포함하면 "Suiite"의 오타가 수정되고 쿼리가 성공합니다.

POST https://[service name].search.windows.net/indexes/hotels-sample/docs/search?api-version=2026-08-01-preview
{
    "search": "Category:(Resort and Spa) OR Category:Suiite",
    "queryType": "full",
    "speller": "lexicon",
    "queryLanguage": "en-us",
    "select": "Category",
    "count": true
}

의미 체계 순위를 사용하여 맞춤법 수정

1을 제외한 모든 용어의 오타가 있는 이 쿼리는 관련 결과를 반환하기 위해 맞춤법 수정을 거칩니다. 자세한 내용은 의미 체계 순위 구성을 참조하세요.

POST https://[service name].search.windows.net/indexes/hotels-sample/docs/search?api-version=2026-08-01-preview
{
    "search": "hisotoric hotell wiht great restrant nad wiifi",
    "queryType": "semantic",
    "speller": "lexicon",
    "queryLanguage": "en-us",
    "searchFields": "HotelName,Tags,Description",
    "select": "HotelId,HotelName,Description,Category,Tags",
    "count": true
}

지원되는 언어

유효한 값 queryLanguage 은 지원되는 언어 목록(REST API 참조)에서 복사한 다음 표에서 찾을 수 있습니다.

언어 쿼리 언어
영어 [EN] EN, EN-US(기본값)
스페인어 [ES] ES, ES-ES(기본값)
프랑스어 [FR] FR, FR-FR(기본값)
독일어 [DE] DE, DE-DE(기본값)
네덜란드어 [NL] NL, NL-BE, NL-NL(기본값)

참고

이전에는 시맨틱 랭커가 미리 보기 중일 때, queryLanguage 매개 변수가 시맨틱 랭킹에도 사용되었습니다. 의미 체계 순위는 이제 언어에 구애받지 않습니다.

언어 분석기 고려 사항

영어가 아닌 콘텐츠를 포함하는 인덱스는 종종 영어가 아닌 필드에 언어 분석기를 사용하여 모국어의 언어 규칙을 적용합니다.

언어 분석을 거치는 콘텐츠에 맞춤법 검사를 추가할 때 각 인덱싱 및 쿼리 처리 단계에서 동일한 언어를 사용하여 더 나은 결과를 얻을 수 있습니다. 예를 들어 필드의 콘텐츠가 "fr.microsoft" 언어 분석기를 사용하여 인덱싱된 경우 쿼리 및 맞춤법 검사는 모두 일부 형식의 프랑스어 어휘 또는 언어 라이브러리를 사용해야 합니다.

Azure AI 검색 언어 라이브러리를 사용하는 방법을 요약하려면 다음을 수행합니다.

  • 언어 분석기는 인덱싱 및 쿼리 실행 중에 호출할 수 있으며 Apache Lucene(예: "de.lucene") 또는 Microsoft("de.microsoft)입니다.

  • 맞춤법 검사 중에 호출되는 언어 어휘는 지원되는 언어 테이블의 언어 코드 중 하나를 사용하여 지정됩니다.

쿼리 요청에서 할당된 queryLanguage 값이 speller에 적용됩니다.

참고

다양한 속성 값에 대한 언어 일관성은 언어 분석기를 사용하는 경우에만 문제가 됩니다. 언어에 구애받지 않는 분석기(예: 키워드, 단순, 표준, 중지, 공백 또는 standardasciifolding.lucene)를 사용하는 경우 값은 queryLanguage 원하는 대로 될 수 있습니다.

검색 인덱스의 콘텐츠는 여러 언어로 작성할 수 있지만 쿼리 입력은 하나일 가능성이 높습니다. 검색 엔진은 queryLanguage의 호환성, 언어 분석기, 그리고 콘텐츠가 구성된 언어의 호환성을 확인하지 않으므로 잘못된 결과가 생성되지 않도록 쿼리 범위를 적절하게 지정해야 합니다.

다음 단계