IWordFormsProvider
inhoud
[
verbergen
]
IWordFormsProvider interface
Definieert de interface van een provider van woordvormen.
public interface IWordFormsProvider
methoden
Naam | Beschrijving |
---|---|
GetWordForms(string) | Haalt de woordvormen op voor het opgegeven woord. De resulterende array bevat niet het oorspronkelijke woord. |
Opmerkingen
Kom meer te weten
Voorbeelden
In het volgende voorbeeld ziet u hoe u een provider voor aangepaste woordvormen implementeert.
public class SimpleWordFormsProvider : IWordFormsProvider
{
public string[] GetWordForms(string word)
{
List<string> result = new List<string>();
// Stel dat het ingevoerde woord in het meervoud staat, dan voegen we het enkelvoud toe
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));
}
// Neem dan aan dat het ingevoerde woord in het enkelvoud staat, we voegen het meervoud toe
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");
// Alle regels zijn geïmplementeerd in de klasse EnglishWordFormsProvider
return result.ToArray();
}
}
Het volgende voorbeeld laat zien hoe u een aangepaste woordvormprovider instelt voor gebruik.
string indexFolder = @"c:\MyIndex\";
string documentsFolder = @"c:\MyDocuments\";
// Een index maken in de opgegeven map
Index index = new Index(indexFolder);
// Documenten uit de opgegeven map indexeren
index.Add(documentsFolder);
// De instantie van de provider van aangepaste woordvormen instellen
index.Dictionaries.WordFormsProvider = new SimpleWordFormsProvider();
// Een instantie voor zoekopties maken
SearchOptions options = new SearchOptions();
options.UseWordFormsSearch = true; // Zoeken naar woordvormen inschakelen
// Zoeken in de index
SearchResult result = index.Search("relative", options);
// De volgende woorden zijn te vinden:
// familielid
// familielids
Zie ook
- naamruimte GroupDocs.Search.Dictionaries
- montage GroupDocs.Search