IWordFormsProvider
İçindekiler
[
Saklamak
]
IWordFormsProvider interface
Bir sözcük formu sağlayıcısının arayüzünü tanımlar.
public interface IWordFormsProvider
yöntemler
İsim | Tanım |
---|---|
GetWordForms(string) | Belirtilen kelime için kelime formlarını alır. Ortaya çıkan dizi, orijinal kelimeyi içermez. |
Notlar
Daha fazla bilgi edin
Örnekler
Aşağıdaki örnek, özel bir sözcük formu sağlayıcısının nasıl uygulanacağını gösterir.
public class SimpleWordFormsProvider : IWordFormsProvider
{
public string[] GetWordForms(string word)
{
List<string> result = new List<string>();
// Girilen kelimenin çoğul olduğunu varsayalım, ardından tekili ekleyelim
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));
}
// Daha sonra giriş kelimesinin tekil olduğunu varsayalım, çoğul ekleriz
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");
// Tüm kurallar EnglishWordFormsProvider sınıfında uygulanır
return result.ToArray();
}
}
Sonraki örnek, kullanım için özel bir sözcük formu sağlayıcısının nasıl ayarlanacağını gösterir.
string indexFolder = @"c:\MyIndex\";
string documentsFolder = @"c:\MyDocuments\";
// Belirtilen klasörde bir dizin oluşturma
Index index = new Index(indexFolder);
// Belgeleri belirtilen klasörden indeksleme
index.Add(documentsFolder);
// Özel kelime formları sağlayıcı örneğini ayarlama
index.Dictionaries.WordFormsProvider = new SimpleWordFormsProvider();
// Arama seçenekleri örneği oluşturma
SearchOptions options = new SearchOptions();
options.UseWordFormsSearch = true; // Kelime formları için aramayı etkinleştirme
// dizinde arama
SearchResult result = index.Search("relative", options);
// Aşağıdaki kelimeler bulunabilir:
// akraba
// akrabas
Ayrıca bakınız
- ad alanı GroupDocs.Search.Dictionaries
- toplantı GroupDocs.Search