IFieldExtractor
Contenu
[
Cacher
]
IFieldExtractor interface
Fournit des méthodes pour extraire des champs d’un document.
public interface IFieldExtractor
Propriétés
Nom | La description |
---|---|
Extensions { get; } | Obtient les extensions prises en charge. |
Méthodes
Nom | La description |
---|---|
GetFields(Stream) | Extrait tous les champs du document spécifié. |
GetFields(string) | Extrait tous les champs du document spécifié. |
Remarques
Apprendre encore plus
Exemples
L’exemple montre comment implémenter l’interfaceIFieldExtractor
.
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();
}
}
L’exemple montre comment utiliser l’extracteur personnalisé pour l’indexation.
string indexFolder = @"c:\MyIndex\"; // Spécifiez le chemin vers le dossier d'index
string documentsFolder = @"c:\MyDocuments\"; // Spécifiez le chemin d'accès à un dossier contenant les documents à rechercher
Index index = new Index(indexFolder); // Création ou chargement d'un index
index.IndexSettings.CustomExtractors.Add(new LogExtractor()); // Ajout d'un extracteur de texte personnalisé aux paramètres d'index
index.Add(documentsFolder); // Indexation des documents du dossier spécifié
Voir également
- espace de noms GroupDocs.Search.Common
- Assemblée GroupDocs.Search