java全文检索方法_java教程之使用Lucene进行全文检索的方法

xin3721网络学院为广大学员,准备了丰富了教学视频。相关视频教程地址为:java教程在使用lucene对相关内容进行索引时,会遇到各种格式的内容,例如Html,PDF,Word等等,那么我们如何从这么文档中得到我们需要的内容哪?例如Html的内容,一般我们不需要对Html标签建立索引,因为那不是我们需要搜索的内容.这个时候,我们就需要从Html内容中解析出我们所需要的内容.对于PDF,Word文档,也是类似的要求.

总之,我们只需要从内容中提取出我们需要的文本来建立索引,这样用户就能搜索到需要的内容,然后访问对应的资源即可.

Lucene本身带的例子中有一个解析Html的代码,不过不是纯JAVA的,所以在网上我又找到了另外一个Html解析器,网址如下:https://htmlparser.sourceforge.net.

对PDF解析的相关项目有很多,例如PDFBox.在PDFBox里面提出pdf的文本内容只需要一句话即可:

Document  doc  =  LucenePDFDocument.getDocument(  file  );

当然如果需要更高级的设置,就要使用PDFBox中PDFTextStripper等类来实现更高级的操作了.

对Word文档解析的相关有POI,网址是  https://jakarta.apache.org/poi/.

HtmlParser本身提供的功能很强大,我们下面主要来关注我们需要的功能.首先给出几个函数如下:

/**

*  解析一个Html页面,返回一个Html页面类.

*

*  @param  resource  文件路径或者网址

*/

public  static  SearchHtmlPage  parseHtmlPage(String  resource)

{

String  title  =  "";

String  body  =  "";

try

{

Parser  myParser  =  new  Parser(resource);

//设置编码:根据实际情况修改

myParser.setEncoding("GBK");

HtmlPage  visitor  =  new  HtmlPage(myParser);

myParser.visitAllNodesWith(visitor);

title  =  visitor.getTitle();

body  =  combineNodeText(visitor.getBody().toNodeArray());

}

catch  (ParserException  e)

{

LogMan.error("parse  Html  Page  "  +  resource  +  "  Error!");

}

SearchHtmlPage  result  =  new  SearchHtmlPage(title,  body);

return  result;

}

/**

*  解析Html内容,得到普通文本和链接的内容.

*

*  @param  content  要解析的内容

*  @return  返回解析后的内容

*/

public  static  String  parseHtmlContent(String  content)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值