TIKA-아키텍처
Tika의 애플리케이션 레벨 아키텍처
응용 프로그램 프로그래머는 Tika를 응용 프로그램에 쉽게 통합 할 수 있습니다. Tika는 사용자 친화적 인 명령 줄 인터페이스와 GUI를 제공합니다.
이 장에서는 Tika 아키텍처를 구성하는 4 가지 중요한 모듈에 대해 설명합니다. 다음 그림은 4 개의 모듈과 함께 Tika의 아키텍처를 보여줍니다.
- 언어 감지 메커니즘.
- MIME 감지 메커니즘.
- 파서 인터페이스.
- Tika Facade 클래스.
언어 감지 메커니즘
텍스트 문서가 Tika에 전달 될 때마다 작성된 언어를 감지합니다. 언어 주석이없는 문서를 받아들이고 언어를 감지하여 문서의 메타 데이터에 해당 정보를 추가합니다.
언어 식별을 지원하기 위해 Tika에는 Language Identifier 패키지에 org.apache.tika.language, 그리고 주어진 텍스트에서 언어 감지를위한 알고리즘을 포함하는 언어 식별 저장소. Tika는 언어 감지를 위해 내부적으로 N-gram 알고리즘을 사용합니다.
MIME 감지 메커니즘
Tika는 MIME 표준에 따라 문서 유형을 감지 할 수 있습니다. Tika의 기본 MIME 유형 감지는 org.apache.tika.mime.mimeTypes를 사용하여 수행됩니다 . 대부분의 콘텐츠 유형 감지에 org.apache.tika.detect.Detector 인터페이스를 사용합니다 .
내부적으로 Tika는 파일 글롭, 콘텐츠 유형 힌트, 매직 바이트, 문자 인코딩 및 기타 여러 기술과 같은 여러 기술을 사용합니다.
파서 인터페이스
org.apache.tika.parser의 파서 인터페이스는 Tika에서 문서를 파싱하기위한 핵심 인터페이스입니다. 이 인터페이스는 문서에서 텍스트와 메타 데이터를 추출하고 파서 플러그인을 작성하려는 외부 사용자를 위해 요약합니다.
개별 문서 유형에 따라 다른 구체적인 파서 클래스를 사용하여 Tika는 많은 문서 형식을 지원합니다. 이러한 형식 별 클래스는 파서 논리를 직접 구현하거나 외부 파서 라이브러리를 사용하여 다양한 문서 형식을 지원합니다.
티카 파사드 클래스
Tika 파사드 클래스를 사용하는 것은 자바에서 Tika를 호출하는 가장 간단하고 직접적인 방법이며 파사드 디자인 패턴을 따릅니다. Tika API의 org.apache.tika 패키지에서 Tika 파사드 클래스를 찾을 수 있습니다.
기본 사용 사례를 구현함으로써 Tika는 풍경의 중개인 역할을합니다. MIME 감지 메커니즘, 파서 인터페이스 및 언어 감지 메커니즘과 같은 Tika 라이브러리의 기본 복잡성을 추상화하고 사용자에게 사용하기위한 간단한 인터페이스를 제공합니다.
Tika의 특징
Unified parser Interface− Tika는 단일 파서 인터페이스 내에서 모든 타사 파서 라이브러리를 캡슐화합니다. 이 기능으로 인해 사용자는 적절한 파서 라이브러리를 선택하는 부담에서 벗어나 발생한 파일 유형에 따라 사용합니다.
Low memory usage− Tika는 메모리 리소스를 적게 사용하므로 Java 애플리케이션에 쉽게 포함 할 수 있습니다. 모바일 PDA와 같은 리소스가 적은 플랫폼에서 실행되는 애플리케이션 내에서 Tika를 사용할 수도 있습니다.
Fast processing − 빠른 콘텐츠 감지 및 애플리케이션 추출을 기대할 수 있습니다.
Flexible metadata − Tika는 파일을 설명하는 데 사용되는 모든 메타 데이터 모델을 이해합니다.
Parser integration − Tika는 단일 애플리케이션에서 각 문서 유형에 사용할 수있는 다양한 파서 라이브러리를 사용할 수 있습니다.
MIME type detection − Tika는 MIME 표준에 포함 된 모든 미디어 유형에서 콘텐츠를 감지하고 추출 할 수 있습니다.
Language detection − Tika에는 언어 식별 기능이 포함되어 있으므로 다국어 웹 사이트의 언어 유형에 따라 문서에서 사용할 수 있습니다.
Tika의 기능
Tika는 다양한 기능을 지원합니다-
- 문서 유형 감지
- 콘텐츠 추출
- 메타 데이터 추출
- 언어 감지
문서 유형 감지
Tika는 다양한 감지 기술을 사용하고 주어진 문서의 유형을 감지합니다.
콘텐츠 추출
Tika에는 다양한 문서 형식의 내용을 구문 분석하고 추출 할 수있는 파서 라이브러리가 있습니다. 문서 유형을 감지 한 후 파서 저장소에서 적절한 파서를 선택하고 문서를 전달합니다. 다양한 Tika 클래스에는 다양한 문서 형식을 구문 분석하는 방법이 있습니다.
메타 데이터 추출
콘텐츠와 함께 Tika는 콘텐츠 추출과 동일한 절차로 문서의 메타 데이터를 추출합니다. 일부 문서 유형의 경우 Tika에는 메타 데이터를 추출하는 클래스가 있습니다.
언어 감지
내부적으로 Tika는 다음과 같은 알고리즘을 따릅니다. n-gram주어진 문서에서 콘텐츠의 언어를 감지합니다. Tika는 다음과 같은 수업에 의존합니다.Languageidentifier 과 Profiler 언어 식별을 위해.