Рассматривается задача полнотекстового поиска с учетом близости в больших текстовых массивах. Пользователь вводит несколько слов в качестве поискового запроса. В результате поиска формируется список
документов, содержащих заданные слова. В современных поисковых системах, документы, в которых
слова поискового запроса встречаются вблизи, считаются более релевантными. Рассматриваемая задача
требует сохранения в индексе информации о каждом вхождении каждого слова в индексируемых текстах.
Скорость выполнения поискового запроса зависит от числа вхождений слов запроса в текстах. Следовательно, запросы, включающие часто встречающиеся слова, выполняются существенно медленнее, чем
запросы, состоящие из обычных слов. Для каждого слова текста сохраняем в индексах информацию
о часто встречающихся словах, которые располагаются в тексте рядом с ним, на расстоянии не более
M axDistance. Данный параметр может принимать значения 5, 7 и даже больше. Применение индексов
с трехкомпонентными ключами позволяет добиться быстрого выполнения поисковых запросов. Результаты экспериментов поиска, представленные автором ранее, показывают, что среднее время поискового
запроса, состоящего из очень часто встречающихся слов, при применении индексов с трехкомпонентными ключами, меньше в 94.7 раза, чем среднее время поиска с использованием обычных инвертированных
индексов. В текущей работе рассмотрен новый алгоритм создания индекса с трехкомпонентными ключами. Доказана корректность алгоритма. Представлены результаты экспериментов построения индексов
для разных значений параметра M axDistance.