IWordFormsProvider
Contenu
[
Cacher
]
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
- espace de noms GroupDocs.Search.Dictionaries
- Assemblée GroupDocs.Search