# Packages
# README
Cервис "Мини-поисковик по базе текстов"
Принцип работы
Есть две таблички в базе данных, в одной лежат сами документы (так называемый "прямой индекс", первичный ключ – ID документа), в другой слова из этих документов (так называемый "обратный индекс", первичный ключ – слово). Каждое слово сопровождается информацией о том в каком документе оно встречается и на какой позиции. При добавлении нового документа происходит обновление обоих этих табличек. При выполнении запроса происходит разбор запроса на слова, по каждому слову выполняем запрос к БД к таблице с "обратным индексом" и получаем информацию о том в каких документах это слово встречается. Нам необходимо вернуть только те документы, в которых встречаются все слова из запроса, поэтому формируем пересечение множеств документов всех слов из запроса. В результате возвращаем список из названия документа и контекста, в котором встретилось слово/слова в документе. Для определения контекста позицию слова в тексте в момент запроса НЕ вычисляем, а берем из таблицы с "обратным индексом".