lucene分词索引问题

zhuangli_2008 2009-02-17 09:44:25
网上有好多lucene的简单用法
例如
try {
Analyzer analyzer = new StandardAnalyzer();

//将索引存在内存中
Directory directory = new RAMDirectory();
//将索引存在磁盘的话,用下面这句
//Directory directory = FSDirectory.getDirectory("/tmp/testindex", true);
IndexWriter iwriter = new IndexWriter(directory, analyzer, true);
iwriter.setMaxFieldLength(25000);
Document doc = new Document();
TokenStream stream=analyzer.tokenStream("content",new StringReader("你们好啊,为什么"));
/* String text = "你们好啊,为什么nn";
doc.add(new Field("fieldname", text, Field.Store.YES,
Field.Index.TOKENIZED)); */

doc.add(new Field("fieldname",stream));
iwriter.addDocument(doc);
iwriter.close();


IndexSearcher isearcher = new IndexSearcher(directory);
// Parse a simple query that searches for "text":
QueryParser parser = new QueryParser("fieldname",analyzer);
Query query = parser.parse("为什么");

Hits hits = isearcher.search(query);
if(hits.length() == 1)
{
System.out.println("搜索\"text\"");
Document d = hits.doc(0);
System.out.println(d.get("fieldname"));
}else
{
System.out.println("没有搜索到结果");
}
// 遍历搜索结果:
for (int i = 0; i < hits.length(); i++) {
Document hitDoc = hits.doc(i);
System.out.println(hitDoc.get("fieldname"));
}
isearcher.close();
directory.close();
} catch (IOException e) {
e.printStackTrace();
} catch (ParseException e) {
e.printStackTrace();
}

}
如上面所示例子,在拥红色部分时可以出结果,但用蓝色tokenstream后就不行,这是为什么呢
我想用那个tokenstream的分词结果。
还有tokenStream(String fieldName, Reader reader)
中的fieldName与doc.add(new Field("fieldname",stream));中的fieldname有什么区别或联系啊
...全文
130 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hauver_xu 2011-04-14
  • 打赏
  • 举报
回复
hauver_xu 2011-04-14
  • 打赏
  • 举报
回复
www.tongcun.org
lingdunanren 2009-05-29
  • 打赏
  • 举报
回复
顶一下
careers1111 2009-05-21
  • 打赏
  • 举报
回复
学习一下,鼎
yuanjian0211 2009-05-01
  • 打赏
  • 举报
回复
推荐一个中文分词器:
http://www.shuzhen.net
FityWang 2009-02-27
  • 打赏
  • 举报
回复
关注
liguangwen86 2009-02-18
  • 打赏
  • 举报
回复
帮顶一下

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧