@Test
public void searchIndex() throws Exception{
Directory directory = FSDirectory.open(new File("E:\\Java_Study\\Lucene\\index").toPath());
IndexReader indexReader = DirectoryReader.open(directory);
IndexSearcher indexSearcher = new IndexSearcher(indexReader);
Query query = new TermQuery(new Term("name","spring"));
TopDocs topDocs = indexSearcher.search(query, 10);
System.out.println("查询的总记录数:"+topDocs.totalHits);
ScoreDoc[] scoreDocs = topDocs.scoreDocs;
for(ScoreDoc doc : scoreDocs){
int docId = doc.doc;
Document document = indexSearcher.doc(docId);
System.out.println(document.get("name"));
System.out.println(document.get("path"));
System.out.println(document.get("size"));
}
indexReader.close();
}
@Test
public void testRangeQuery() throws Exception{
Directory directory = FSDirectory.open(new File("E:\\Java_Study\\Lucene\\index").toPath());
IndexReader indexReader = DirectoryReader.open(directory);
IndexSearcher indexSearcher = new IndexSearcher(indexReader);
Query query = LongPoint.newRangeQuery("size", 0l, 100l);
TopDocs topDocs = indexSearcher.search(query, 10);
System.out.println("总记录数:"+topDocs.totalHits);
ScoreDoc[] scoreDocs = topDocs.scoreDocs;
for(ScoreDoc doc : scoreDocs){
int docId = doc.doc;
Document document = indexSearcher.doc(docId);
System.out.println(document.get("name"));
System.out.println(document.get("path"));
System.out.println(document.get("size"));
}
}
@Test
public void testQueryParser() throws Exception{
Directory directory = FSDirectory.open(new File("E:\\Java_Study\\Lucene\\index").toPath());
IndexReader indexReader = DirectoryReader.open(directory);
IndexSearcher indexSearcher = new IndexSearcher(indexReader);
IKAnalyzer analyzer = new IKAnalyzer();
QueryParser queryParser = new QueryParser("name",analyzer);
Query query = queryParser.parse("lucene是一个Java开发的全文检索开发工具包");
TopDocs topDocs = indexSearcher.search(query, 10);
System.out.println("总记录数:"+topDocs.totalHits);
ScoreDoc[] scoreDocs = topDocs.scoreDocs;
for(ScoreDoc doc : scoreDocs){
int docId = doc.doc;
Document document = indexSearcher.doc(docId);
System.out.println(document.get("name"));
System.out.println(document.get("path"));
System.out.println(document.get("size"));
}
}