Я работаю над проектом по поиску информации. Я сделал полный инвертированный индекс с помощью Hadoop / Python. Hadoop выводит индекс в виде пар (слово, список документов), которые записываются в файл. Для быстрого доступа я создал словарь (хеш-таблицу), используя указанный выше файл. У меня вопрос, как мне сохранить такой индекс на диске, который также имеет быстрое время доступа. В настоящее время я храню словарь, используя модуль рассола python и загружаю из него, но он сразу переносит весь индекс в память (или нет?). Пожалуйста, предложите эффективный способ хранения и поиска по индексу.
Моя структура словаря выглядит следующим образом (с использованием вложенных словарей)
{слово: {документ1: [местоположения], документ2: [местоположения], ....}}
так что я могу получить документы, содержащие слово, по словарю [word].keys() ... и так далее.