Lucene에서 문서 작성/가져 오기 목적 (DB를 통해 설명하는 목적) 및 검색 목적으로 역 색인으로 색인을 생성하는 것은 매우 다른 두 가지 작업입니다.
색인 생성 방법에 대한 코드가 표시되지 않았습니다.
Lucene에 데이터를 저장하는 것은 선택 사항이며 저장 공간 비용으로 추가 DB 호출 등을 피하기 위해 데이터를 저장하기도하지만 마스터 데이터에 데이터를 유지하면 동기화 요구 사항도 줄어 듭니다. 그래서 절충안이 있습니다.
코드 예 : DOC_ID
은 색인 생성되고 저장되며 TEXT_FIELD
은 색인이 생성되고 저장되지 않습니다.
Document doc = new Document();
doc.add(new Field("DOC_ID", "DOCONE", new FieldType(
TextField.TYPE_STORED)));
doc.add(new Field("TEXT_FIELD", "This", new FieldType(
TextField.TYPE_NOT_STORED)));
writer.addDocument(doc);
그래서 검색 한 후, 당신의 히트 문서라고하자 - hitDoc
그래서 아래 얻을 것이다, hitDoc.getField("DOC_ID")="DOCONE"
및 hitDoc.getField("TEXT_FIELD")=NULL
두 필드가 인덱스되어
을하지만 하나만 저장됩니다. 색인은 검색 될 수 있음을 의미합니다.