开发搜索引擎初步(二)搜索(Lucene实现)
来源:互联网 发布:天津话发音软件 编辑:程序博客网 时间:2024/06/06 07:20
经过上一篇的经验,想必大家对建立索引应该没有什么问题了,下面我们就开始最简单的搜索,也就是对我们已经建立好的索引进行检索,废话不多说,下面看代码
- package com.dreamers.search;
- import java.io.File;
- import java.io.IOException;
- import java.util.Date;
- import org.apache.lucene.document.Document;
- import org.apache.lucene.index.Term;
- import org.apache.lucene.search.IndexSearcher;
- import org.apache.lucene.search.Query;
- import org.apache.lucene.search.ScoreDoc;
- import org.apache.lucene.search.TermQuery;
- import org.apache.lucene.store.Directory;
- import org.apache.lucene.store.FSDirectory;
- public class IndexSearch {
- private String INDEX_STORE_PATH = "d:\\LuceneDemo";//注意,此处的PATH为你的索引在磁盘中的存放位置
- public void search(){
- try{
- Directory directory = FSDirectory.open(new File(INDEX_STORE_PATH));//建立库,导入索引
- System.out.println("使用索引搜索");
- IndexSearcher searcher = new IndexSearcher(directory);//初始化搜索的类,在Lucene中
- Term t = new Term("publisher","历城二中");//构建搜索初始化元
- Query q = new TermQuery(t);
- Date begin = new Date();//建立时间,以便显示搜索用时
- ScoreDoc[] hits = searcher.search(q,null,1000).scoreDocs;//将搜索到的资源放入数组
- System.out.println("共找到 " + hits.length + " 个文档符合条件");
- for (int i = 0; i < hits.length; i++){
- Document doc = new Document();//遍历资源
- doc = searcher.doc(hits[i].doc);
- System.out.print("文件名为: ");
- System.out.print(doc.get("title"));
- System.out.print(".");
- System.out.println(doc.get("kind"));
- System.out.print("地址为 : ");
- System.out.println(doc.get("url"));
- System.out.print("描述: ");
- System.out.println(doc.get("describe"));
- System.out.print("scores is :");
- System.out.println(hits[i].score);
- System.out.print("作者为:");
- System.out.println(doc.get("author"));
- System.out.println("---------------------------------------------------");
- }
- Date end = new Date();
- long time = end.getTime()-begin.getTime();
- System.out.print("搜索用时 " + time + "ms");
- }catch(IOException x){
- x.printStackTrace();
- }
- }
- public static void main(String [] args){
- IndexSearch search = new IndexSearch();
- search.search();//测试
- }
- }
通过这个程序,我们可以很简单的实现对自己的在磁盘上面建立的索引文件进行按照自己的想法进行索引,呵呵,下面的工作就是自己去实现了
- 开发搜索引擎初步(二)搜索(Lucene实现)
- 开发搜索引擎初步(二)搜索(Lucene实现)
- 开发搜索引擎初步(一)建立索引(Lucene实现)
- 开发搜索引擎初步(一)建立索引(Lucene实现)
- 搜索引擎之全文搜索算法功能实现(基于Lucene)
- Lucene(二)搜索
- Lucene教程(二) 搜索初步
- 自己动手写搜索引擎(常搜吧历程三#搜索二#)(Java、Lucene、hadoop)
- Lucene.Net开发介绍 —— 四、搜索(二)
- 搜索引擎系列 -lucene简介 创建索引和搜索初步步骤
- 搜索引擎(lucene)
- 细谈Lucene(二):Lucene的搜索组件 详解
- 原来lucene如此简单(二)搜索
- Lucene全文搜索学习笔记(二)
- Lucene开发详解(二)
- 全文检索技术 lucene(二) 自己动手写一个搜索引擎
- 《开发自己的搜索引擎》读书笔记——Lucene搜索
- lucene搜索引擎总结二
- 计算结构体大小
- Android UI开发第六篇——仿QQ的滑动Tab
- 007.Vmware-Linux 内核编译一
- 诸葛亮《诫子书》
- linux内存检测
- 开发搜索引擎初步(二)搜索(Lucene实现)
- 一个反射的实例
- oracle日期函数集锦【转】
- 用Crosstool工具构建交叉工具链
- 基于Google GWT的WEB图形编辑框架gwt-html5-graph发布了
- 重新认识excel(2):坐标
- 开发搜索引擎初步(一)建立索引(Lucene实现)
- ORACLE 自用SQL语句
- Content-Type的类型