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