SimilarityLevel

SimilarityLevel class

Представляет собой алгоритм нечеткого поиска, задающий уровень сходства. Алгоритм уровня сходства вычисляет максимальное количество ошибок для слова как обратно пропорциональное длине слова.

public class SimilarityLevel : FuzzyAlgorithm

Конструкторы

Имя Описание
SimilarityLevel(double) Инициализирует новый экземплярSimilarityLevel класс.

Методы

Имя Описание
override GetMaxMistakeCount(int) Получает максимально допустимое количество ошибок для указанной длины термина.
override GetSimilarityLevel(int) Получает значение уровня сходства для указанной длины термина.

Примечания

Узнать больше

Примеры

Пример демонстрирует типичное использование класса.

string indexFolder = @"c:\MyIndex\";
string documentsFolder = @"c:\MyDocuments\";
string query = "Einstein";

Index index = new Index(indexFolder); // Создание индекса в указанной папке
index.Add(documentsFolder); // Индексация документов из указанной папки

SearchOptions options = new SearchOptions();
options.FuzzySearch.Enabled = true; // Включение нечеткого поиска
options.FuzzySearch.FuzzyAlgorithm = new SimilarityLevel(0.8); // Создание алгоритма нечеткого поиска
// Эта функция задает 0 как максимальное количество ошибок для слов от 1 до 4 символов.
// Он указывает 1 как максимальное количество ошибок для слов от 5 до 9 символов.
// Он указывает 2 как максимальное количество ошибок для слов от 10 до 14 символов. И так далее.

SearchResult result = index.Search(query, options); // Поиск по индексу

Смотрите также