У меня есть следующая схема данных в БД mongo, которая содержит корпус документов.
У меня есть 2 следующие коллекции:
- Словарная коллекция, которая также включает в себя списокДокументы, где слово появляется.Это сделано для того, чтобы вы могли легко фильтровать совокупность текстов по выбору слов (на основе частоты, стоп-слов и т. Д.)
Словарь выглядит так:
{
"_id" : "executive",
"key" : 1,
"doc_ids" : {
"108" : {},
"109" : {},
"110" : {},
"111" : {},
"112" : {},
"115" : {},...
},...
- Коллекция документов хранится в виде пакета слов (каждое слово представлено в виде ключа: частотный кортеж)
Документ будет выглядеть так:
{
"_id" : 108,
"doc" : [
[
1,
1
],
[
2,
1
],
[
3,
1
],...
}
ПервоначальноЯ начал хранить список документов в коллекции словаря в виде таблицы, но, как указано в некоторых сообщениях (например, здесь ), растущие массивы дороги.Для меня это так, поскольку каждый раз, когда я обрабатываю новый документ, я добавляю его идентификатор к существующим словам в моем словаре.Вот почему я заменил этот массив вложенными пустыми вложенными документами.
Проблема в том, что он не повышает производительность при обновлении существующих слов.
Есть ли другой способ структурировать мои данные, чтобы обойти эту проблему?
Спасибо