1
두 개의 다른 분석기로 lucene 문서를 인덱싱해도 괜찮습니까? 마치 대소 문자를 구분하거나 대소 문자를 구분하지 않는 검색을 지원해야합니다. 따라서 동일한 문서에 대해 두 개의 분석기를 사용할 수 있는지 궁금합니다. 다른 분석기로 lucene 문서 인덱싱
writer.addDocument(doc,new StandardAnalyzer(Version.LUCENE_30)); writer.addDocument(doc,new custom_analyser);
의견이나 제안이 있으십니까?
편집 : @ 사이먼
Analyzer defaultAnalyzer = new StandardAnalyzer(Version.LUCENE_30);
PerFieldAnalyzerWrapper wrapper = new PerFieldAnalyzerWrapper(defaultAnalyzer);
wrapper.addAnalyzer("CaseSensitiveContents", new WhitespaceAnalyzer());
writer = new IndexWriter(FSDirectory.open(index), wrapper, true,
new IndexWriter.MaxFieldLength(100))
doc.add(new Field("contents", parser.getReader(), TermVector.YES));
doc.add(new Field("CaseSensitiveContents", parser.getReader(), TermVector.YES));
writer.add(doc)
@ 사이먼, 두 개의 서로 다른 필드에 동일한 내용을 추가하려고하면 스트림이 예외로 처리됩니다 ... 어떻게 수정합니까? – remo
동일한 토큰 스트림을 두 번 추가하는 것 같습니다. 순수 문자열로 작업 할 때이 오류를 본 적이 없습니다. 이 코드를 디버깅하려면 코드가 필요합니다. Fieldable (일반적으로 Field)을 추가하는 위치를 선호합니다. – sisve
여기 내 코드의 일부를 여기에 추가했습니다 – remo