- 浏览: 927928 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (445)
- 备忘 (0)
- java基础 (28)
- jsp (15)
- css (4)
- javascript (30)
- struts (7)
- servlet (2)
- struts2 (7)
- jdbc (16)
- hibernate (22)
- ibatis (0)
- jpa (1)
- spring (17)
- spring定时任务 (8)
- 整合开发 (12)
- JavaArticle (0)
- php (6)
- velocity (2)
- mysql (19)
- sqlserver (52)
- oracle (23)
- lucene (49)
- ajax (13)
- dwr (5)
- JFreeChart (1)
- service (14)
- tools (18)
- c#基础 (20)
- 程序安全 (0)
- 学习网站 (1)
- 社会需求 (2)
- flash (1)
- 流媒体 (1)
- java_code (1)
- htmlparser (1)
- 速动画教程 (5)
- 设计模式 (1)
- xml操作 (2)
- uml操作 (4)
- 测试 (1)
- linux (8)
- 版本控制 (4)
- 服务器 (12)
- 安全 (6)
- 美工 (2)
最新评论
-
Zhang_amao:
我想问一下, 你用的lucene版本和highligher的版 ...
使用Lucene的Highlighter实现文件摘要的自动提取 -
wangmengfanwangzhi:
博主,你的QQ是什么啊?有关于lucene的问题想要请教啊~~ ...
Lucene下载及测试 -
cutesunshineriver:
讲得很好,理解起来很顺,对个人学习的帮助性很大,谢谢博主。
velocity入门一 -
libin2722:
我这里有一个任务调度,在晚上3点时候会自动将数据库中某表的数据 ...
Lucene-2.2.0 源代码阅读学习(16) -
greatwqs:
java -cp $JVM_ARGS $classpath ...
java的cp命令
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。
发表评论
-
创建索引的时候出现的错误
2010-01-04 10:13 1701<OFMsg>251658517"1&q ... -
SQLServer2005获取大数据集时内存不足的解决办法
2009-02-12 10:59 1987今天在修改search的建立索引的程序的时候,发现了这个错误 ... -
使用Lucene的Highlighter实现文件摘要的自动提取
2009-02-06 16:52 6646使用Lucene自带的Highlighter就可以实现对原始文 ... -
Lucene倒排索引原理
2009-02-06 16:08 1153Lucene是一个高性能的java全文检索工具包,它使用的是倒 ... -
Lucene关键字高亮显示
2009-02-06 15:53 2375在Lucene的org.apache.lucene.s ... -
Lucene-2.2.0 源代码阅读学习(42)
2009-02-06 15:46 1332关于Hits类。这个Hits类 ... -
Lucene-2.2.0 源代码阅读学习(41)
2009-02-06 15:40 1109当执行Hits htis = search(query);这一 ... -
Lucene-2.2.0 源代码阅读学习(40)
2009-02-06 15:34 1195关于Lucene检索结果的排序问题。 已经知道,Lucene的 ... -
Lucene-2.2.0 源代码阅读学习(39)
2009-02-06 15:31 1118关于Lucene得分的计算。 在IndexSearcher类中 ... -
Lucene-2.2.0 源代码阅读学习(38)
2009-02-06 15:13 1129关于QueryParser。 QueryParser是用来解析 ... -
Lucene-2.2.0 源代码阅读学习(37)
2009-02-06 15:06 1065关于MultiTermQuery查询。 这里研究继承自Mult ... -
Lucene-2.2.0 源代码阅读学习(36)
2009-02-06 15:05 1018关于MultiTermQuery查询。 这里研究FuzzyQu ... -
Lucene-2.2.0 源代码阅读学习(35)
2009-02-06 15:03 941于MultiPhraseQuery(多短语查询)。 Multi ... -
Lucene-2.2.0 源代码阅读学习(34)
2009-02-06 15:02 971关于PhraseQuery。 PhraseQuery查询是将多 ... -
Lucene-2.2.0 源代码阅读学习(33)
2009-02-06 15:01 996关于范围查询RangeQuery。 ... -
Lucene-2.2.0 源代码阅读学习(32)
2009-02-06 15:00 889关于SpanQuery(跨度搜索),它是Query的子类,但是 ... -
Lucene-2.2.0 源代码阅读学习(31)
2009-02-06 14:58 947关于前缀查询PrefixQuery(前缀查询)。 准备工作就是 ... -
Lucene-2.2.0 源代码阅读学习(30)
2009-02-06 14:57 755关于Query的学习。 主要使用TermQuery和Boole ... -
Lucene-2.2.0 源代码阅读学习(29)
2009-02-06 14:54 1158关于IndexSearcher检索器。 ... -
Lucene-2.2.0 源代码阅读学习(28)
2009-02-06 14:48 1284关于检索的核心IndexSearcher类。 IndexSea ...
相关推荐
《Lucene 2.2.0与5.5.0:搜索引擎开发的关键工具》 Lucene,一个由Apache软件基金会开发的全文检索库,是Java编程语言中的一个核心工具,被广泛应用于各种搜索引擎的开发中。它提供了强大的文本分析、索引构建和...
《Apache Lucene 2.2.0:全文检索框架的基石》 Apache Lucene 是一个高性能、全文本搜索引擎库,而Lucene 2.2.0则是这一系列版本中的一个重要里程碑。作为一个开源项目,Lucene 提供了强大的文本分析、索引构建以及...
《深入剖析Lucene 2.2.0源代码》 Lucene是一款强大的开源全文搜索引擎库,由Apache软件基金会开发并维护。它为Java开发者提供了一种高性能、可扩展的文本检索核心工具。本文将深入探讨Lucene 2.2.0版本的源代码,...
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-...
开发者可能会在这里看到如何设置Heritrix的爬虫规则,如何使用Spring来组织和管理各个组件,以及如何使用htmlparser来解析抓取的网页内容并准备它们供Lucene索引。 综上所述,这个项目涉及到的关键技术包括使用...
在前面Lucene-2.2.0 源代码阅读学习(1)中,根据Lucene提供的一个Demo,详细分析研究一下索引器org.apache.lucene.index.IndexWriter类,看看它是如果定义的,掌握它建立索引的机制。 通过IndexWriter类的实现源代码...
标题中的“lucene_JE分词_htmlParser--jar包”表明这是一个包含与Lucene、JE分词和HTMLParser相关的Java库的集合。这些组件在IT领域中有着特定的应用,特别是对于文本处理和搜索引擎构建。 首先,让我们详细了解...
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高亮显示源码:剖析`lucene-highlighter-2.2.0-src.zip`》 Lucene,作为一个开源全文检索库,以其高效、灵活的特点在信息检索领域广泛应用。在处理搜索结果时,为了提升用户体验,通常会采用高亮...
它不是一个可以直接使用的应用程序,而是一个为开发者提供构建全文搜索功能的底层库,核心库为 lucene-core-2.2.0.jar。Lucene 提供了丰富的 API 和工具,帮助开发人员在各种应用中实现高效的全文检索功能。 **...
《lucene、lucene.NET 详细使用与优化详解》 lucene 是一个广泛使用的全文搜索引擎库,其.NET版本称为lucene.NET,它提供了强大的文本检索和分析能力,适用于各种场景下的全文搜索需求。lucene 并非一个可以直接...
本程序使用了Lucene 2.2.0作为全文索引引擎,使用庖丁分词(2.0.4-alpha)中文分词等一些开源包,本程序只实现了最基本的搜索引擎系统,现阶段只作为测试一下系统的性能,更多的功能有待添加。 对本程序有兴趣的...
lucene使用总结笔记lucene使用总结笔记lucene使用总结笔记lucene使用总结笔记lucene使用总结笔记
《Lucene使用代码实例之搜索文档》 Lucene是一个高性能、全文检索库,它提供了强大的文本分析和索引功能,广泛应用于搜索引擎开发和其他需要高效文本处理的场景。本篇文章主要面向初学者,通过实例详细解释如何使用...
**Lucene 概述** Lucene 是一个高性能、全文本搜索库,由 Apache 软件基金会开发并维护。它是开源的 Java 库,广泛应用于各种应用程序中,为开发者提供了强大的文本检索功能。Lucene 提供了索引和搜索文本的基本...
这个"lucene3.0.3搜索的使用示例"压缩包文件很可能是为了帮助用户理解并学习如何在项目中应用Lucene 3.0.3版本的功能。 在Lucene 3.0.3中,主要包含了以下核心概念和知识点: 1. **索引(Indexing)**:这是Lucene...
【谁在使用Lucene】 许多知名项目和产品都在使用Lucene,例如Eclipse的内置帮助搜索系统,Jive Web论坛,以及EyeBrows邮件列表的HTML归档、浏览和查询系统。这表明Lucene在各种领域都得到了广泛应用,尤其在信息...
本篇文章将详细阐述如何使用Lucene来创建和查询索引,帮助你深入理解其核心概念和操作流程。 ### 1. Lucene基本概念 - **文档(Document)**:在Lucene中,一个文档代表你要索引的信息单元,它可以包含多个字段...
博文链接中提到的是一个关于Lucene3的博客文章,可能详细介绍了如何在实际项目中使用Lucene进行全文检索。博主"chinaxxren"在ITEYE上分享了这篇博客,虽然具体内容未在描述中给出,但我们可以推测博主可能讲解了以下...
在使用 Lucene 之前,首先需要将其添加到项目依赖中。如果你使用的是 Maven,可以在 pom.xml 文件中添加对应的 Lucene 依赖。对于其他构建工具,如 Gradle 或 Ivy,也有相应的配置方式。确保选择与项目所用 Java ...