IWordFormsProvider

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