IWordFormsProvider
Contenuti
[
Nascondere
]
IWordFormsProvider interface
Definisce l’interfaccia di un fornitore di moduli di parole.
public interface IWordFormsProvider
Metodi
Nome | Descrizione |
---|---|
GetWordForms(string) | Ottiene le forme delle parole per la parola specificata. L’array risultante non contiene la parola originale. |
Osservazioni
Saperne di più
Esempi
L’esempio seguente mostra come implementare un provider di moduli di parole personalizzato.
public class SimpleWordFormsProvider : IWordFormsProvider
{
public string[] GetWordForms(string word)
{
List<string> result = new List<string>();
// Supponiamo che la parola inserita sia al plurale, quindi aggiungiamo il singolare
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));
}
// Quindi supponiamo che la parola di input sia al singolare, aggiungiamo il plurale
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");
// Tutte le regole sono implementate nella classe EnglishWordFormsProvider
return result.ToArray();
}
}
Il prossimo esempio mostra come impostare un fornitore di moduli di parole personalizzato per l’utilizzo.
string indexFolder = @"c:\MyIndex\";
string documentsFolder = @"c:\MyDocuments\";
// Creazione di un indice nella cartella specificata
Index index = new Index(indexFolder);
// Indicizzazione dei documenti dalla cartella specificata
index.Add(documentsFolder);
// Impostazione dell'istanza del provider di moduli di parole personalizzati
index.Dictionaries.WordFormsProvider = new SimpleWordFormsProvider();
// Creazione di un'istanza delle opzioni di ricerca
SearchOptions options = new SearchOptions();
options.UseWordFormsSearch = true; // Abilitazione della ricerca di forme di parole
// Ricerca nell'indice
SearchResult result = index.Search("relative", options);
// Si possono trovare le seguenti parole:
// parente
// parentes
Guarda anche
- spazio dei nomi GroupDocs.Search.Dictionaries
- assemblea GroupDocs.Search