lucene에서 Field 간략 분석
Document doc = new Document();
doc.add(new Field("fullpath", f.getCanonicalPath(),
Field.Store.YES, Field.Index.NOT_ANALYZED))
Field 클래스는 문서 인덱스 중 중요한 클래스로 인덱스된 필드 값을 제어합니다
Field.Store.* 필드 저장 옵션은 색인을 역정렬하여 텍스트를 검색할 수 있는지 여부를 제어합니다
변수 이름
뜻풀이
Index.ANALYZED
분석기를 사용하여 필드 값을 독립된 어휘 단원 흐름으로 분해하고 모든 어휘 단원을 검색하여 일반 텍스트 영역에 적용합니다
Index.NOT_ANALYZED
도메인을 인덱스하지만 String을 분석하지 않고 도메인 값을 단일 어휘 단위로 하여 URL, 파일 경로, 전화번호 등 분해할 수 없는 도메인 값을 인덱스에 적용한다.
Index.ANALYZED_NO_NORMS
인덱스에 norms 정보를 저장하지 않습니다. 인덱스에 있는 index-time boost 정보를 기록합니다. 검색할 때 메모리가 비교적 많이 듭니다.
Index.NOT_ANALYZED_NO_NORMS
마찬가지로, norms 정보를 저장하지 않으며, 검색할 때 인덱스 공간과 메모리 소모를 줄일 수 있습니다.No 도메인 값을 검색하지 않습니다.
Index.No
대응하는 필드 값을 검색하지 않기
Field.Index.* 필드 인덱스 옵션은 다음에 검색을 계속할 때 이 값을 복구할 수 있도록 필드의 실제 값을 저장할지 여부를 결정합니다.
변수 이름
뜻풀이
Stroe.YES
원본 문자열이 모두 색인에 저장된 도메인 값을 저장하여 URL, 제목 등의 검색 결과를 보여야 하는 도메인에 유용하게 사용할 수 있습니다.
Stroe.NO
도메인 값을 저장하지 않습니다. 보통 Index와 같습니다.ANALYZED는 원래 형식으로 복원하지 않고도 큰 텍스트 필드 값을 인덱스하기 위해 함께 사용됩니다.
lucene4에서 이런 문법은 이미 적합하지 않다
doc.add(new Field("contents", new FileReader(f), TextField.TYPE_NOT_STORED)); //
변수 이름
뜻풀이
TYPE_NOT_STORED
인덱스
TYPE_STORED
인덱스
TextField 소스 코드에 대응하는 정의를 보면 lucene3 중역 저장 옵션과 역 인덱스 옵션을 포함하고 있음을 알 수 있습니다
static {
TYPE_NOT_STORED.setIndexed(true);
TYPE_NOT_STORED.setTokenized(true);
TYPE_NOT_STORED.freeze();
TYPE_STORED.setIndexed(true);
TYPE_STORED.setTokenized(true);
TYPE_STORED.setStored(true);
TYPE_STORED.freeze();
}
그러나 특수한 요구, 예를 들어 경로에 대해서는 색인을 필요로 하지 않고 분류하려면 수동으로 Field의 익숙함을 설정해야 한다.
FieldType fieldType = new FieldType();
fieldType.setIndexed(false);//set
fieldType.setStored(true);//set
fieldType.setTokenized(true);//set
doc.add(new Field("fullpath", f.getCanonicalPath(), fieldType)); //
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.