Azure AI Search에서 일반 텍스트 Blob 및 파일 인덱싱
전체 텍스트 검색을 위해 인덱서를 사용하여 검색 가능한 Blob 텍스트 또는 파일 콘텐츠를 추출하는 경우 구문 분석 모드를 할당하여 인덱싱 결과를 개선할 수 있습니다. 기본적으로 인덱서는 Blob의 content
속성을 단일 텍스트 청크로 구문 분석합니다. 그러나 모든 Blob 및 파일에 동일한 인코딩의 일반 텍스트가 포함된 경우 text
구문 분석 모드를 사용하여 인덱싱 성능을 크게 향상할 수 있습니다.
text
구문 분석의 권장 사항에는 다음 특성 중 하나가 포함됩니다.
- 파일 형식은
.txt
입니다. - 파일은 형식을 가리지 않지만 콘텐츠 자체는 텍스트입니다(예: 프로그램 소스 코드, HTML, XML 등). 마크업 언어로 된 파일의 경우 구문 문자는 정적 텍스트로 제공됩니다.
모든 인덱서가 JSON으로 직렬화된다는 것을 기억하세요. 기본적으로 전체 텍스트 파일의 콘텐츠는 하나의 큰 필드 내에서 "content": "<file-contents>"
로 인덱싱됩니다. 새 줄 및 반환 지침은 콘텐츠 필드에 포함되고 \r\n\
로 표현됩니다.
보다 구체화되거나 세분화된 결과를 원하고 파일 형식이 호환되는 경우 다음 해결 방법을 사용하는 것이 좋습니다.
delimitedText
구문 분석 모드(원본이 CSV인 경우)jsonArray
또는jsonLines
(원본이 JSON인 경우)
콘텐츠를 여러 부분으로 분할하기 위한 다른 세 번째 옵션에는 AI 보강 형식의 고급 기능이 필요합니다. 이 옵션을 사용하면 파일의 청크를 식별하고 서로 다른 검색 필드에 할당하는 분석이 추가됩니다. 엔터티 인식 또는 키워드 추출과 같은 기본 제공 기술을 통해 전체 또는 부분 솔루션을 찾을 수 있지만, 더 가능성 있는 솔루션은 사용자 지정 기술로 래핑된 콘텐츠를 이해하는 사용자 지정 학습 모델일 수 있습니다.
일반 텍스트 인덱싱 설정
일반 텍스트 Blob을 인덱싱하려면 인덱서 만들기 요청에서 parsingMode
구성 속성을 text
로 설정하여 인덱서 정의를 만들거나 업데이트합니다.
PUT https://[service name].search.windows.net/indexers/[indexer name]?api-version=2024-07-01
Content-Type: application/json
api-key: [admin key]
{
... other parts of indexer definition
"parameters" : { "configuration" : { "parsingMode" : "text" } }
}
기본적으로 UTF-8
인코딩이 간주됩니다. 다른 인코딩을 지정하려면 encoding
구성 속성을 사용하세요. 지원되는 인코딩 목록은 .NET 5 이상 지원 열에 있습니다.
{
... other parts of indexer definition
"parameters" : { "configuration" : { "parsingMode" : "text", "encoding" : "iso-8859-1" } }
}
요청 예제
구문 분석 모드는 인덱서 정의에 지정됩니다.
POST https://[service name].search.windows.net/indexers?api-version=2024-07-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" } }
}