ID (현재는 행 번호)로 1,000 만 개의 제목을 색인화하려고하는데 제목이 토큰 화 된 후에 저장됩니다. 데이터 구조는 <String, Arraylist<Integer>>.
과 같아야합니다. 문자열은 토큰을 나타내고, 정수는 행 번호를 나타냅니다.B- 트리를 사용하여 <String, Arraylist <Integer>>
가능한 한 RDBMS를 사용하지 않는 Java, 영구 메모리를 사용하여이 도구를 빌드해야합니다. 이 데이터 구조가 변경 가능하기 때문에 BTree 또는 다른 영구 데이터 구조를 사용하여 인덱싱 할 구조>로 MultiMaps를 지원하는 도구를 찾을 수 없습니다.
나는 MapDB을 시도,하지만 내 경우에는 (ArrayList에)어떤 생각이 될것이다을 적용하지 않는, 불변 받아졌다.
어떤 [구아바 Multimap과 내지 약 (http://guava-libraries.googlecode.com/svn/tags/release03/javadoc/com/google/common/collect/Multimap. HTML)? –
Guava Multimap이 메모리 내장 스토리지 인 것 같습니다. – EurikaIam
"지속적 메모리"- 잠깐만, 데이터를 메모리에 저장 하시겠습니까? 아니면 영구 저장 하시겠습니까? (즉, 디스크에 저장됩니다.) 메모리에있는 경우, 단지'HashMap'을 사용하십시오. 디스크에 있다면 BTree가 올바른 선택이지만, RDBMS가 아닌 라이브러리를 얻을 수 있을지는 의문입니다. ("BTrees를 디스크에 쓰는 것"으로 보는 것은 RDBMS에 대한 좋은 설명입니다.) – millimoose