IWordFormsProvider

IWordFormsProvider interface

Καθορίζει τη διεπαφή ενός παρόχου φορμών λέξεων.

public interface IWordFormsProvider

Μέθοδοι

Ονομα Περιγραφή
GetWordForms(string) Λαμβάνει τις μορφές λέξης για την καθορισμένη λέξη. Ο πίνακας που προκύπτει δεν περιέχει την αρχική λέξη.

Παρατηρήσεις

Μάθε περισσότερα

Παραδείγματα

Το ακόλουθο παράδειγμα δείχνει πώς να εφαρμόσετε έναν πάροχο προσαρμοσμένων φορμών λέξης.

public class SimpleWordFormsProvider : IWordFormsProvider
{
    public string[] GetWordForms(string word)
    {
        List<string> result = new List<string>();

        // Ας υποθέσουμε ότι η λέξη εισαγωγής είναι στον πληθυντικό, τότε προσθέτουμε τον ενικό
        if (word.Length > 2 &&
            word.EndsWith("es", StringComparison.InvariantCultureIgnoreCase))
        {
            result.Add(word.Substring(0, word.Length - 2));
        }
        if (word.Length > 1 &&
            word.EndsWith("s", StringComparison.InvariantCultureIgnoreCase))
        {
            result.Add(word.Substring(0, word.Length - 1));
        }

        // Στη συνέχεια, υποθέστε ότι η λέξη εισόδου είναι στον ενικό, προσθέτουμε τον πληθυντικό
        if (word.Length > 1 &&
            word.EndsWith("y", StringComparison.InvariantCultureIgnoreCase))
        {
            result.Add(word.Substring(0, word.Length - 1) + "is");
        }
        result.Add(word + "s");
        result.Add(word + "es");
        // Όλοι οι κανόνες υλοποιούνται στην κλάση EnglishWordFormsProvider

        return result.ToArray();
    }
}

Το επόμενο παράδειγμα δείχνει πώς να ορίσετε έναν πάροχο προσαρμοσμένων φορμών λέξης για χρήση.

string indexFolder = @"c:\MyIndex\";
string documentsFolder = @"c:\MyDocuments\";
  
// Δημιουργία ευρετηρίου στον καθορισμένο φάκελο
Index index = new Index(indexFolder);
  
// Δημιουργία ευρετηρίου εγγράφων από τον καθορισμένο φάκελο
index.Add(documentsFolder);
 
// Ρύθμιση της παρουσίας παρόχου προσαρμοσμένων φορμών λέξης
index.Dictionaries.WordFormsProvider = new SimpleWordFormsProvider();
 
// Δημιουργία παρουσίας επιλογών αναζήτησης
SearchOptions options = new SearchOptions();
options.UseWordFormsSearch = true; // Ενεργοποίηση αναζήτησης για φόρμες λέξεων
  
// Αναζήτηση στο ευρετήριο
SearchResult result = index.Search("relative", options);
  
// Μπορείτε να βρείτε τις ακόλουθες λέξεις:
// συγγενής
// συγγενήςs

Δείτε επίσης