Тип подмотки к слову. ESldWordSearchTypeEnum
Значения типа подмотки определяют требования к результату подмотки CSldDictionary::FindWordBySpecificRule, при которых она будет считаться удачной:
- точное совпадение текста каждого из требуемых вариантов написания (eFullBinaryMatch)
- точное совпадение текста только Show варианта, значения остальных вариантов игнорируются (eShowVariantBinaryMatch)
- наиболее близкий по расстоянию редактирования Show вариант, остальные игнорируются (eShowVariantFuzzyMatch)
- совпадение всех запрашиваемых вариантов по массе, т.е. при сравнении на основе данных таблицы сортировки (eFullMassMatch)
- наиболее близкое по расстоянию редактирования вхождение Show-варианта на текущем уровне – deprecated (eClosestShowOnCurrentLevel)
/// Типы поиска слова (подмотки к слову) по переданным вариантам написания
enum ESldWordSearchTypeEnum
{
/// бинарное совпадение всех переданных вариантов
eFullBinaryMatch = 0,
/// бинарное совпадение Show-варианта
eShowVariantBinaryMatch,
/// наиболее подходящий по расстоянию редактирования Show-вариант
eShowVariantFuzzyMatch,
/// совпадение всех переданных вариантов по массе
eFullMassMatch,
/// ближайшее вхождение Show-варианта на текущем уровне
eClosestShowOnCurrentLevel
};
Границы поиска. ESldSearchRange
Задает режим c допустимыми в данном списке слов границами поиска:
- обычный, на усмотрение поисковых функций (eSearchRangeDefault)
- поиск по всем уровням списка (“FullRecursive”, eSearchRangeFullRecursive)
- поиск только на корневом уровне списка, вложенные папки не учитываются (“Root”, eSearchRangeRoot)
- поиск только на текущем уровне, т.е. зависит от текущего состояния навигация по иерархии; вложенные папки не учитываются (“CurrentLevel”, eSearchRangeCurrentLevel)
- поиск по текущему уровню и вложенным папкам (“CurrentLevelRecursive;”, eSearchRangeCurrentLevelRecursive)
/// Определяет, на каких уровнях каталога будет производиться поиск
enum ESldSearchRange
{
// Уровни определяются автоматически(на случай, если выведем данную функцию в интерфейс)
eSearchRangeDefault = 0,
// Поиск по всему списку
eSearchRangeFullRecursive,
// Поиск на корневом уровне
eSearchRangeRoot,
// Поиск на текущем уровне
eSearchRangeCurrentLevel,
// Поиск на текущем уровне и всех его подуровнях
eSearchRangeCurrentLevelRecursive,
};
Состояние поиска по preset-ам FTS. EDictionaryForSearchResultType
Актуально DictionaryForSearch для и CSldDictionaryHelper::SearchByDictionaryForSearchList – определяет успешность поиска и тип попавших в результаты слов:
- результаты поиска выбраны по точному совпадению запроса с одним из preset-ов (записей в DictionaryForSearch) (eDictionaryForSearchResultNormal)
- результаты взяты из preset-а поиска, который был найден либо поиском по шаблону (если поисковый запрос содержал wildcard символы), либо поиском опечаток (eDictionaryForSearchResultRequest)
- поиск не дал результатов (eDictionaryForSearchResultNone)
enum EDictionaryForSearchResultType
{
/// Список с результатами поиска
eDictionaryForSearchResultNormal = 0,
/// Список исправленных (опечатки, поиск по шаблону) запросов
eDictionaryForSearchResultRequest,
/// Пустой список
eDictionaryForSearchResultNone
};