Project2--配置Lucene, 对ccer数据建立索引和查询系统
来源:互联网 发布:华为打开数据连接不了 编辑:程序博客网 时间:2024/05/17 10:54
Step 1 读取文件夹下的所有文件
使用递归的方法读取所有文件名,将其保存在一个String中,以“/”将文件名隔开,之后便可以使用使用
String []list=s.split("/");得到文件名列表
由于是对文本建立索引,所以目前只需要网页文件,在遍历过程中对所有的文件做了一下判断,只取shtml、html、asp、php、htm等后缀的文件。
Step 2 建立索引
通过CCER抓取到的数据存放的位置建立一个File,然后为其下面的所有网页文件建立索引
writer = new IndexWriter(FSDirectory.open(new File(indexPath)),
analyzer, true, IndexWriter.MaxFieldLength.LIMITED);
分别为网页文件名、标题和正文建立了索引
Field field=new Field("name", list[i], Store.YES, Field.Index.NOT_ANALYZED); doc.add(field); String title=pp.getTitle field=new Field("title", title, Store.YES, Field.Index.ANALYZED); doc.add(field); String content=pp.getBody field=new Field("content",content,Store.YES,Field.Index.ANALYZED); doc.add(field);
其中对于网页正文内容的读取使用HTMLParser和正则表达式。利用HTMLParser读取网页中title和body节点,然后利用正则表达式去掉body中诸如div或者script的节点,得到正文。
下图为索引建立过程:
step 3 搜索
利用search(searchField, searchWord);进行搜索,
利用TopDocs td=searcher.search(query, 1000);
int totalHits=td.totalHits;
返回搜索结果即可。
下图是输入搜索词为“海闻”所得到的结果,由于匹配结果过多,所以只显示了前1000个
- Project2--配置Lucene, 对ccer数据建立索引和查询系统
- 建立索引和查询系统
- lucene对数据库建立索引
- Lucene对索引的查询
- Lucene 建立索引和搜索
- 用Lucene建立索引及查询示例
- 用Lucene建立索引及查询示例
- 用Lucene建立索引及查询示例
- 用Lucene建立索引及查询示例
- 利用lucene对整个数据库建立索引
- lucene对文件建立索引之二
- lucene对整个数据库建立全文索引
- Lucene之建立索引以及根据索引查询
- 使用Lucene开发自己的搜索引擎–(2)配置环境和索引文件的建立indexer
- lucene 2.x 预处理、建立索引、查询 实例+源码
- 用Lucene.net对数据库建立索引及搜索
- 用Lucene.net对数据库建立索引及搜索
- 用Lucene.net对数据库建立索引及搜索
- 转载:我奋斗了18年才和你坐在一起喝咖啡
- sdk 讲一个bmp图片绘制到窗口
- 可恶
- Oracle 高效率 SQL语句
- VC++基础 字符串的查找与替换
- Project2--配置Lucene, 对ccer数据建立索引和查询系统
- 梦想照进失落的现实
- [ZZ]]文艺表年装B指南
- v4l2详解(续)
- 转载:我奋斗了18年,不是为了和你一起喝咖啡
- 判断一个数是否是循环数的算法
- 注册感言
- 杭电1238 Substrings
- nginx add listen sock to epoll