다음을 통해 공유


Azure AI 검색의 moreLikeThis(미리 보기)

Important

이 기능은 추가 사용 약관에 따라 공개 미리 보기로 제공됩니다. 미리 보기 REST API에서 이 기능을 지원합니다.

moreLikeThis=[key]는 문서 키로 지정된 문서와 유사한 문서를 찾는 문서 검색 API의 쿼리 매개 변수입니다. 검색 요청이 moreLikeThis를 사용하여 설정될 경우 지정한 문서에서 추출된 검색 용어 중에서 해당 문서를 가장 잘 설명하는 용어를 사용해서 쿼리가 생성됩니다. 그런 후 생성된 쿼리를 사용해서 검색 요청이 수행됩니다. moreLikeThis 매개 변수는 검색 매개 변수 search=[string]과 함께 사용할 수 없습니다.

기본적으로 모든 최상위 수준 검색 가능 필드의 콘텐츠를 고려합니다. 대신 특정 필드를 지정하려면 searchFields 매개 변수를 사용할 수 있습니다.

moreLikeThis 매개 변수는 복합 형식에 대해 지원되지 않으며 복합 형식의 존재는 쿼리 논리에 영향을 미칩니다. 인덱스가 복합 형식인 경우 searchFieldsmoreLikeThis가 반복되는 최상위 검색 가능 필드로 설정해야 합니다. 예를 들어, 인덱스에 Edm.String 형식의 검색 가능한 field1과 검색 가능한 하위 필드가 있는 복합 형식인 field2가 있는 경우 field2를 제외하려면 searchFields의 값을 field1로 설정해야 합니다.

예제

다음 예제는 모두 빠른 시작: Azure Portal에서 검색 인덱스 만들기의 호텔 샘플을 사용합니다.

단순 쿼리

다음 쿼리는 설명 필드가 moreLikeThis 매개 변수로 지정된 원본 문서의 필드와 가장 유사한 문서를 찾습니다.

GET /indexes/hotels-sample-index/docs?moreLikeThis=29&searchFields=Description&api-version=2024-05-01-preview

이 예제에서 요청은 HotelId 29와 유사한 호텔을 검색합니다. HTTP GET을 사용하는 대신 HTTP POST를 사용하여 MoreLikeThis를 호출할 수도 있습니다.

POST /indexes/hotels-sample-index/docs/search?api-version=2024-05-01-preview
    {
      "moreLikeThis": "29",
      "searchFields": "Description"
    }

필터 적용

MoreLikeThis$filter와 같은 다른 일반적인 쿼리 매개 변수와 결합될 수 있습니다. 예를 들어, 쿼리는 범주가 ‘예산’이고 평점이 3.5보다 높은 호텔로만 제한될 수 있습니다.

GET /indexes/hotels-sample-index/docs?moreLikeThis=20&searchFields=Description&$filter=(Category eq 'Budget' and Rating gt 3.5)&api-version=2024-05-01-preview

필드 선택 및 결과 제한

$top 선택기를 사용하여 MoreLikeThis 쿼리에서 반환되어야 하는 결과 수를 제한할 수 있습니다. 또한 $select를 사용하여 필드를 선택할 수 있습니다. 여기에서 상위 3개 호텔이 ID, 이름, 등급과 함께 선택됩니다.

GET /indexes/hotels-sample-index/docs?moreLikeThis=20&searchFields=Description&$filter=(Category eq 'Budget' and Rating gt 3.5)&$top=3&$select=HotelId,HotelName,Rating&api-version=2024-05-01-preview

다음 단계

이 연습에는 REST 클라이언트를 사용할 수 있습니다.