0
문서를 색인하고 검색해야합니다. 쿼리 할 필드가 여러 개 있습니다. 색인 파일을 검색 할 때 반복되는 문서가 있습니다. 쿼리를 작성한 방법은 다음과 같습니다.lucene에서 색인 된 문서를 검색 할 때 고유 한 문서를 얻는 방법
MultiFieldQueryParser parser = new MultiFieldQueryParser(Version.LUCENE_40, new String[] {"title", "abs"}, analyzer);
쿼리 쿼리 = parser.parse (querystr); 당신이 docId
값을 인쇄하는 경우, 그러나 그것은 도움이 될 것입니다,
TopScoreDocCollector collector = TopScoreDocCollector.create(hitsPerPage, true);
searcher.search(query, collector);
ScoreDoc[] hits = collector.topDocs().scoreDocs;
// 4. display results
System.out.println("Found " + hits.length + " hits.");
for(int i=0;i<hits.length;++i) {
int docId = hits[i].doc;
Document d = searcher.doc(docId);
System.out.println((i + 1) + ". " + d.get("pmid") + "\t" + d.get("title"));
}
내 문서가 여러 번 색인 생성되었습니다. 감사. – user2161903