Я реализовал поисковую систему на Java. Он имеет базу данных, в которой хранится инвертированный индекс, т. е. сопоставление терминов со списком документов, в которых термин появляется. Существует функция, которая позволяет пользователю загружать документ, который можно добавить в документ для индексации. Проблема, с которой я сталкиваюсь, заключается в том, что каждый раз, когда добавляется новый документ, индекс восстанавливается в памяти, а не обновляется. Для обновления мне понадобится база данных, в которой хранятся векторы документов, которые по сути являются tf-idf (частота терминов * обратная частота документа) для каждого термина в индексе. Я не могу разработать для него структуру базы данных, так как для хранения такой структуры потребуются строки и столбцы или несколько таблиц.
мне нужно хранить
1. Document ID
2. Document Title
3. N dimensional Document vector where N is the number of unique terms
4. N terms
5. IDF of each term
6. TF of each term for every document.
Мне это нужно, чтобы во время сопоставления запроса я мог извлечь этот вектор и вычислить его сходство с вектором запроса. Если вам нужна дополнительная информация, пожалуйста, дайте мне знать. Большое спасибо, я уверен, что здесь мне помогут.