IFieldExtractor

IFieldExtractor interface

Proporciona métodos para extraer campos de un documento.

public interface IFieldExtractor

Propiedades

Nombre Descripción
Extensions { get; } Obtiene las extensiones compatibles.

Métodos

Nombre Descripción
GetFields(Stream) Extrae todos los campos del documento especificado.
GetFields(string) Extrae todos los campos del documento especificado.

Observaciones

Aprende más

Ejemplos

El ejemplo demuestra cómo implementar la interfazIFieldExtractor .

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

El ejemplo muestra cómo usar el extractor personalizado para indexar.

string indexFolder = @"c:\MyIndex\"; // Especifique la ruta a la carpeta de índice
string documentsFolder = @"c:\MyDocuments\"; // Especificar la ruta a una carpeta que contiene documentos para buscar

Index index = new Index(indexFolder); // Creando o cargando un índice

index.IndexSettings.CustomExtractors.Add(new LogExtractor()); // Agregar un extractor de texto personalizado a la configuración del índice

index.Add(documentsFolder); // Indexación de documentos de la carpeta especificada

Ver también