Azure AI 검색의 moreLikeThis(미리 보기)
Important
이 기능은 추가 사용 약관에 따라 공개 미리 보기로 제공됩니다. 미리 보기 REST API에서 이 기능을 지원합니다.
moreLikeThis=[key]
는 문서 키로 지정된 문서와 유사한 문서를 찾는 문서 검색 API의 쿼리 매개 변수입니다. 검색 요청이 moreLikeThis
를 사용하여 설정될 경우 지정한 문서에서 추출된 검색 용어 중에서 해당 문서를 가장 잘 설명하는 용어를 사용해서 쿼리가 생성됩니다. 그런 후 생성된 쿼리를 사용해서 검색 요청이 수행됩니다. moreLikeThis
매개 변수는 검색 매개 변수 search=[string]
과 함께 사용할 수 없습니다.
기본적으로 모든 최상위 수준 검색 가능 필드의 콘텐츠를 고려합니다. 대신 특정 필드를 지정하려면 searchFields
매개 변수를 사용할 수 있습니다.
moreLikeThis
매개 변수는 복합 형식에 대해 지원되지 않으며 복합 형식의 존재는 쿼리 논리에 영향을 미칩니다. 인덱스가 복합 형식인 경우 searchFields
를 moreLikeThis
가 반복되는 최상위 검색 가능 필드로 설정해야 합니다. 예를 들어, 인덱스에 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 클라이언트를 사용할 수 있습니다.