'file format'에 해당되는 글 1건

  1. 2013.05.16 [Lucene] Apache Lucene - Index File Formats (발번역)

[Lucene] Apache Lucene - Index File Formats (발번역)

Elastic/Elasticsearch 2013. 5. 16. 13:34

 

원문 : http://lucene.apache.org/core/4_3_0/core/org/apache/lucene/codecs/lucene42/package-summary.html#Overview

--> Upgrade : lucene.apache.org/core/8_8_2/core/org/apache/lucene/codecs/lucene87/package-summary.html#package.description

Definitions

 

루씬의 기본 개념은 인덱스, 문서, 필드, 용어(색인어)라고 볼수 있습니다.

인덱스는 문서들의 순서를 포함합니다..

 

문서는 필드들의 집합.

 

필드는 용어들의 집합

 

용어(색인어)는 바이트의 집합.

 

두개의 다른 필드에 동일한 바이트의 순서는 다른 용어(색인어)로 간주됩니다. 

 

용어(색인어)는 문자이름을 가진 필드와 바이트를 포함한 필드의 쌍으로 구성됩니다.

 

 

Inverted Indexing

 

인덱스는 효율적인 색인어 기반의 검색을 생성하기 위하여 색인어에 대한 통계를 저장 합니다.

 

루씬의 인덱스는 인덱스로 알려진 인덱스류로 구분되며, 색인어를 포함하는 문서를 나열 있기 때문 입니다.

 

친자연적 관계의 이라는 것은 문서 목록 색인어를 의미 합니다.

 

 

Types of Fields

 

루씬에서 필드들은 (필드 텍스트가 그대로 인덱스에 저장되어질 경우)비반전 방식으로 저장 있습니다.

 

반전된 필드들을 인덱스라고 부릅니다.

 

필드는 저장과 색인  있습니다.

 

필드의 텍스트들은 색인되기 위해 색인어로 토큰화 있으며, 또는 색인되기 위해 그대로 사용 수도 있습니다.

 

대부분의 필드들은 토근화 됩니다. 그러나 때때로 어떤 식별자 필드들로 그대로 인덱스화하는 것이 유용하기도 하다.

 

 

 

Segments

 

루씬 인덱스들은 여러 하위 인덱스와 세그멘트들로 구성될  있으며,  세그멘트들은 완전 독립된 인덱스로 따로 따로 검색 있습니다.

 

인덱스에 의한 진화:

 

새로운 문서가 추가 되는 동안 신규 세그멘트가 생성하고.

 

기존 세그멘트들을 머지 합니다.

 

검색은 여러 세그멘트들과 인덱스들을 포함할 있습니다. 개별 인덱스 들은 잠재적으로 세그멘트의 집합으로 구성 되어 집니다.

 

 

 

Document Numbers

 

내부적으로 루씬은 정수형 문서번호에 의한 문서와 관련이 있습니다첫번째 문서는 0번을 가지고 인덱스에 추가 됩니다. 이후 문서들은 이전 보다 숫자 1 값을 가지고 추가 됩니다.

 

 

문서의 번호는 루씬 외부에서 저장할때 변경 있으니 주의 해야 합니다.

 

특히 문서번호는 다음과 같은 상황에서 변경  있습니다.

 

세그먼트에 저장된 번호들은 세그먼트 내에서 고유합니다. 그리고 맥락에서 사용되기 전에 변환해야 합니다.

 

표준 기술은 세그먼트에서 사용된 번호들의 범위를 기반으로 값의 범위를 세그먼트에 할당 하게 됩니다.

 

세그먼트에서 외부 값으로 문서 번호를 변환 하기 위해서는 세그먼트의 기본 문서번호가 추가 됩니다.

 

세그먼트의 특정 값으로 다시 외부값을 변환 하려면, 세그먼트는 외부값의 범위에 의해서 식별 되어지고, 세그먼트의 기본 값은 빠집니다.

 

 

 

문서가 삭제 될때 문서번호 간격은 번호로 만들어집니다. 인덱스 병합을 통합으로서 결국 삭제 됩니다. 삭제 문서들은 세그먼트가 병합될때 삭제 됩니다. 새로 병합된 세그먼트들은 번호의 차이가 없습니다.

 

 

Index Structure Overview

 

세그먼트 인덱스 유지보수는 다음과 같습니다.

 

- 세그먼트 정보. 문서의 번호나 어떤 파일을 사용지와 같은 세그먼트의 메타정보를 포함 합니다.

 

- 인덱스에서 사용하는 필드 이름의 집합을 포함합니다.

 

저장된 필드 . 문서에 대한 속성들은 필드 이름이고 속성- 목록을 포함 합니다. 이것들은 문서에 대한 보조정보를 저장하기 위한 타이틀이나 URL 또는 데이터베이스에 접근하기 위한 식별자로 사용됩니다. 저장된 필드의 집합들은 검색 매칭된 개별로 반환 되어집니다. 반환된 값은 문서 번호에 의한 키입니다.

 

용어 사전. 색인된 모든 필드 문서에 들어 있는 색인어(용어) 포함 하고 있습니다.

 

또한 사전은 색인어의 빈도와 근접 데이터의 포인터 그리고 용어를 포함하는 문서들의 번호를 포함 합니다.

 

색인어(용어) 빈도 데이터. 사전에서 용어를 위해, 문서 빈도 설정을 생략 하지 않는 다면 모든 문서와 문서 번호에서 용어를 포함 합니다.

 

용어 근접데이터. 사전에서 용어를 위해, 문서에서 발생한 용어의 위치, 생략 근접데이터 정보는 존재 하지 않습니다.

 

정규화 요소. 문서의 개별 필드를 위한 값이 히트 필드에 점수로 곱해져서 저장 됩니다.

 

용어 벡터. 문서의 개별 필드에 대해, 용어벡터(문서벡터) 저장 됩니다. 용어벡터는 용어 텍스트와 용어 빈도로 구성됩니다.

 

문서 . 저장된 값과 같이 또한 문서 번호에 의해 구분 되어지며, 일반적으로 빠른 액세스를위한 메인 메모리에로드 것입니다. 저장된 값은 일반적으로 검색의 요약 결과를 구성하는 반면, 문서 값은 점수 요소 같은 것들에 유용합니다.

 

삭제된 문서. 문서 삭제 삭제 표시 옵션 입니다.

 

 

 

File Naming

모든 파일은 세그먼트에 속하며 다양한 확장자에  같은 이름을 갖습니다.

 

비록 이것이 필수 사항은 아니지만 전형적으로 인덱스의 모든 세그멘트는 단일 디렉토리에 저장됩니다.

 

버전 2.1 부터 파일 이름은 절대 재사용하지 않습니다. (segments.gen)

 

순차적인 long integer 생성 합니다.

 

 

 

Summary of File Extensions

 Name

Extension

Brief Description 

 Segments File

 segments.gen, segments_N

 커밋 포인트에 대한 정보를 저장

 Lock File

 write.lock

 write.lock  동일한 파일에 여러 IndexWriter  쓰는 것을 방지

 Segment Info

 .si

 세그먼트에 대한 메타정보를 저장

 Compound File

 .cfs, .cfe

 부가적인 가상 파일은 빈번한 파일 처리가 어려운 시스템을 위해 다른 모든 인덱스 파일을 구성한다.

 Fields

 .fnm

 필드에 대한 정보를 저장

 Field Index

 .fdx

 필드 데이터의 포인터를 포함

 Field Data

 .fdt

 문서를 위한 필드를 저장

 Term Dictionary

 .tim

 용어사전으로 용어 정보를 저장

 Term Index

 .tip

 용어 사전에서의 인덱스

 Frequencies  .doc  개별 용어사이의 빈도를 포함하고 있는 문서들의 목록을 포함
 Positions  .pos  인덱스에서 용어가 발생한 위치 정보를 저장
 Payloads  .pay  개별 위치 메타데이터 정보를 추가적으로 저장 한다. 예를 들어 문자 오프셋  사용자 페이로드를 저장한다. (색인 하는 동안 발생한 모든 용어에 대한 위치를 저장)
 Norms  .nvd, .nvm  문서와 필드에 대한 부스트 요소와 길이를 표현
 Per-Document Values  .dvd, .dvm  추가적인 스코어 요소나 개별 문서의 정보를 표현
 Term Vector Index   .tvx  문서데이터 파일에서의 오프셋 정보를 저장
 Term Vector Data (Documents)  .tvd  개별 문서들이 가지고 있는 term vector 정보를 포함
 Term Vector Fields  .tvf  term vector  대한 레벨 정보 필드
 Deleted Documents   .del
 삭제된 파일에 대한 정보
 Live Documents .liv   Segment 파일에 삭제 된 정보가 있는 경우에 생성 됩니다.
Point Values .dii, .dim 색인 된 포인트 정보를 가집니다.

 

 

: