日期:2014-05-18  浏览次数:20698 次

用Lucene 做全文搜索,显示检索的内容为“NULL”,如何将内容显示出来?像GOOGLE一样,既有标题,又有一部分内容
用Lucene 做全文搜索,其他基本解决了,就是显示检索的内容为“NULL”,如何将内容显示出来?像GOOGLE一样,既有标题,又有一部分内容
doc.add(new Field("title", title, Field.Store.YES, Field.Index.TOKENIZED));
doc.add(new Field("contents", txtReader));//这样写出来的的NULL,不知道怎么写了。

------解决方案--------------------
我也想知道啊
------解决方案--------------------
建议查查随机文档。demo中应有示范吧。
------解决方案--------------------
顶一下,又知道新的knowledge了赫赫和
------解决方案--------------------
你这个只是建索引啊。你查询用的代码呢?
------解决方案--------------------
doc.add(new Field( "title ", title, Field.Store.YES, Field.Index.TOKENIZED));
doc.add(new Field( "contents ", txtReader));

标题可以显示,因为你用了 Field.Store.YES 说明此域存储在索引文件中,
new Field( "contents ", txtReader)构造方法中是Field.Index.TOKENIZED和Field.Store.NO的。
所以用 doc.get("contents"); 内容为 null了。因为它只是被索引了,而并没有被存储下来。如果一定要看到文章的内容的话可以通过文章的路径得到。毕竟文章的路径是作为搜索的附属物被搜索出来了。 如果是在Web开发的时候一般是将大数据放在数据库中,不会放在文件系统中,更不会放在索引目录里,像百度的快照一样,因为它太大了操作会加大服务器的负担。