2011-09-11 9 views
0

Oracle 11g를 백엔드로 사용하는 응용 프로그램. 서로 다른 테이블에 여러 개의 BLOB 컬럼이 있습니다. 이 열을 사용하여 .Doc, .excel 등의 파일을 저장합니다. 첫 번째 질문은 BLOB로 저장하는 것이 전체 텍스트 검색을 지원하는지 여부입니다.Oracle 11g에서 블로깅 관리

두 번째 질문은 모든 BLOB 데이터를 저장하는 단일 테이블을 유지하고 문서를 검색하는 데 사용할 수있는 단일 텍스트 인덱스를 만들지 여부입니다. 다른 테이블 열과 별도의 전체 텍스트 검색 인덱스에 보관하는 것보다 낫지 않습니까? 모든 파일을 단일 테이블에 보관하면 전 체 텍스트 검색에서 행 그룹을 계산해야합니까?

답변

0

예. 문서를 BLOB 열에 저장 한 다음 Oracle Text로 색인화 할 수 있습니다 (manual 참조).

여러 개의 BLOB 열이 지원되는지는 확실하지 않습니다. (여러 개의 텍스트 열은 괜찮지 만 직접 사용했습니다).

다른 테이블에 단일 텍스트 인덱스를 갖는 것이 더 어려울 수 있습니다. 이것은 실제로 모든 문서를 단일 테이블로 병합해야한다는 두 번째 질문에 대한 대답 일 수 있습니다.

Oracle Text를 사용하면 텍스트 색인이 테이블의 추가 색인 일 뿐인 것처럼 보입니다. 그러나 텍스트 색인은 Oracle이 자동으로 작성하는 몇 가지 추가 표로 구성됩니다. 너는 그것을 바꿀 수 없다.

+0

첫 번째 질문이 명확 해졌으며 오라클 워드 프로세서에서도 읽었습니다. 감사합니다. 그러나 두 번째 질문에서 'MULTI_COLUMN_DATASTORE'에 대한 정보를 보았습니다. 토론 중 하나에서는 여러 테이블의 여러 텍스트 열을 서로 다른 테이블에 결합하고 단일 텍스트 인덱스를 만들 수 있습니다. 아이디어 있어요? – saravana

+0

텍스트 만 들어있는 열에 성공적으로 MULTI_COLUMN_DATASTORE를 사용했습니다. 그러나 오라클이 (문서에 따라) 열을 연결하기 때문에 특수 형식에 대해서는 실제로 작동하지 않는다고 생각합니다. 그러면 Word 나 Excel과 같은 형식의 무결성이 파괴됩니다. 그러나 확실한 테스트가 표시됩니다. 가장 쉬운 방법은 모든 BLOB 데이터를 단일 테이블의 단일 열에 병합 한 다음 Oracle Text로 인덱스하는 것입니다. – Codo

+0

BLOB 컬럼에 대해 하나의 인덱스를 생성하는 경우 공유 위치의 FileSystem에 저장된 테이블 및 파일 내에 저장된 파일을 인덱싱하는 데 유용합니다. FileName과 경로를 다른 열에 테이블에 저장합니다. – saravana

관련 문제