`
pavel
  • 浏览: 927928 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Lucene 2.2.0发布自带的HTMLParser的使用

阅读更多

Lucene 2.2.0发行包中自带的org.apache.lucene.demo包中,有一个为HTML和TXT文件建立索引、删除索引以及实现检索的实例,其中在org.apache.lucene.demo.html包中的一些类,是真正解析HTML文件的工具类,包括解析类、预定义类、异常处理类。

这个例子的命令提示为:

IndexHTML [-create] [-index <index>] <root_directory>

是建关于索引的命令,-create是建立索引,-index是选择删除指定的索引文件。

这个例子运行过程如下所示。

将相关jar包luene-core-2.2.0.jar和lucene-demos-2.2.0.jar加入到当前的CLASSPATH中,设置环境变量:

E:\Lucene\lucene-2.2.0\lucene-2.2.0\lu
ene-core-2.2.0.jar;E:\Lucene\lucene-2.2.0\lucene-2.2.0\lucene-demos-2.2.0.jar;

假设,待处理的文件存放于目录E:\data\page\cn_en下面,文件列表如下所示:

2008-06-11 10:20    <DIR>          eNet网络学院-中国权威电脑教程软件资讯网站.files
2008-06-11 10:20    <DIR>          hao123网址之家--实用网址,搜索大全,尽在www_hao123_com.files
2008-06-11 10:20    <DIR>          设计联盟_中国 Cndu_cn [国内专业的设计师交流平台_ 华人设计精英的社交圈] - 为设计师服务!.files
2008-06-11 10:20    <DIR>          设计路上酷站收藏大全,酷站欣赏,韩国网站欣赏,欧美网站,国内网站欣赏,设计欣赏,网页设计,网站建设,平面设计,韩国矢量素材下载.files
2008-06-11 10:20    <DIR>          设计在线_中国 DesignOnLine.files
2008-06-11 10:20    <DIR>          素材下载-图片下载-中国下载站_files
2008-06-11 10:20    <DIR>          天龙八部 官方网站首页.files
2008-06-11 10:20    <DIR>          网站优化搜索引擎优化网站排名研究论坛seo资料.files
2008-06-11 10:20    <DIR>          中国设计网址大全 52design设计网网址库.files
2008-06-11 10:20    <DIR>          中国设计网址导航-中国设计网站大全-中国设计网址大全-中国设计名站大全-数字艺术网址大全-中国领先的数字艺术网址门户.files
2008-06-11 10:20    <DIR>          中国设计之窗-- 首页.files
2007-12-09 20:26           187,187 eNet网络学院-中国权威电脑教程软件资讯网站.htm
2007-12-10 13:20            61,480 hao123网址之家--实用网址,搜索大全,尽在www_hao123_com.htm
2007-12-09 20:25            71,696 设计联盟_中国 Cndu_cn [国内专业的设计师交流平台_ 华人设计精英的社交圈] - 为设计师服务!.htm
2007-12-09 20:56           107,597 设计路上酷站收藏大全,酷站欣赏,韩国网站欣赏,欧美网站,国内网站欣赏,设计欣赏,网页设计,网站建设,平面设计,韩国矢量素材下载.htm
2007-12-09 20:41               606 设计在线_中国 DesignOnLine.htm
2008-01-18 16:18            58,838 素材下载-图片下载-中国下载站.htm
2007-12-10 13:22           204,945 天龙八部 官方网站首页.htm
2007-12-10 13:19            31,935 网站优化搜索引擎优化网站排名研究论坛seo资料.htm
2007-12-09 20:25           206,758 中国设计网址大全 52design设计网网址库.htm
2007-12-09 20:14            84,347 中国设计网址导航-中国设计网站大全-中国设计网址大全-中国设计名站大全-数字艺术网址大全-中国领先的数字艺术网址门户.htm
2007-12-09 20:26           280,887 中国设计之窗-- 首页.htm
2008-06-11 10:40    <DIR>          Welcome! - The Apache Software Foundation.files
2008-06-11 10:38            18,241 Welcome! - The Apache Software Foundation.htm
2008-06-11 10:40    <DIR>          Sun Microsystems.files
2008-06-11 10:39            26,446 Sun Microsystems.htm
2008-06-11 10:40    <DIR>          Microsoft Corporation.files
2008-06-11 10:40            44,352 Microsoft Corporation.htm
2007-06-16 22:21            83,829 CHANGES.txt
2007-06-16 22:21            11,358 LICENSE.txt
2007-06-16 22:21               362 NOTICE.txt
2007-06-16 22:21             1,157 README.txt
2007-06-16 22:21             3,676 BUILD.txt
2007-10-23 15:12                34 2实验红黑树.txt
2007-10-30 15:44                82 3实验题目.txt
2007-12-09 21:15             8,479 Dreamweaver 8 序列号.txt
2007-10-13 19:48                62 EditPlus注册码.txt
2007-08-02 19:46             7,738 文档规范.txt
2008-03-03 21:17                 0 资料列表.txt
2007-10-16 15:33                75 1实验题目.txt
              26 个文件      1,502,167 字节
              16 个目录    207,020,032 可用字节

建立索引

启动cmd.exe,执行建立索引的命令,如下:

E:\data\page>java org.apache.lucene.demo.IndexHTML -create cn_en

建立索引信息如下所示:

adding cn_en/1实验题目.txt
adding cn_en/2实验红黑树.txt
adding cn_en/3实验题目.txt
adding cn_en/BUILD.txt
adding cn_en/CHANGES.txt
adding cn_en/Dreamweaver 8 序列号.txt
adding cn_en/EditPlus注册码.txt
adding cn_en/LICENSE.txt
adding cn_en/Microsoft Corporation.htm
Parse Aborted: Lexical error at line 699, column 291. Encountered: "=" (61), af
ter : ""
adding cn_en/NOTICE.txt
adding cn_en/README.txt
adding cn_en/Sun Microsystems.htm
adding cn_en/Welcome! - The Apache Software Foundation.htm
adding cn_en/eNet网络学院-中国权威电脑教程软件资讯网站.files/adjuggler.htm
adding cn_en/eNet网络学院-中国权威电脑教程软件资讯网站.files/articlemaquree.htm
l
adding cn_en/eNet网络学院-中国权威电脑教程软件资讯网站.files/enetshow(1).htm
adding cn_en/eNet网络学院-中国权威电脑教程软件资讯网站.files/enetshow(2).htm
adding cn_en/eNet网络学院-中国权威电脑教程软件资讯网站.files/enetshow(3).htm
adding cn_en/eNet网络学院-中国权威电脑教程软件资讯网站.files/enetshow.htm
adding cn_en/eNet网络学院-中国权威电脑教程软件资讯网站.files/menu.html
adding cn_en/eNet网络学院-中国权威电脑教程软件资讯网站.files/rdzt.html
Parse Aborted: Lexical error at line 5, column 11. Encountered: "\u8f6f" (36719
), after : ""
adding cn_en/eNet网络学院-中国权威电脑教程软件资讯网站.htm
adding cn_en/hao123网址之家--实用网址,搜索大全,尽在www_hao123_com.htm
Parse Aborted: Lexical error at line 579, column 38. Encountered: "\u6b22" (274
26), after : ""
adding cn_en/中国设计之窗-- 首页.files/index3.htm
Parse Aborted: Lexical error at line 107, column 57. Encountered: "\u6807" (266
31), after : ""
adding cn_en/中国设计之窗-- 首页.files/spider_search_show.htm
Parse Aborted: Lexical error at line 6, column 12. Encountered: "\u5546" (21830
), after : ""
adding cn_en/中国设计之窗-- 首页.htm
adding cn_en/中国设计网址大全 52design设计网网址库.files/flashv2.htm
adding cn_en/中国设计网址大全 52design设计网网址库.files/go.htm
Parse Aborted: Lexical error at line 7, column 9. Encountered: "\u7f51" (32593)
, after : ""
adding cn_en/中国设计网址大全 52design设计网网址库.htm
Parse Aborted: Encountered "<EOF>" at line 1, column 123.
Was expecting one of:
    <ScriptText> ...
    <ScriptEnd> ...

adding cn_en/中国设计网址导航-中国设计网站大全-中国设计网址大全-中国设计名站大全
-数字艺术网址大全-中国领先的数字艺术网址门户.files/90.htm
Parse Aborted: Lexical error at line 86, column 25. Encountered: "\u666f" (2622
3), after : ""
adding cn_en/中国设计网址导航-中国设计网站大全-中国设计网址大全-中国设计名站大全
-数字艺术网址大全-中国领先的数字艺术网址门户.files/alimama.htm
adding cn_en/中国设计网址导航-中国设计网站大全-中国设计网址大全-中国设计名站大全
-数字艺术网址大全-中国领先的数字艺术网址门户.files/img.htm
adding cn_en/中国设计网址导航-中国设计网站大全-中国设计网址大全-中国设计名站大全
-数字艺术网址大全-中国领先的数字艺术网址门户.files/newsite.htm
adding cn_en/中国设计网址导航-中国设计网站大全-中国设计网址大全-中国设计名站大全
-数字艺术网址大全-中国领先的数字艺术网址门户.files/soft.htm
adding cn_en/中国设计网址导航-中国设计网站大全-中国设计网址大全-中国设计名站大全
-数字艺术网址大全-中国领先的数字艺术网址门户.files/stat.htm
Parse Aborted: Lexical error at line 25, column 99. Encountered: "\u957f" (3827
1), after : ""
Parse Aborted: Lexical error at line 6, column 10. Encountered: "\u4e2d" (20013
), after : ""
adding cn_en/中国设计网址导航-中国设计网站大全-中国设计网址大全-中国设计名站大全
-数字艺术网址大全-中国领先的数字艺术网址门户.htm
adding cn_en/天龙八部 官方网站首页.files/dma.htm
Parse Aborted: Encountered "\'" at line 329, column 56.
Was expecting one of:
    <ArgName> ...
    "=" ...
    <TagEnd> ...

adding cn_en/天龙八部 官方网站首页.files/index.htm
adding cn_en/天龙八部 官方网站首页.files/rcc.htm
Parse Aborted: Encountered "\'" at line 329, column 56.
Was expecting one of:
    <ArgName> ...
    "=" ...
    <TagEnd> ...

Parse Aborted: Lexical error at line 5, column 16. Encountered: "\u5929" (22825
), after : ""
adding cn_en/天龙八部 官方网站首页.htm
adding cn_en/文档规范.txt
Parse Aborted: Lexical error at line 3, column 26. Encountered: "\u7d20" (32032
), after : ""
adding cn_en/素材下载-图片下载-中国下载站.htm
Parse Aborted: Lexical error at line 4, column 15. Encountered: "\u6536" (25910
), after : ""
adding cn_en/网站优化搜索引擎优化网站排名研究论坛seo资料.htm
Parse Aborted: Lexical error at line 9, column 25. Encountered: "\u9645" (38469
), after : ""
adding cn_en/设计在线_中国 DesignOnLine.files/gra.dolcn.files/adframe.htm
Parse Aborted: Lexical error at line 144, column 14. Encountered: "\u641c" (256
28), after : ""
adding cn_en/设计在线_中国 DesignOnLine.files/gra.dolcn.htm
Parse Aborted: Lexical error at line 5, column 15. Encountered: "\u534e" (21326
), after : ""
adding cn_en/设计在线_中国 DesignOnLine.htm
adding cn_en/设计联盟_中国 Cndu_cn [国内专业的设计师交流平台_ 华人设计精英的社交
圈] - 为设计师服务!.files/stat.htm
Parse Aborted: Lexical error at line 25, column 100. Encountered: "\u957f" (382
71), after : ""
Parse Aborted: Lexical error at line 3, column 135. Encountered: "\u4e49" (2004
1), after : ""
adding cn_en/设计联盟_中国 Cndu_cn [国内专业的设计师交流平台_ 华人设计精英的社交
圈] - 为设计师服务!.htm
adding cn_en/设计路上酷站收藏大全,酷站欣赏,韩国网站欣赏,欧美网站,国内网站欣赏,设
计欣赏,网页设计,网站建设,平面设计,韩国矢量素材下载.files/go.htm
adding cn_en/设计路上酷站收藏大全,酷站欣赏,韩国网站欣赏,欧美网站,国内网站欣赏,设
计欣赏,网页设计,网站建设,平面设计,韩国矢量素材下载.files/indexLogin.htm
adding cn_en/设计路上酷站收藏大全,酷站欣赏,韩国网站欣赏,欧美网站,国内网站欣赏,设
计欣赏,网页设计,网站建设,平面设计,韩国矢量素材下载.files/stat.htm
Parse Aborted: Lexical error at line 25, column 98. Encountered: "\u957f" (3827
1), after : ""
Parse Aborted: Lexical error at line 6, column 10. Encountered: "\u9177" (37239
), after : ""
adding cn_en/设计路上酷站收藏大全,酷站欣赏,韩国网站欣赏,欧美网站,国内网站欣赏,设
计欣赏,网页设计,网站建设,平面设计,韩国矢量素材下载.htm
adding cn_en/资料列表.txt
Optimizing index...
2422 total milliseconds

对于HTML文件和TXT文件,都为他们建立了索引,并且索引文件存放在默认的index目录下(这里完整路径为E:\data\page\index)

删除重建索引

目录en下面有几个HTML文件:

2008-06-11 10:38            18,241 Welcome! - The Apache Software Foundation.htm
2008-06-11 11:00            44,349 Microsoft Corporation.htm
2008-06-11 10:39            26,446 Sun Microsystems.htm
2008-06-11 10:51    <DIR>          Welcome! - The Apache Software Foundation.files
2008-06-11 10:51    <DIR>          Microsoft Corporation.files
2008-06-11 10:51    <DIR>          Sun Microsystems.files
               3 个文件         89,036 字节
               5 个目录    207,020,032 可用字节

删除原来的索引文件,并且重新为E:\data\page\en目录下的HTML文件建立索引的命令如下:

E:\data\page>java org.apache.lucene.demo.IndexHTML -index index en

信息如下所示:

deleting cn_en/1实验题目.txt
deleting cn_en/2实验红黑树.txt
deleting cn_en/3实验题目.txt
deleting cn_en/BUILD.txt
deleting cn_en/CHANGES.txt
deleting cn_en/Dreamweaver 8 序列号.txt
deleting cn_en/EditPlus注册码.txt
deleting cn_en/LICENSE.txt
deleting cn_en/Microsoft Corporation.htm
deleting cn_en/NOTICE.txt
deleting cn_en/README.txt
deleting cn_en/Sun Microsystems.htm
deleting cn_en/Welcome! - The Apache Software Foundation.htm
deleting cn_en/eNet网络学院-中国权威电脑教程软件资讯网站.files/adjuggler.htm
deleting cn_en/eNet网络学院-中国权威电脑教程软件资讯网站.files/articlemaquree.h
tml
deleting cn_en/eNet网络学院-中国权威电脑教程软件资讯网站.files/enetshow(1).htm
deleting cn_en/eNet网络学院-中国权威电脑教程软件资讯网站.files/enetshow(2).htm
deleting cn_en/eNet网络学院-中国权威电脑教程软件资讯网站.files/enetshow(3).htm
deleting cn_en/eNet网络学院-中国权威电脑教程软件资讯网站.files/enetshow.htm
deleting cn_en/eNet网络学院-中国权威电脑教程软件资讯网站.files/menu.html
deleting cn_en/eNet网络学院-中国权威电脑教程软件资讯网站.files/rdzt.html
deleting cn_en/eNet网络学院-中国权威电脑教程软件资讯网站.htm
deleting cn_en/hao123网址之家--实用网址,搜索大全,尽在www_hao123_com.htm
deleting cn_en/中国设计之窗-- 首页.files/index3.htm
deleting cn_en/中国设计之窗-- 首页.files/spider_search_show.htm
deleting cn_en/中国设计之窗-- 首页.htm
deleting cn_en/中国设计网址大全 52design设计网网址库.files/flashv2.htm
deleting cn_en/中国设计网址大全 52design设计网网址库.files/go.htm
deleting cn_en/中国设计网址大全 52design设计网网址库.htm
deleting cn_en/中国设计网址导航-中国设计网站大全-中国设计网址大全-中国设计名站大
全-数字艺术网址大全-中国领先的数字艺术网址门户.files/90.htm
deleting cn_en/中国设计网址导航-中国设计网站大全-中国设计网址大全-中国设计名站大
全-数字艺术网址大全-中国领先的数字艺术网址门户.files/alimama.htm
deleting cn_en/中国设计网址导航-中国设计网站大全-中国设计网址大全-中国设计名站大
全-数字艺术网址大全-中国领先的数字艺术网址门户.files/img.htm
deleting cn_en/中国设计网址导航-中国设计网站大全-中国设计网址大全-中国设计名站大
全-数字艺术网址大全-中国领先的数字艺术网址门户.files/newsite.htm
deleting cn_en/中国设计网址导航-中国设计网站大全-中国设计网址大全-中国设计名站大
全-数字艺术网址大全-中国领先的数字艺术网址门户.files/soft.htm
deleting cn_en/中国设计网址导航-中国设计网站大全-中国设计网址大全-中国设计名站大
全-数字艺术网址大全-中国领先的数字艺术网址门户.files/stat.htm
deleting cn_en/中国设计网址导航-中国设计网站大全-中国设计网址大全-中国设计名站大
全-数字艺术网址大全-中国领先的数字艺术网址门户.htm
deleting cn_en/天龙八部 官方网站首页.files/dma.htm
deleting cn_en/天龙八部 官方网站首页.files/index.htm
deleting cn_en/天龙八部 官方网站首页.files/rcc.htm
deleting cn_en/天龙八部 官方网站首页.htm
deleting cn_en/文档规范.txt
deleting cn_en/素材下载-图片下载-中国下载站.htm
deleting cn_en/网站优化搜索引擎优化网站排名研究论坛seo资料.htm
deleting cn_en/设计在线_中国 DesignOnLine.files/gra.dolcn.files/adframe.htm
deleting cn_en/设计在线_中国 DesignOnLine.files/gra.dolcn.htm
deleting cn_en/设计在线_中国 DesignOnLine.htm
deleting cn_en/设计联盟_中国 Cndu_cn [国内专业的设计师交流平台_ 华人设计精英的社
交圈] - 为设计师服务!.files/stat.htm
deleting cn_en/设计联盟_中国 Cndu_cn [国内专业的设计师交流平台_ 华人设计精英的社
交圈] - 为设计师服务!.htm
deleting cn_en/设计路上酷站收藏大全,酷站欣赏,韩国网站欣赏,欧美网站,国内网站欣赏,
设计欣赏,网页设计,网站建设,平面设计,韩国矢量素材下载.files/go.htm
deleting cn_en/设计路上酷站收藏大全,酷站欣赏,韩国网站欣赏,欧美网站,国内网站欣赏,
设计欣赏,网页设计,网站建设,平面设计,韩国矢量素材下载.files/indexLogin.htm
deleting cn_en/设计路上酷站收藏大全,酷站欣赏,韩国网站欣赏,欧美网站,国内网站欣赏,
设计欣赏,网页设计,网站建设,平面设计,韩国矢量素材下载.files/stat.htm
deleting cn_en/设计路上酷站收藏大全,酷站欣赏,韩国网站欣赏,欧美网站,国内网站欣赏,
设计欣赏,网页设计,网站建设,平面设计,韩国矢量素材下载.htm
deleting cn_en/资料列表.txt
adding en/Microsoft Corporation.htm
Parse Aborted: Lexical error at line 699, column 291. Encountered: "=" (61), af
ter : ""
adding en/Sun Microsystems.htm
adding en/Welcome! - The Apache Software Foundation.htm
Optimizing index...
1265 total milliseconds

在删除了原来所有的索引文件以后,又执行了重新为E:\data\page\en目录中的HTML文件建立索引的过程。

实现检索

检索的命令用法如下:

java org.apache.lucene.demo.SearchFiles [-index dir] [-field f] [-repeat n] [-queries file] [-raw] [-norms field]

检索过程为如下。

使用org.apache.lucene.demo.SearchFiles类,加上一个索引存放目录作为参数:

E:\data\page>java org.apache.lucene.demo.SearchFiles index

这时要求输入检索关键字:

Enter query:

检索copyright,检索结果如下所示:

Searching for: copyright
8 total matching documents
1. cn_en/NOTICE.txt
   Title:
2. cn_en/LICENSE.txt
   Title:
3. cn_en/BUILD.txt
   Title:
4. cn_en/Sun Microsystems.htm
   Title: Sun Microsystems
5. cn_en/Welcome! - The Apache Software Foundation.htm
   Title: Welcome! - The Apache Software Foundation
6. cn_en/天龙八部 官方网站首页.files/dma.htm
   Title:
7. cn_en/天龙八部 官方网站首页.files/rcc.htm
   Title:
8. cn_en/CHANGES.txt

似乎由于编码问题,检索中文不能奏效,如下所示:

Enter query:

Searching for:
0 total matching documents
Enter query:
中国

Searching for: й
0 total matching documents

问题及说明

1、在解析HTML文件并且为其建立索引过程中,发生了类似如下的错误:

adding cn_en/Microsoft Corporation.htm
Parse Aborted: Lexical error at line 699, column 291. Encountered: "=" (61), after : ""

感觉好像是解析过程中与解析的词法不一致导致上面的错误,因此放弃了解析该处对应的HTML代码。仔细研究了一下Microsoft Corporation.htm页面代码,定位到line 699, column 291为:

<SCRIPT type=text/javascript>var gDomain="m.webtrends.com";var gDcsId="dcs4f6vsz99k7mayiw2jzupyr_1s2e";var gTrackEvents=1;var gFpc="WT_FPC";if(document.cookie.indexOf(gFpc+"=")==-1){document.write("<scr"+"ipt type='text/javascript' src='"+"http"+(window.location.protocol.indexOf('https:')==0?'s':'')+"://"+gDomain+"/"+gDcsId+"/wtid.js"+"'></scr"+"ipt>");}</SCRIPT>

是解析SCRIPT标记时出现了异常,位置就是上面红色加粗显示的等号“==”中第一个等号处。

出错处理在org.apache.lucene.demo.html.TokenMgrError类的下面方法中:

protected static String LexicalError(boolean EOFSeen, int lexState, int errorLine, int errorColumn, String errorAfter, char curChar) {
      return("Lexical error at line " +
           errorLine + ", column " +
           errorColumn + ". Encountered: " +
           (EOFSeen ? "<EOF> " : ("\"" + addEscapes(String.valueOf(curChar)) + "\"") + " (" + (int)curChar + "), ") +
           "after : \"" + addEscapes(errorAfter) + "\"");
   }

而实际发生异常,是在一个HTMLParser线程启动运行过程中捕获的,HTMLParser线程的实现如下所示:

package org.apache.lucene.demo.html;

import java.io.*;

class ParserThread extends Thread {
HTMLParser parser;

ParserThread(HTMLParser p) {
    parser = p;
}

public void run() {      // convert pipeOut to pipeIn
    try {
      try {       // parse document to pipeOut
        parser.HTMLDocument();
      } catch (ParseException e) {
        System.out.println("Parse Aborted: " + e.getMessage());
      } catch (TokenMgrError e) {
        System.out.println("Parse Aborted: " + e.getMessage());
      } finally {
        parser.pipeOut.close();
        synchronized (parser) {
       parser.summary.setLength(HTMLParser.SUMMARY_LENGTH);
       parser.titleComplete = true;
       parser.notifyAll();
     }
      }
    } catch (IOException e) {
   e.printStackTrace();
    }
}
}

org.apache.lucene.demo.html.HTMLParserTokenManager类是解析HTML的核心类,个人认为,之所以出现上面的词法错误,可能是这个org.apache.lucene.demo.html.HTMLParserTokenManager的设计中存在漏洞吧,因为HTML文件的代码是在是太复杂,有时HTML标签又不是特别规范,而浏览器的容错能力又很好,所以实现解析应该是很困难的一件事情。

2、在demo中有个测试类Test 实现了提取HTML文件的Title、Summary、Content的方案,如下所示:

package org.apache.lucene.demo.html;

import java.io.*;

class Test {
public static void main(String[] argv) throws IOException, InterruptedException {
    if ("-dir".equals(argv[0])) {
      String[] files = new File(argv[1]).list();
      java.util.Arrays.sort(files);
      for (int i = 0; i < files.length; i++) {
System.err.println(files[i]);
File file = new File(argv[1], files[i]);
parse(file);
      }
    } else
      parse(new File(argv[0]));
}

public static void parse(File file) throws IOException, InterruptedException {
    FileInputStream fis = null;
    try {
      fis = new FileInputStream(file);
      HTMLParser parser = new HTMLParser(fis);
      System.out.println("Title: " + Entities.encode(parser.getTitle()));
      System.out.println("Summary: " + Entities.encode(parser.getSummary()));
      System.out.println("Content:");
      LineNumberReader reader = new LineNumberReader(parser.getReader());
      for (String l = reader.readLine(); l != null; l = reader.readLine())
        System.out.println(l);
    } finally {
      if (fis != null) fis.close();
    }
}
}

可以在此基础上指导自己使用HTMLParser。

 


分享到:
评论

相关推荐

    lucene-2.2.0zip

    《Lucene 2.2.0与5.5.0:搜索引擎开发的关键工具》 Lucene,一个由Apache软件基金会开发的全文检索库,是Java编程语言中的一个核心工具,被广泛应用于各种搜索引擎的开发中。它提供了强大的文本分析、索引构建和...

    lucene2.2.0

    《Apache Lucene 2.2.0:全文检索框架的基石》 Apache Lucene 是一个高性能、全文本搜索引擎库,而Lucene 2.2.0则是这一系列版本中的一个重要里程碑。作为一个开源项目,Lucene 提供了强大的文本分析、索引构建以及...

    lucene-2.2.0-src

    《深入剖析Lucene 2.2.0源代码》 Lucene是一款强大的开源全文搜索引擎库,由Apache软件基金会开发并维护。它为Java开发者提供了一种高性能、可扩展的文本检索核心工具。本文将深入探讨Lucene 2.2.0版本的源代码,...

    lucene-analyzers-2.2.0.jar

    lucene-analyzers-2.2.0.jarlucene-analyzers-2.2.0.jarlucene-analyzers-2.2.0.jarlucene-analyzers-2.2.0.jarlucene-analyzers-2.2.0.jarlucene-analyzers-2.2.0.jarlucene-analyzers-2.2.0.jarlucene-analyzers-...

    搜索引擎Lucene Herritrix htmlparser

    开发者可能会在这里看到如何设置Heritrix的爬虫规则,如何使用Spring来组织和管理各个组件,以及如何使用htmlparser来解析抓取的网页内容并准备它们供Lucene索引。 综上所述,这个项目涉及到的关键技术包括使用...

    基于JAVA的搜索引擎 lucene-2.2.0

    在前面Lucene-2.2.0 源代码阅读学习(1)中,根据Lucene提供的一个Demo,详细分析研究一下索引器org.apache.lucene.index.IndexWriter类,看看它是如果定义的,掌握它建立索引的机制。 通过IndexWriter类的实现源代码...

    lucene_JE分词_htmlParser--jar包

    标题中的“lucene_JE分词_htmlParser--jar包”表明这是一个包含与Lucene、JE分词和HTMLParser相关的Java库的集合。这些组件在IT领域中有着特定的应用,特别是对于文本处理和搜索引擎构建。 首先,让我们详细了解...

    lucene-highlighter-2.2.0.jar

    lucene-highlighter-2.2.0.jarlucene-highlighter-2.2.0.jarlucene-highlighter-2.2.0.jarlucene-highlighter-2.2.0.jarlucene-highlighter-2.2.0.jarlucene-highlighter-2.2.0.jarlucene-highlighter-2.2.0.jar

    lucene-highlighter-2.2.0-src.zip

    《深入解析Lucene高亮显示源码:剖析`lucene-highlighter-2.2.0-src.zip`》 Lucene,作为一个开源全文检索库,以其高效、灵活的特点在信息检索领域广泛应用。在处理搜索结果时,为了提升用户体验,通常会采用高亮...

    lucene的简单介绍以及使用

    它不是一个可以直接使用的应用程序,而是一个为开发者提供构建全文搜索功能的底层库,核心库为 lucene-core-2.2.0.jar。Lucene 提供了丰富的 API 和工具,帮助开发人员在各种应用中实现高效的全文检索功能。 **...

    lucene、lucene.NET详细使用与优化详解

    《lucene、lucene.NET 详细使用与优化详解》 lucene 是一个广泛使用的全文搜索引擎库,其.NET版本称为lucene.NET,它提供了强大的文本检索和分析能力,适用于各种场景下的全文搜索需求。lucene 并非一个可以直接...

    NetRobot网络机器人

    本程序使用了Lucene 2.2.0作为全文索引引擎,使用庖丁分词(2.0.4-alpha)中文分词等一些开源包,本程序只实现了最基本的搜索引擎系统,现阶段只作为测试一下系统的性能,更多的功能有待添加。 对本程序有兴趣的...

    lucene使用总结笔记

    lucene使用总结笔记lucene使用总结笔记lucene使用总结笔记lucene使用总结笔记lucene使用总结笔记

    Lucene使用代码实例之搜索文档

    《Lucene使用代码实例之搜索文档》 Lucene是一个高性能、全文检索库,它提供了强大的文本分析和索引功能,广泛应用于搜索引擎开发和其他需要高效文本处理的场景。本篇文章主要面向初学者,通过实例详细解释如何使用...

    lucene整理文档,lucene详细描述,安装使用过程。

    **Lucene 概述** Lucene 是一个高性能、全文本搜索库,由 Apache 软件基金会开发并维护。它是开源的 Java 库,广泛应用于各种应用程序中,为开发者提供了强大的文本检索功能。Lucene 提供了索引和搜索文本的基本...

    lucene3.0.3搜索的使用示例

    这个"lucene3.0.3搜索的使用示例"压缩包文件很可能是为了帮助用户理解并学习如何在项目中应用Lucene 3.0.3版本的功能。 在Lucene 3.0.3中,主要包含了以下核心概念和知识点: 1. **索引(Indexing)**:这是Lucene...

    Lucene原理及使用总结

    【谁在使用Lucene】 许多知名项目和产品都在使用Lucene,例如Eclipse的内置帮助搜索系统,Jive Web论坛,以及EyeBrows邮件列表的HTML归档、浏览和查询系统。这表明Lucene在各种领域都得到了广泛应用,尤其在信息...

    Lucene 索引的简单使用

    本篇文章将详细阐述如何使用Lucene来创建和查询索引,帮助你深入理解其核心概念和操作流程。 ### 1. Lucene基本概念 - **文档(Document)**:在Lucene中,一个文档代表你要索引的信息单元,它可以包含多个字段...

    lucene3 例子

    博文链接中提到的是一个关于Lucene3的博客文章,可能详细介绍了如何在实际项目中使用Lucene进行全文检索。博主"chinaxxren"在ITEYE上分享了这篇博客,虽然具体内容未在描述中给出,但我们可以推测博主可能讲解了以下...

    lucene详细使用教程

    在使用 Lucene 之前,首先需要将其添加到项目依赖中。如果你使用的是 Maven,可以在 pom.xml 文件中添加对应的 Lucene 依赖。对于其他构建工具,如 Gradle 或 Ivy,也有相应的配置方式。确保选择与项目所用 Java ...

Global site tag (gtag.js) - Google Analytics