Пример #1
0
    public static SqlString LongPhonetic(SqlInt16 PhoneticType, SqlString InputString)
    {
        BasePhonetics PhoneticObject;

        string _inputString;

        if (InputString.IsNull || InputString.Value.Trim() == String.Empty)
        {
            _inputString = " ";
        }
        else
        {
            _inputString = InputString.Value;
        }

        switch (PhoneticType.Value)
        {
        case 0:
            PhoneticObject = new Soundex(_inputString);
            break;

        case 1:
            PhoneticObject = new RefinedSoundex(_inputString);
            break;

        case 2:
            PhoneticObject = new NYSIIS(_inputString);
            break;

        case 3:
            PhoneticObject = new DaitchMokotoff(_inputString);
            break;

        case 4:
            PhoneticObject = new Metaphone(_inputString);
            break;

        case 6:
            PhoneticObject = new ColognePhonetic(_inputString);
            break;

        default:
            PhoneticObject = new Soundex(_inputString);
            PhoneticType   = 0;
            break;
        }
        PhoneticObject.Iterate();
        return(PhoneticObject.ReadOutput());
    }
Пример #2
0
        private void StringMatchKeyTest(string[] testCases)
        {
            Debug.WriteLine("EditexKey");
            StringPhoneticKeyBuilder keyBuilder = new EditexKey();

            foreach (var name in testCases)
            {
                string key = keyBuilder.BuildKey(name);
                Debug.WriteLine("\t{0} for {1}", key, name);
            }

            Debug.WriteLine("DaitchMokotoff");
            StringPhoneticKeyBuilder keyBuilder2 = new DaitchMokotoff();

            foreach (var name in testCases)
            {
                string key = keyBuilder2.BuildKey(name);
                Debug.WriteLine("\t{0} for {1}", key, name);
            }

            Debug.WriteLine("Phonix");
            StringPhoneticKeyBuilder keyBuilder3 = new Phonix();

            foreach (var name in testCases)
            {
                string key = keyBuilder3.BuildKey(name);
                Debug.WriteLine("\t{0} for {1}", key, name);
            }

            Debug.WriteLine("SoundEx");
            StringPhoneticKeyBuilder keyBuilder4 = new SoundEx();

            foreach (var name in testCases)
            {
                string key = keyBuilder4.BuildKey(name);
                Debug.WriteLine("\t{0} for {1}", key, name);
            }

            Debug.WriteLine("SimpleTextKey");
            StringPhoneticKeyBuilder keyBuilder5 = new SimpleTextKey();

            foreach (var name in testCases)
            {
                string key = keyBuilder5.BuildKey(name);
                Debug.WriteLine("\t{0} for {1}", key, name);
            }

            Debug.WriteLine("Metaphone");
            StringPhoneticKeyBuilder keyBuilder6 = new Metaphone();

            foreach (var name in testCases)
            {
                string key = keyBuilder6.BuildKey(name);
                Debug.WriteLine("\t{0} for {1}", key, name);
            }

            Debug.WriteLine("DoubleMetaphone");
            StringPhoneticKeyBuilder keyBuilder7 = new DoubleMetaphone();

            foreach (var name in testCases)
            {
                string key = keyBuilder7.BuildKey(name);
                Debug.WriteLine("\t{0} for {1}", key, name);
            }
        }