使用paoding lucene分词和网页爬虫实现的简易网页搜索
2013-11-28 15:34
405 查看
1、首先配置好paoding分词,配置过程参照:
http://zyj177484.blog.163.com/blog/static/18379423120127614414110/
2、配置好分词器后,会自动将输入的文字进行分词,如搜索百科全书,会自动分为 百科 全书两个词,分别在网页中查找这两个词
3、利用一个简单的网页爬虫,就可以进行关键词的搜索啦!
jar包依赖:
paoding-analysis.jar
lucene-core-2.4.0.jar
可去我博客资源中进行下载,顺便赚几个积分哈哈,都是白菜价!
http://zyj177484.blog.163.com/blog/static/18379423120127614414110/
2、配置好分词器后,会自动将输入的文字进行分词,如搜索百科全书,会自动分为 百科 全书两个词,分别在网页中查找这两个词
3、利用一个简单的网页爬虫,就可以进行关键词的搜索啦!
package com.boco.paoding; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.StringReader; import java.net.HttpURLConnection; import java.net.URL; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.Token; import org.apache.lucene.analysis.TokenStream; import net.paoding.analysis.analyzer.PaodingAnalyzer; /** * 利用paoding lucene分词和网页爬虫实现的简易搜索 * @author dup * */ public class PaodingAnalyzer1 { /** * @param args * @throws IOException */ @SuppressWarnings("deprecation") public static void main(String[] args) throws IOException { new PaodingAnalyzer1().paodingAnalysis("http://www.baidu.com"); } /** * 分词 * @param url */ public void paodingAnalysis(String url){ Analyzer analyzer = new PaodingAnalyzer(); String indexStr = "百科全书"; //分词器会分为百科、全书两个词,并在网页中分别查找 StringReader reader = new StringReader(indexStr); TokenStream ts = analyzer.tokenStream(indexStr, reader); Token t; try { t = ts.next(); while(t != null) { System.out.print(t.termText()+" "); String webHtml = new PaodingAnalyzer1().methodPa(url); System.out.println(webHtml.trim().contains(t.termText())); t = ts.next(); } }catch(IOException e){ e.printStackTrace(); } } /** * 解析html * @param strURL * @return */ public String methodPa(String strURL){ String temp; String temps=""; try{ URL url = new URL(strURL); HttpURLConnection conn = (HttpURLConnection)url.openConnection(); InputStreamReader isr = new InputStreamReader(conn.getInputStream(),"utf-8"); BufferedReader br = new BufferedReader(isr); while((temp = br.readLine()) != null){ System.out.println(temp); temps+=temp+" "; } br.close(); isr.close(); }catch(Exception e){ e.printStackTrace(); } return temps; } }
jar包依赖:
paoding-analysis.jar
lucene-core-2.4.0.jar
可去我博客资源中进行下载,顺便赚几个积分哈哈,都是白菜价!
相关文章推荐
- 微网站
- BootStrap tabs标签 使用fade效果首次加载页面不能显示内容
- 安卓中的布局属性详解
- JS小功能(onmouseover实现选择月份)实例代码
- 【Linux】lftp命令详解
- Android的MediaPlayer架构介绍
- nmap命令使用详解
- Scratch学习——打巫婆
- Web 前端开发精华文章集锦(jQuery、HTML5、CSS3)【系列二十】
- 使用UDEV绑定磁盘FOR ASM
- shell拷贝依赖库文件
- 结构体中的函数指针
- "解密"微信开放高级接口 企业如何应对
- android 使用POST提交数据
- Ubuntu 下配置 tftp 服务器
- 屏幕分辨率
- Javascript模块化编程:模块的写法
- window mysql5.6 忘记root密码 修改
- 利用最小二乘法拟合任意次函数曲线(C#)
- Sicily 1029. Rabbit 解题报告