IWordFormsProvider
Contenido
[
Ocultar
]
IWordFormsProvider interface
Define la interfaz de un proveedor de formas de palabra.
public interface IWordFormsProvider
Métodos
Nombre | Descripción |
---|---|
GetWordForms(string) | Obtiene las formas de palabra para la palabra especificada. La matriz resultante no contiene la palabra original. |
Observaciones
Aprende más
Ejemplos
El siguiente ejemplo muestra cómo implementar un proveedor de formularios de palabras personalizados.
public class SimpleWordFormsProvider : IWordFormsProvider
{
public string[] GetWordForms(string word)
{
List<string> result = new List<string>();
// Supongamos que la palabra de entrada está en plural, luego agregamos el singular
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));
}
// Entonces supongamos que la palabra de entrada está en singular, agregamos el plural
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");
// Todas las reglas se implementan en la clase EnglishWordFormsProvider
return result.ToArray();
}
}
El siguiente ejemplo muestra cómo configurar un proveedor de formularios de palabras personalizados para usar.
string indexFolder = @"c:\MyIndex\";
string documentsFolder = @"c:\MyDocuments\";
// Creando un índice en la carpeta especificada
Index index = new Index(indexFolder);
// Indexación de documentos de la carpeta especificada
index.Add(documentsFolder);
// Configuración de la instancia del proveedor de formas de palabras personalizadas
index.Dictionaries.WordFormsProvider = new SimpleWordFormsProvider();
// Creando una instancia de opciones de búsqueda
SearchOptions options = new SearchOptions();
options.UseWordFormsSearch = true; // Habilitando la búsqueda de formas de palabras
// Buscando en el índice
SearchResult result = index.Search("relative", options);
// Se pueden encontrar las siguientes palabras:
// relativo
// relativos
Ver también
- espacio de nombres GroupDocs.Search.Dictionaries
- asamblea GroupDocs.Search