Поиск слов, содержащих заданные буквы
Поиск осуществляется на основе русского и
английского морфологического словаря
Чтобы сбор слов, содержащих заданные буквы, не
потребовал значительных ресурсов веб-сервера,
был создан специальный поисковый индекс. В
результате экспериментов был реализован
следующий алгоритм:
При поиске заданный набор букв преобразуется в нижний регистр и сортируется по алфавиту. Полученная строка ищется в соответствующем индексе. Для всех записей, совпадающих с поисковой строкой по первым двум или трём буквам, выполняются проверки остальных условий поиска. За счет разбиения на диграммы и триграммы количество просматриваемых записей обычно не превышает нескольких тысяч и выполняется сравнительно быстро.
Построенные таким образом индексы для русского и английского языка содержат около 120.000.000 записей и имеют объем 2.5 гигабайта.
Данный поисковый режим задуман и реализован на конференции Диалог-2001