본문 바로가기

Title 필드에 test란 데이터를 색인시 6개 파일에 어떻게 저장될까? fnm, fdx, fdt 이 세개 파일엔 특별한 알고리즘이 없다. 필드를 저장할때 제일 앞에 필드 갯수 그리고 그 다음엔 필드 길이 필드 데이터 순으로 저장한다. 따라서 별도로 공부할 필요가 없을 것 같다. tis 파일에는 term text가 저장되고, frequence와 position정보의 pointer가 저장된다. frq 파일에는 frequence 정보만 저장된다. prx 파일에는 position정보만 저장된다. 뭐 어려운건 아닌데.. 예를 들면 Title 필드에 "test test" 데이터를 색인할때 fnm,fdx,fdt 파일에 Title 필드에 대한 정보가 들어가고 tis 파일에 term에 대한 정보가 들어간다. 기본적으로 tis에도 frequence 정보가 들어가는데 16이상일 경우 offse.. 더보기
루씬 색인 파일 종류 원문은 http://lucene.apache.org/java/docs/fileformats.html 이곳에 있다. 여러가지 파일이 있으나 데이터 저장과 관련된 파일만 보자 . .fnm : 필드정보를 저장한다. .fdx : 필드데이터에 대한 포인터 정보가 저장된다. .fdt : 실제 필드데이터가 저장된다. .tis : Term Dictionary를 저장한다. .frq : Term Frequence를 저장한다. .prx : 위치정보를 저장한다. 더보기
루씬 색인 파일 종류 원문은 http://lucene.apache.org/java/docs/fileformats.html 이곳에 있다. 여러가지 파일이 있으나 데이터 저장과 관련된 파일만 보자 . .fnm : 필드정보를 저장한다. .fdx : 필드데이터에 대한 포인터 정보가 저장된다. .fdt : 실제 필드데이터가 저장된다. .tis : Term Dictionary를 저장한다. .frq : Term Frequence를 저장한다. .prx : 위치정보를 저장한다. 더보기
루씬에서 데이터를 파일에 어떻게 저장하는가? 루씬에서 파일저장할때 버클리 DB를 사용한다고 알고 있었으나, 소스 분석해보니 버클리 DB를 사용하지는 않았다. 버클리 DB를 사용할 수 있긴 하지만 별도 작업을 해줘야 한다. 기본적으로 사용하는 파일은 java.io.RandomAccessFile 클래스를 이용해서 만든다. 실제 소스를 보면 directory와 file name을 주면 파일이 생성된다. /** Creates a new, empty file in the directory with the given name. Returns a stream writing this file. */ public IndexOutput createOutput(String name) throws IOException { File file = new File(direc.. 더보기
루씬에서 데이터를 파일에 어떻게 저장하는가? 루씬에서 파일저장할때 버클리 DB를 사용한다고 알고 있었으나, 소스 분석해보니 버클리 DB를 사용하지는 않았다. 버클리 DB를 사용할 수 있긴 하지만 별도 작업을 해줘야 한다. 기본적으로 사용하는 파일은 java.io.RandomAccessFile 클래스를 이용해서 만든다. 실제 소스를 보면 directory와 file name을 주면 파일이 생성된다. /** Creates a new, empty file in the directory with the given name. Returns a stream writing this file. */ public IndexOutput createOutput(String name) throws IOException { File file = new File(direc.. 더보기