首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

三) 第一章 初识Lucene:一个简单的实例

2012-08-21 
3) 第一章 初识Lucene:一个简单的实例还是看代码来的直接:?1. 索引??2. 搜索??1 楼shantouyyt2012-02-28请

3) 第一章 初识Lucene:一个简单的实例

还是看代码来的直接:

?

1. 索引

?

?

2. 搜索

?

?    1 楼    shantouyyt    2012-02-28              请问下,当索引的时候,用的是这种方式,new FileReader(f)
// 7 索引文件的文本内容 
        doc.add(new Field("contents", new FileReader(f)));

那当搜索结果的时候,doc.get("contents") 这样得出来的是null。。。该如何做??
是不是 先取得 doc.get("filename") 文件路径,再来读取文本里面的内容??

还有一个问题,高亮显示的时候,如果用的是  doc.add(new Field("contents", new FileReader(f))); ,这样没办法高亮了。。。
// 高亮
Formatter formatter = new SimpleHTMLFormatter("<font color='red'>",
"</font>");
Scorer scorer = new QueryScorer(query);
Highlighter highlighter = new Highlighter(formatter, scorer);

Fragmenter fragmenter = new SimpleFragmenter(50);
highlighter.setTextFragmenter(fragmenter);
// 返回高亮后的结果,如果当前属性值没有出现关键字则出现null
String hc = highlighter.getBestFragment(analyzer, "content",
document.get("content"));
2 楼 BuN_Ny 2012-02-28   shantouyyt 写道请问下,当索引的时候,用的是这种方式,new FileReader(f)
// 7 索引文件的文本内容 
        doc.add(new Field("contents", new FileReader(f)));

那当搜索结果的时候,doc.get("contents") 这样得出来的是null。。。该如何做??
是不是 先取得 doc.get("filename") 文件路径,再来读取文本里面的内容??

还有一个问题,高亮显示的时候,如果用的是  doc.add(new Field("contents", new FileReader(f))); ,这样没办法高亮了。。。
// 高亮
Formatter formatter = new SimpleHTMLFormatter("<font color='red'>",
"</font>");
Scorer scorer = new QueryScorer(query);
Highlighter highlighter = new Highlighter(formatter, scorer);

Fragmenter fragmenter = new SimpleFragmenter(50);
highlighter.setTextFragmenter(fragmenter);
// 返回高亮后的结果,如果当前属性值没有出现关键字则出现null
String hc = highlighter.getBestFragment(analyzer, "content",
document.get("content"));


没有设置Store的话是需要根据filename找到文本的。文本内容过长的话,可以存一些摘要。
后面的高亮问题没懂。

热点排行