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); // निर्दिष्ट फ़ोल्डर से दस्तावेज़ अनुक्रमण

यह सभी देखें