﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-liuqiang5151-文章分类-Lucene</title><link>http://www.blogjava.net/liuqiang5151/category/26569.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 16 Nov 2007 16:42:52 GMT</lastBuildDate><pubDate>Fri, 16 Nov 2007 16:42:52 GMT</pubDate><ttl>60</ttl><item><title>Lucene高亮显示</title><link>http://www.blogjava.net/liuqiang5151/articles/161088.html</link><dc:creator>刘强</dc:creator><author>刘强</author><pubDate>Fri, 16 Nov 2007 10:03:00 GMT</pubDate><guid>http://www.blogjava.net/liuqiang5151/articles/161088.html</guid><wfw:comment>http://www.blogjava.net/liuqiang5151/comments/161088.html</wfw:comment><comments>http://www.blogjava.net/liuqiang5151/articles/161088.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuqiang5151/comments/commentRss/161088.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuqiang5151/services/trackbacks/161088.html</trackback:ping><description><![CDATA[&nbsp;要获取高亮的功能，首先应导入另外的一个jar&nbsp;-- lucenehighlighter.jar<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">TokenStream&nbsp;tokenStream&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;StandardAnalyzer().tokenStream(</span><span style="color: #000000">"</span><span style="color: #000000">Content</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;StringReader(content));</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;在Content域查找关键字content</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SimpleHTMLFormatter&nbsp;simpleHTMLFormatter&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;SimpleHTMLFormatter(</span><span style="color: #000000">"</span><span style="color: #000000">&lt;span&nbsp;class=\</span><span style="color: #000000">"</span><span style="color: #000000">highlight\</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000">"</span><span style="color: #000000">,</span><span style="color: #000000">"</span><span style="color: #000000">&lt;/span&gt;</span><span style="color: #000000">"</span><span style="color: #000000">);&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;这是定义了在页面如何通过css来控制关键字的特征</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String[]&nbsp;str&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;queryContent.split(</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BooleanQuery&nbsp;booleanQuery&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;BooleanQuery();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;QueryParser&nbsp;queryParser&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;QueryParser(</span><span style="color: #000000">"</span><span style="color: #000000">Content</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;StandardAnalyzer());<br />
<img id="Codehighlighter1_456_553_Open_Image" onclick="this.style.display='none'; Codehighlighter1_456_553_Open_Text.style.display='none'; Codehighlighter1_456_553_Closed_Image.style.display='inline'; Codehighlighter1_456_553_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_456_553_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_456_553_Closed_Text.style.display='none'; Codehighlighter1_456_553_Open_Image.style.display='inline'; Codehighlighter1_456_553_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">(String&nbsp;s&nbsp;:&nbsp;str)</span><span id="Codehighlighter1_456_553_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_456_553_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Query&nbsp;query&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;queryParser.parse(s);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;booleanQuery.add(query,&nbsp;BooleanClause.Occur.MUST);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Highlighter&nbsp;highlighter&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Highlighter(simpleHTMLFormatter,</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;QueryScorer(booleanQuery));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;highlighter.setTextFragmenter(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;SimpleFragmenter(</span><span style="color: #000000">500</span><span style="color: #000000">));</span><span style="color: #008000">//</span><span style="color: #008000">the&nbsp;length&nbsp;of&nbsp;content</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;result&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;highlighter.getBestFragments(tokenStream,&nbsp;content,&nbsp;</span><span style="color: #000000">5</span><span style="color: #000000">,&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" />.</span><span style="color: #000000">"</span><span style="color: #000000">);&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">获取关键字出现最多的5个位置</span></div>
然后在页面用css来控制一下<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_11_100_Open_Image" onclick="this.style.display='none'; Codehighlighter1_11_100_Open_Text.style.display='none'; Codehighlighter1_11_100_Closed_Image.style.display='inline'; Codehighlighter1_11_100_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_11_100_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_11_100_Closed_Text.style.display='none'; Codehighlighter1_11_100_Open_Image.style.display='inline'; Codehighlighter1_11_100_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /><span style="color: #000000">.highlight&nbsp;</span><span id="Codehighlighter1_11_100_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_11_100_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color:&nbsp;#0099CC;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;font</span><span style="color: #000000">-</span><span style="color: #000000">size:&nbsp;13px;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;font</span><span style="color: #000000">-</span><span style="color: #000000">family:&nbsp;Tahoma;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;font</span><span style="color: #000000">-</span><span style="color: #000000">weight:&nbsp;bold;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div>
<br />
这样就ok了！！<br />
这是我搜索出来的效果<img alt="" src="http://www.blogjava.net/images/blogjava_net/liuqiang5151/1.jpeg" border="0" /><br />
<img src ="http://www.blogjava.net/liuqiang5151/aggbug/161088.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuqiang5151/" target="_blank">刘强</a> 2007-11-16 18:03 <a href="http://www.blogjava.net/liuqiang5151/articles/161088.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>获取关键词出现的频率及位置</title><link>http://www.blogjava.net/liuqiang5151/articles/153046.html</link><dc:creator>刘强</dc:creator><author>刘强</author><pubDate>Mon, 15 Oct 2007 09:54:00 GMT</pubDate><guid>http://www.blogjava.net/liuqiang5151/articles/153046.html</guid><wfw:comment>http://www.blogjava.net/liuqiang5151/comments/153046.html</wfw:comment><comments>http://www.blogjava.net/liuqiang5151/articles/153046.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liuqiang5151/comments/commentRss/153046.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liuqiang5151/services/trackbacks/153046.html</trackback:ping><description><![CDATA[<font color="#000000">终于清楚如何用读Lucene的索引 :-)。本文要介绍一下如何利用IndexReader获取信息。为什么要读索引呢？因为我需要实现这些功能：<br />
(1) 统计term在整个collection中的文档频度(document frequency, DF)；<br />
(2) 统计term在整个collection中出现的词次(term frequency in whole collection)；<br />
(3) 统计term在某个文档中出现的频度(term frequency, TF)；<br />
(4) 列出term在某文档中出现的位置(position)；<br />
(5) 整个collection中文档的个数；<br />
<br />
Lucene要加上新的功能，要获取关键词出现的频率，以前都是对Hits进行操作，但是hits只能获取相关的Document id 以及内容。<br />
上网搜了一下，通过IndexReader直接操作索引文件。<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_20_863_Open_Image" onclick="this.style.display='none'; Codehighlighter1_20_863_Open_Text.style.display='none'; Codehighlighter1_20_863_Closed_Image.style.display='inline'; Codehighlighter1_20_863_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_20_863_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_20_863_Closed_Text.style.display='none'; Codehighlighter1_20_863_Open_Image.style.display='inline'; Codehighlighter1_20_863_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;Search&nbsp;</span><span id="Codehighlighter1_20_863_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_20_863_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_103_344_Open_Image" onclick="this.style.display='none'; Codehighlighter1_103_344_Open_Text.style.display='none'; Codehighlighter1_103_344_Closed_Image.style.display='inline'; Codehighlighter1_103_344_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_103_344_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_103_344_Closed_Text.style.display='none'; Codehighlighter1_103_344_Open_Image.style.display='inline'; Codehighlighter1_103_344_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;main(String[]&nbsp;args)&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;CorruptIndexException,&nbsp;IOException</span><span id="Codehighlighter1_103_344_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_103_344_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IndexSearcher&nbsp;is&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;IndexSearcher(</span><span style="color: #000000">"</span><span style="color: #000000">c:\\test</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IndexReader&nbsp;ir&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;IndexReader.open(</span><span style="color: #000000">"</span><span style="color: #000000">c:\\test</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Term&nbsp;term&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Term(</span><span style="color: #000000">"</span><span style="color: #000000">content</span><span style="color: #000000">"</span><span style="color: #000000">,</span><span style="color: #000000">"</span><span style="color: #000000">我</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Query&nbsp;query&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;TermQuery(term);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hits&nbsp;hits&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;is.search(query);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printFreq(ir,hits);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img id="Codehighlighter1_448_861_Open_Image" onclick="this.style.display='none'; Codehighlighter1_448_861_Open_Text.style.display='none'; Codehighlighter1_448_861_Closed_Image.style.display='inline'; Codehighlighter1_448_861_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_448_861_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_448_861_Closed_Text.style.display='none'; Codehighlighter1_448_861_Open_Image.style.display='inline'; Codehighlighter1_448_861_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">private</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;printFreq(IndexReader&nbsp;reader,Hits&nbsp;hits)&nbsp;</span><span style="color: #0000ff">throws</span><span style="color: #000000">&nbsp;CorruptIndexException,&nbsp;IOException</span><span id="Codehighlighter1_448_861_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_448_861_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reader.numDocs();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Term&nbsp;term&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Term(</span><span style="color: #000000">"</span><span style="color: #000000">content</span><span style="color: #000000">"</span><span style="color: #000000">,</span><span style="color: #000000">"</span><span style="color: #000000">我</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TermPositions&nbsp;termPositions&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;reader.termPositions(term);<br />
<img id="Codehighlighter1_625_858_Open_Image" onclick="this.style.display='none'; Codehighlighter1_625_858_Open_Text.style.display='none'; Codehighlighter1_625_858_Closed_Image.style.display='inline'; Codehighlighter1_625_858_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_625_858_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_625_858_Closed_Text.style.display='none'; Codehighlighter1_625_858_Open_Image.style.display='inline'; Codehighlighter1_625_858_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;i</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">;i</span><span style="color: #000000">&lt;</span><span style="color: #000000">hits.length()</span><span style="color: #000000">&amp;&amp;</span><span style="color: #000000">termPositions.next();i</span><span style="color: #000000">++</span><span style="color: #000000">)</span><span id="Codehighlighter1_625_858_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_625_858_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Document&nbsp;doc&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;hits.doc(i);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">'我'在</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">"</span><span style="color: #000000">&lt;&lt;</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">doc.get(</span><span style="color: #000000">"</span><span style="color: #000000">title</span><span style="color: #000000">"</span><span style="color: #000000">)</span><span style="color: #000000">+</span><span style="color: #000000">"</span><span style="color: #000000">&gt;&gt;</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">"</span><span style="color: #000000">里出现的</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">"</span><span style="color: #000000">次数是:</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">termPositions.freq());<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">for</span><span style="color: #000000">(</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;j</span><span style="color: #000000">=</span><span style="color: #000000">0</span><span style="color: #000000">;j</span><span style="color: #000000">&lt;</span><span style="color: #000000">termPositions.freq();j</span><span style="color: #000000">++</span><span style="color: #000000">)<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">出现位置:</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">termPositions.nextPosition());<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span></div>
<br />
输出结果：<br />
'我'在&lt;&lt;2.txt&gt;&gt;里出现的次数是:1<br />
出现位置:1<br />
'我'在&lt;&lt;3.txt&gt;&gt;里出现的次数是:3<br />
出现位置:0<br />
出现位置:5<br />
出现位置:6</font>
<img src ="http://www.blogjava.net/liuqiang5151/aggbug/153046.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liuqiang5151/" target="_blank">刘强</a> 2007-10-15 17:54 <a href="http://www.blogjava.net/liuqiang5151/articles/153046.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>