Я собираюсь индексировать 10 миллионов названий с их идентификаторами (теперь их номера строк), титры будут сохранены после их токенизации. Структура данных должна быть чем-то вроде <String, Arraylist<Integer>>.
Строки будут представлять токены, целые числа будут представлять номера строк.Индексирование <String, Arraylist <Integer>> с использованием B-Tree
Мне нужно создать этот инструмент, используя: Java, постоянную память, не используя СУРБД, насколько это возможно. Поскольку эта структура данных изменчива, я не смог найти какие-либо инструменты, поддерживающие MultiMaps, со структурой>, которая будет проиндексирована с использованием BTree или любых других постоянных структур данных.
Я попытался MapDB, но оказалось только принять неизменное, что в моем случае не применяется (Список_массивов)
Любые мысли приветствуются.
насчет [Гуава Multimap] (http://guava-libraries.googlecode.com/svn/tags/release03/javadoc/com/google/common/collect/Multimap. HTML)? –
Guava Multimap, похоже, находится в памяти. – EurikaIam
«Постоянная память» - подождите, так что вы хотите, чтобы данные были в памяти, или вы хотите, чтобы она была постоянной? (I.e. хранится на диске.) Если в памяти, просто используйте 'HashMap'. Если на диске, то BTree - правильный выбор, но я сомневаюсь, что вы получите хорошую библиотеку для этого, а не для РСУБД. (Увидев, что «что-то, что пишет BTrees на диск», является хорошим описанием кишок RDBMS.) – millimoose