cpp
2022

Осень

  • Проект «Full-text search»
  • 1. Создание проекта CMake
  • 2. Парсер текста
  • 3. Индексатор
  • 4. Поиск и ранжирование
  • 5. Поиск по базе книг
  • 6. FFI
  • 7. Бинарный индекс
  • Вопросы к зачету и экзамену
  • Code Style
  • Литература

Весна

  • Репозиторий и требования к ЛР
  • 1. Перегрузка операторов
  • 2. Контейнеры и алгоритмы STL
  • 3. Умные указатели
  • 4. Итераторы
  • Дополнительно: частотный словарь
  • РГР
cpp

Проект «Full-text search»

Ваша задача — в течение семестра реализовать систему полнотекстового поиска.

В качестве источника документов будем использовать базу книг: books.csv.

Проект должен состоять из следующих компонентов:

  • Ядро. Библиотека или несколько библиотек на языке С++, в которых реализована индексация, поиск и ранжирование документов.

  • Консольные утилиты для использования библиотеки (С++).

  • Обертка на языке С для кроссязыкового использования библиотеки.

  • Клиент для поиска, написанный на высокоуровневом языке программирования на ваш выбор: Python, Go, PHP, Java, … При выборе найдите инструменты для вызова функций, написанных на C. Ключевое слово для поиска: FFI.

  • Вся функциональность должна быть покрыта unit-тестами.

При разработке проекта:

  • Код пишется на C++17.

  • Используется система сборки CMake.

  • Исходники хранятся в git-репозитории. Процесс ведется с соблюдением A simple git branching model .

  • Код автоматически форматируется с помощью clang-format.

  • При сборке код проходит проверки clang-tidy.

Демо:

  • Выдача перестраивается при уточнении запроса.

  • Поиск способен обрабатывать запросы с опечатками.

Предыдущая Следующая

© Copyright 2021–2022, Evgeny Pimenov. Ревизия eb7a5f54.

Собрано при помощи Sphinx с использованием темы, предоставленной Read the Docs.