IWordFormsProvider

IWordFormsProvider interface

Menentukan antarmuka penyedia bentuk kata.

public interface IWordFormsProvider

Metode

Nama Keterangan
GetWordForms(string) Mendapatkan bentuk kata untuk kata yang ditentukan. Array yang dihasilkan tidak berisi kata asli.

Perkataan

Belajarlah lagi

Contoh

Contoh berikut menunjukkan cara mengimplementasikan penyedia bentuk kata kustom.

public class SimpleWordFormsProvider : IWordFormsProvider
{
    public string[] GetWordForms(string word)
    {
        List<string> result = new List<string>();

        // Asumsikan bahwa kata input dalam bentuk jamak, lalu kita tambahkan bentuk tunggal
        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));
        }

        // Kemudian asumsikan bahwa kata input dalam bentuk tunggal, kami menambahkan jamak
        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");
        // Semua aturan diterapkan di kelas EnglishWordFormsProvider

        return result.ToArray();
    }
}

Contoh berikutnya menunjukkan cara menyetel penyedia bentuk kata kustom untuk digunakan.

string indexFolder = @"c:\MyIndex\";
string documentsFolder = @"c:\MyDocuments\";
  
// Membuat indeks di folder yang ditentukan
Index index = new Index(indexFolder);
  
// Pengindeksan dokumen dari folder yang ditentukan
index.Add(documentsFolder);
 
// Menyetel instance penyedia formulir kata khusus
index.Dictionaries.WordFormsProvider = new SimpleWordFormsProvider();
 
// Membuat instance opsi pencarian
SearchOptions options = new SearchOptions();
options.UseWordFormsSearch = true; // Mengaktifkan pencarian untuk bentuk kata
  
// Mencari di index
SearchResult result = index.Search("relative", options);
  
// Kata-kata berikut dapat ditemukan:
// relatif
// relatifs

Lihat juga