IFieldExtractor
내용물
[
숨다
]
IFieldExtractor interface
문서에서 필드를 추출하는 방법을 제공합니다.
public interface IFieldExtractor
속성
이름 | 설명 |
---|---|
Extensions { get; } | 지원되는 확장을 가져옵니다. |
행동 양식
이름 | 설명 |
---|---|
GetFields(Stream) | 지정된 문서에서 모든 필드를 추출합니다. |
GetFields(string) | 지정된 문서에서 모든 필드를 추출합니다. |
비고
더 알아보기
예
이 예제는 인터페이스를 구현하는 방법을 보여줍니다.IFieldExtractor
.
public class LogExtractor : IFieldExtractor
{
private readonly string[] extensions = new string[] { ".log" };
public string[] Extensions
{
get { return extensions; }
}
public DocumentField[] GetFields(string filePath)
{
FileInfo fileInfo = new FileInfo(filePath);
DocumentField[] fields = new DocumentField[]
{
new DocumentField("FileName", fileInfo.FullName),
new DocumentField("CreationDate", fileInfo.CreationTime.ToString(CultureInfo.InvariantCulture)),
new DocumentField("Content", ExtractContent(filePath)),
};
return fields;
}
private string ExtractContent(string filePath)
{
StringBuilder result = new StringBuilder();
using (StreamReader streamReader = File.OpenText(filePath))
{
string line = streamReader.ReadLine();
string processedLine = line.Remove(0, 12);
result.AppendLine(processedLine);
}
return result.ToString();
}
}
예제는 인덱싱을 위해 사용자 정의 추출기를 사용하는 방법을 보여줍니다.
string indexFolder = @"c:\MyIndex\"; // 인덱스 폴더의 경로 지정
string documentsFolder = @"c:\MyDocuments\"; // 검색할 문서가 포함된 폴더의 경로 지정
Index index = new Index(indexFolder); // 인덱스 생성 또는 로드
index.IndexSettings.CustomExtractors.Add(new LogExtractor()); // 색인 설정에 맞춤 텍스트 추출기 추가
index.Add(documentsFolder); // 지정된 폴더에서 문서 인덱싱
또한보십시오
- 네임스페이스 GroupDocs.Search.Common
- 집회 GroupDocs.Search