2011-03-25 57 views
3

如果我创建一个文档并添加一个既存储又分析的字段,那么我怎样才能将这个字段读回为一个标记列表?我有以下内容:如何在分析后读取Lucene文档字段标记?

  Document doc = new Document(); 
      doc.add(new Field("url", fileName, Store.YES, Index.NOT_ANALYZED)); 
      doc.add(new Field("text", fileContent, Store.YES, Index.ANALYZED)); 
      // add the document to the index 
      writer.addDocument(doc); 

所以fileContext是一个包含大量文本的字符串。对它进行分析时,它被存储在索引中时被标记。但是,我如何获得这些令牌?我可以在索引存储后从索引中检索文档,并且可以从文档中读取“文本”字段,但是这是以字符串形式返回的。我想尽可能得到令牌。我的'作家'是一个IndexWriter实例,它使用StandardAnalyzer。任何指针都会非常受欢迎。

非常感谢您

+0

你是什么意思的“代币”? – BrokenGlass 2011-03-25 02:24:26

回答

4

退房document.getField("name").tokenStreamValue()

编辑:其实this question给你使用上述TokenStream完整的解决方案。

+0

非常好,非常感谢你。 Regards – Joeblackdev 2011-03-25 11:17:57

+1

Yaaaaayyyy!那篇文章很好,正是我所需要的:D – Joeblackdev 2011-03-25 11:18:35