Lucene初学——2. 索引检索

1.demo

public static void main(String[] args) {
		Directory directory = null;
		try {
			directory = FSDirectory.open(Paths.get("E:\\document\\【进阶之路】\\技术\\lucene\\index"));
			DirectoryReader reader = DirectoryReader.open(directory);
			IndexSearcher searcher = new IndexSearcher(reader);
			// 与创建索引使用的分词器相同
			Analyzer analyzer = new StandardAnalyzer();
			// 指定搜索域
			QueryParser parser = new QueryParser("content", analyzer);
			Query query = parser.parse("Lucene案例");
			// 检索前10条
			TopDocs docs = searcher.search(query, 10);
			if (docs != null) {
				System.out.println("符合检索条件的文档总数:" + docs.totalHits);
				for (int i = 0; i < docs.scoreDocs.length; i++) {
					Document doc = searcher.doc(docs.scoreDocs[i].doc);
					System.out.println("id = " + doc.get("id"));
					System.out.println("content = " + doc.get("content"));
					System.out.println("num = " + doc.get("num"));
				}
			}
		} catch (IOException | ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

2.运行结果

符合检索条件的文档总数:2
id = a
content = lucene学习案例
num = 1
id = c
content = Lucene案例开发
num = 2

猜你喜欢

转载自blog.csdn.net/future_1024/article/details/80725117