b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

lucene_基于lucene的搜索引擎_lucene是搜索引擎么(2)

电脑杂谈  发布时间:2016-11-21 15:02:45  来源:网络整理

基于lucene的搜索引擎_lucene是搜索引擎么_lucene

3、Lucene创建索引库及查询

public class IndexWriterDemo {
	/**
	 * 将即将检索的资源写入索引库
	 * @param writer
	 * @throws Exception
	 */
	public void buildDocs(IndexWriter writer)throws Exception {
		writer.deleteAll();//清空索引库里已存在的文档(document)
		List<User> list = DataUtil.getUsers();//得到数据资源
		System.out.println("buildDocs()->总人数为 :"+list.size());
		for(User user :list){
			Document doc = new Document();//创建索引库的文档
			doc.add(new Field("id",String.valueOf(user.getId()),Store.YES,Index.NO));
			doc.add(new Field("name",user.getName(),Store.YES,Index.ANALYZED));
			doc.add(new Field("age",String.valueOf(user.getAge()),Store.YES,Index.ANALYZED));
			doc.add(new Field("",user.getSex(),Store.YES,Index.ANALYZED));
			doc.add(new Field("birthday",String.valueOf(user.getBirthday()),Store.YES,Index.ANALYZED));
			writer.addDocument(doc);//将文档写入索引库
		}
		int count =writer.numDocs();
		writer.forceMerge(100);//合并索引库文件
		writer.close();
		System.out.println("buildDocs()->存入索引库的数量:"+count);
	}

	/**
	 * 从索引库中搜索你要查询的数据
	 * @param searcher
	 * @throws IOException
	 */
	public void searcherDocs(IndexSearcher searcher) throws IOException{
		Term term =new Term("", "man");//查询条件,意思是我要查找性别为“man”的人
		TermQuery query =new TermQuery(term);
		TopDocs docs =searcher.search(query, 100);//查找
		System.out.println("searcherDoc()->男生人数:"+docs.totalHits);
		for(ScoreDoc doc:docs.scoreDocs){//获取查找的文档的属性数据
			int docID=doc.doc;
			Document document =searcher.doc(docID);
			String str="ID:"+document.get("id")+",姓名:"+document.get("name")+",性别:"+document.get("");
			System.out.println("人员信息:"+str);
		}
	}
  }


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-21386-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...