2011-01-03 4 views
0

거대한 단어 (~ 50MB)가있는 텍스트 파일이 있습니다. 이 파일 내용에 대한 색인을 작성하려면 어떤 데이터 구조가 가장 적합합니까?텍스트 파일 내용에 대한 색인 구현

또는 어떤 데이터 구조를 사용하여 검색하는 동안 최상의 결과를 얻을 수 있습니까? 사전에

감사

Jijoy

+1

파일 구조에 대한 세부 정보를 제공하고 무엇을 검색하려고하는지 일반적으로 도움이됩니다 ... –

+0

왜 데이터를 데이터베이스에 저장하고 가장 빠른 검색 결과를 위해 데이터를 구성 할 수 없습니까? (즉, 데이터를 검색 할 기준에 대한 인덱스)? –

답변

4

데이터가 단어 사전 인 경우 Trie이 적합합니다. 당신은 단지 메모리 반전 지수는 다음 해시 테이블 가장 수 있습니다 원하는 경우

http://en.wikipedia.org/wiki/Suffix_array

: 당신이 전체 텍스트 인덱싱을 찾는 경우

0

A B + 트리가 큰 단어의 목록은 피보나치 나무에게 시험을 줄 수는 간단하지만, 당신은 테이블처럼 생각한다면 매우 효율적인 것 .

0

후 접미사 배열은 좋은 선택이 될 것입니다.

2

당신은 컷오프 수 [루씬] 같은 일부 라이브러리를 사용하는 알고리즘을 데이터 구조를 사용하여 기입의 오버 헤드를 [1]

[1] : http://lucene.apache.org/. 내가 옳은지 여부를 잘 모르겠지만 Java에서 파일에 대한 색인을 만들어야하고 이러한 색인을 사용하여 검색 작업을 수행해야하는 경우 lucene의 사용법은 공정한 것으로 간주됩니다.

+0

Lucene은 나에게 비슷한 문제를 해결했습니다. !!! –