Я работаю над программой изучения языка. Программа отслеживает слова, которые, по ее мнению, знает пользователь, и я хочу добавить функцию, в которой я показываю предложения пользователей, которые они должны читать.
У меня большой набор данных токенизированных предложений, но я Я пытаюсь придумать правильную структуру данных, чтобы сделать фильтрацию этого списка достаточно быстрой. Моим первым проходом было повторение всего этого каждый раз, когда пользователь изучает новое слово, но это оказывается слишком медленным, тем более что пользователь часто выучивает несколько слов во время сеанса. Кроме того, список предложений со временем изменяется, так как пользователь добавляет собственные предложения или моя глобальная база данных предложений имеет добавленные / удаленные / обновленные предложения.
Какая хорошая структура данных для быстрого поиска поддерживая динамический c характер данных? То есть, учитывая набор слов, которые знает пользователь, и целую тонну токенизированных и, возможно, дополнительных предварительно обработанных предложений, я хочу быстро найти предложения, в которых пользователь сможет прочитать все слова.