인덱스 검색
인덱스를 만들고 채운 후에는 이를 쿼리하여 인덱싱된 문서 콘텐츠의 정보를 검색할 수 있습니다. 단순 필드 값 일치를 기반으로 인덱스 항목을 검색할 수 있지만 대부분의 검색 솔루션은 ‘전체 텍스트 검색’ 의미 체계를 사용하여 인덱스를 쿼리합니다.
전체 텍스트 검색
전체 텍스트 검색에서는 텍스트 기반 문서 내용을 구문 분석하여 쿼리 용어를 찾는 검색 솔루션에 대해 설명합니다. Azure AI Search의 전체 텍스트 검색 쿼리는 인덱스의 데이터 검색, 필터링 및 정렬을 위한 다양한 쿼리 작업 집합을 제공하는 Lucene 쿼리 구문을 기반으로 합니다. Azure AI Search는 Lucene 구문의 두 가지 변형을 지원합니다.
- Simple -사용자가 제출한 리터럴 쿼리 용어에 대응하는 기본 검색을 쉽게 수행할 수 있는 직관적인 구문입니다.
- Full - 복잡한 필터링, 정규식 및 기타 더 정교한 쿼리를 지원하는 확장 구문입니다.
클라이언트 애플리케이션은 식이 평가되는 방법과 결과가 반환되는 방식을 결정하는 다른 매개 변수와 함께 검색 식을 지정하여 Azure AI Search에 쿼리를 제출합니다. 쿼리 시 제출되는 일반적인 매개 변수는 다음과 같습니다.
- search - 찾을 용어를 포함하는 검색 식.
- queryType - 평가할 Lucene 구문(simple 또는 full).
- searchFields - 검색할 인덱스 필드.
- select - 결과에 포함할 필드.
- searchMode - 여러 검색 용어를 기반으로 결과를 포함하기 위한 조건. 예를 들어 ‘편안한 호텔’을 검색한다고 가정합니다. searchMode 값 Any는 "comfortable", "hotel" 또는 둘 다를 포함하는 문서를 반환합니다. searchMode 값 All은 "comfortable"과 "hotel"을 모두 포함하는 문서로 결과를 제한합니다.
쿼리 처리는 다음 네 단계로 구성됩니다.
- 쿼리 구문 분석 - 검색 식은 적절한 하위 쿼리의 트리로 평가 및 재구성됩니다. 하위 쿼리에는 용어 쿼리(검색 식으로 특정 개별 단어 찾기, 예: 호텔), 구 쿼리(검색 식으로 따옴표로 지정된 여러 용어 찾기, 예: “무료 주차”), 접두사 쿼리(지정된 접두사를 사용하여 용어 찾기, 예: 공조기, 공조, 공항에 대응하는 공*)가 포함될 수 있습니다.
- 어휘 분석 - 쿼리 용어가 언어 규칙에 따라 분석 및 구체화됩니다. 예를 들어, 텍스트는 소문자로 변환되고 중요하지 않은 중지 단어(예: "the", "a", "is" 등)는 제거됩니다. 그런 다음 단어는 어근 형태로 변환되고(예: "comfortable"은 "comfort"로 간소화될 수 있음) 합성어는 구성 용어로 분할됩니다.
- 문서 검색 - 쿼리 용어가 인덱싱된 용어에 대응하고 일치하는 문서 집합이 식별됩니다.
- 점수 매기기 - 용어 TF/IDF(Term Frequency/Inverse Document Frequency) 계산을 기반으로 각 결과에 관련성 점수가 할당됩니다.
참고 항목
인덱스 쿼리에 대한 자세한 내용과 단순 및 전체 구문에 대한 자세한 내용은 Azure AI Search 설명서의 Azure AI Search에서 쿼리 형식 및 컴퍼지션을 참조하세요.