IWordFormsProvider

IWordFormsProvider interface

Définit l’interface d’un fournisseur de formes de mots.

public interface IWordFormsProvider

Méthodes

Nom La description
GetWordForms(string) Obtient les formes de mot pour le mot spécifié. Le tableau résultant ne contient pas le mot d’origine.

Remarques

Apprendre encore plus

Exemples

L’exemple suivant montre comment implémenter un fournisseur de formes de mots personnalisés.

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

        // Supposons que le mot d'entrée est au pluriel, puis nous ajoutons le singulier
        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));
        }

        // Supposons ensuite que le mot d'entrée est au singulier, nous ajoutons le pluriel
        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");
        // Toutes les règles sont implémentées dans la classe EnglishWordFormsProvider

        return result.ToArray();
    }
}

L’exemple suivant montre comment définir un fournisseur de formes de mots personnalisé à utiliser.

string indexFolder = @"c:\MyIndex\";
string documentsFolder = @"c:\MyDocuments\";
  
// Création d'un index dans le dossier spécifié
Index index = new Index(indexFolder);
  
// Indexation des documents du dossier spécifié
index.Add(documentsFolder);
 
// Définition de l'instance du fournisseur de formes de mots personnalisées
index.Dictionaries.WordFormsProvider = new SimpleWordFormsProvider();
 
// Création d'une instance d'options de recherche
SearchOptions options = new SearchOptions();
options.UseWordFormsSearch = true; // Activer la recherche de formes de mots
  
// Recherche dans l'index
SearchResult result = index.Search("relative", options);
  
// Les mots suivants peuvent être trouvés :
// relatif
// relatifs

Voir également