2009-10-15 4 views
1

큰 반전 된 색인을 약 10 개의 용어로 만들고 싶습니다. 어떤 방법을 제안 하시겠습니까? 나는 도쿄의 캐비닛, voldemort 등의 빠른 바이너리 키 스토어 DB에서 생각하고있다. 편집 : 나는 반전 된 인덱스를 나타내는 두 개의 정수 테이블을 저장하기 위해 과거에 MySQL을 시도했지만 첫 번째 열 db 인덱스, 쿼리가 매우 느립니다. 나는 SQL 데이터베이스가 트랜잭션, 쿼리 파싱 등의 오버 헤드와 오버 헤드를 너무 많이 겪고 있다고 생각합니다. 응답 시간과 성능이 좋은 기술이나 알고리즘 방식을 탐색하고 있습니다. 연구 목적으로 내 솔루션을 선보이고 있습니다.큰 반전 된 색인을 만드는 방법

+0

일부 응용 프로그램 세부 정보를 제공 할 수 있습니까? Lucene이나 Sphinx와 같은 오픈 소스 FTS 애플리케이션을 사용 해본 적이 있습니까? –

+0

나는 내 자신의 시스템을 압연하고있다. – piotr

+0

AFAIK, Voldemort와 같은 것을 사용하면 사전에 색인을 생성하지 않으면 단어 조합이 포함 된 텍스트를 검색 할 수 없습니다. IR에서 이것은 매우 기본적인 작업이기 때문에이 설계 결정을 신중하게 고려하십시오. –

답변

3

질문은 다소 모호합니다. 그래서 나는 줄 수있는 유일한 답은 PostgreSQL에서 "일반화 된 역 색인"(GIN index)을 사용하여 원하는 역 색인의 종류를 생성하는 것입니다. 모든 고된 작업은 충돌 안전을 위해 write-ahead 로그를 사용하고, 성능을 위해 내부적으로 btree 구조를 사용하며, 성숙한 데이터베이스 관리 시스템의 일부입니다.

문제가 전체 텍스트 검색 인 경우 postgresql의 full-text search은 이미 사용자를 위해 구축되었으며 내부적으로 GIN을 사용할 수 있습니다.

0

예, 지금 당장은 기본적으로 가장 뛰어난 인덱서 인 색인 생성을 위해 Lucene을 고려하십시오. 사실 나는 현재 이미지 데이터베이스를 인덱싱하는 것을 고려 중이다. "기본"언어는 Java이지만 C++의 경우 CLucene, python의 경우 PyLucene과 같이 다른 언어로 포팅되었습니다.

빠른 자습서는 here에서 찾을 수 있습니다.

관련 문제