IFieldExtractor

IFieldExtractor interface

Menyediakan metode untuk mengekstrak kolom dari dokumen.

public interface IFieldExtractor

Properti

Nama Keterangan
Extensions { get; } Mendapatkan ekstensi yang didukung.

Metode

Nama Keterangan
GetFields(Stream) Mengekstrak semua kolom dari dokumen yang ditentukan.
GetFields(string) Mengekstrak semua kolom dari dokumen yang ditentukan.

Perkataan

Belajarlah lagi

Contoh

Contoh menunjukkan cara mengimplementasikan antarmukaIFieldExtractor .

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();
    }
}

Contoh menunjukkan cara menggunakan ekstraktor kustom untuk pengindeksan.

string indexFolder = @"c:\MyIndex\"; // Tentukan jalur ke folder indeks
string documentsFolder = @"c:\MyDocuments\"; // Tentukan jalur ke folder yang berisi dokumen untuk dicari

Index index = new Index(indexFolder); // Membuat atau memuat indeks

index.IndexSettings.CustomExtractors.Add(new LogExtractor()); // Menambahkan ekstraktor teks khusus ke pengaturan indeks

index.Add(documentsFolder); // Pengindeksan dokumen dari folder yang ditentukan

Lihat juga