Share via


Azure AI Search에서 일반 텍스트 Blob 및 파일 인덱싱

적용 대상: Blob 인덱서, 파일 인덱서

전체 텍스트 검색을 위해 인덱서를 사용하여 검색 가능한 Blob 텍스트 또는 파일 콘텐츠를 추출하는 경우 구문 분석 모드를 할당하여 인덱싱 결과를 개선할 수 있습니다. 기본적으로 인덱서는 Blob의 content 속성을 단일 텍스트 청크로 구문 분석합니다. 그러나 모든 Blob 및 파일에 동일한 인코딩의 일반 텍스트가 포함된 경우 text 구문 분석 모드를 사용하여 인덱싱 성능을 크게 향상할 수 있습니다.

text 구문 분석의 권장 사항에는 다음 특성 중 하나가 포함됩니다.

  • 파일 형식은 .txt입니다.
  • 파일은 형식을 가리지 않지만 콘텐츠 자체는 텍스트입니다(예: 프로그램 소스 코드, HTML, XML 등). 마크업 언어로 된 파일의 경우 구문 문자는 정적 텍스트로 제공됩니다.

모든 인덱서가 JSON으로 직렬화된다는 것을 기억하세요. 기본적으로 전체 텍스트 파일의 콘텐츠는 하나의 큰 필드 내에서 "content": "<file-contents>"로 인덱싱됩니다. 새 줄 및 반환 지침은 콘텐츠 필드에 포함되고 \r\n\로 표현됩니다.

보다 구체화되거나 세분화된 결과를 원하고 파일 형식이 호환되는 경우 다음 해결 방법을 사용하는 것이 좋습니다.

콘텐츠를 여러 부분으로 분할하기 위한 다른 세 번째 옵션에는 AI 보강 형식의 고급 기능이 필요합니다. 이 옵션을 사용하면 파일의 청크를 식별하고 서로 다른 검색 필드에 할당하는 분석이 추가됩니다. 엔터티 인식 또는 키워드 추출과 같은 기본 제공 기술을 통해 전체 또는 부분 솔루션을 찾을 수 있지만, 더 가능성 있는 솔루션은 사용자 지정 기술로 래핑된 콘텐츠를 이해하는 사용자 지정 학습 모델일 수 있습니다.

일반 텍스트 인덱싱 설정

일반 텍스트 Blob을 인덱싱하려면 인덱서 만들기 요청에서 parsingMode 구성 속성을 text로 설정하여 인덱서 정의를 만들거나 업데이트합니다.

PUT https://[service name].search.windows.net/indexers/[indexer name]?api-version=2023-11-01
Content-Type: application/json
api-key: [admin key]

{
  ... other parts of indexer definition
  "parameters" : { "configuration" : { "parsingMode" : "text" } }
}

기본적으로 UTF-8 인코딩이 간주됩니다. 다른 인코딩을 지정하려면 encoding 구성 속성을 사용하세요.

{
  ... other parts of indexer definition
  "parameters" : { "configuration" : { "parsingMode" : "text", "encoding" : "windows-1252" } }
}

요청 예제

구문 분석 모드는 인덱서 정의에 지정됩니다.

POST https://[service name].search.windows.net/indexers?api-version=2023-11-01
Content-Type: application/json
api-key: [admin key]

{
  "name" : "my-plaintext-indexer",
  "dataSourceName" : "my-blob-datasource",
  "targetIndexName" : "my-target-index",
  "parameters" : { "configuration" : { "parsingMode" : "delimitedText", "delimitedTextHeaders" : "id,datePublished,tags" } }
}

다음 단계