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();
}
}
この例は、索引付けに custorm エクストラクタを使用する方法を示しています。
string indexFolder = @"c:\MyIndex\"; // index フォルダへのパスを指定
string documentsFolder = @"c:\MyDocuments\"; // 検索するドキュメントを含むフォルダーへのパスを指定します
Index index = new Index(indexFolder); // インデックスの作成または読み込み
index.IndexSettings.CustomExtractors.Add(new LogExtractor()); // カスタム テキスト エクストラクタをインデックス設定に追加する
index.Add(documentsFolder); // 指定されたフォルダからのドキュメントのインデックス作成
関連項目
- 名前空間 GroupDocs.Search.Common
- 組み立て GroupDocs.Search