문서는 루씬에서 색인과 검색 작업을 진행할 때 한 건이라고 부를 수 있는 단위다
문서는 하나 또는 그 이상의 필드를 담 고 있으며, 필드 안에 실제 내용(텍스트나 바이트 배열의 값)이 들어간다
각 필드를 기준으로 처리하는 작업
노트
데이터베이스와 달리 루씬에서는 별도의 스키마가 존재하지 않는다
→ 색인에 추가하려고 준비하는 각 문서 객체가 서로 완전히 다른 필드 구조를 가지더라도 문제 X
하나의 색인에 두 종류 이상의 문서를 함께 넣어둘 수도 있다
Ex) 판매 중인 상품의 이름과 가격 등을 넣은 필드, 사람의 이름과 나이 성별 등을 넣은 문서를 하나의 색인에 함께 넣어둘 수 있다
심지어 '메타 문서'(색인을 마지막으로 업데이트한 시점, 내용에 대한 부가 설명)을 함께 담을 수도 있다
데이터베이스와 달리 색인에 추가하려는 정보는 모두 텍스트로 변환하고 비정규화(denormalize)해야 한다
항상 루씬이 지원하는 문서 표현 방식에 맞춰 원본 파일을 적절하게 변형해야 한다
루씬의 문서는 완전히 1차원적
→ 별다른 조인 연산이 없고 본문을 중복해서 저장하거나 애플리케이션에서 처리해야 한다는 것!!
색인 작업은 다음(그림 2.1)과 같이 크게 세 개의 기능 단위로 구분 가능
색인 작업은 다음과 같은 과정을 거친다