如果我创建了一个文档并添加了一个存储和分析的字段,那么我该如何将该字段作为标记列表读回?我有以下内容:
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是一个包含大量文本的String。对其进行分析,将其存储在索引中时进行标记化。但是,我怎样才能得到这些代币?我可以在存储后从索引中检索文档,并且我可以从文档中读取“text”字段,但这将作为字符串返回。如果可能的话,我想获得令牌。我的'writer'是一个IndexWriter实例,它使用StandardAnalyzer。任何指针都会非常受欢迎。
非常感谢
答案 0 :(得分:4)
结帐document.getField("name").tokenStreamValue()
。
编辑:实际上this question使用上述TokenStream
为您提供完整的解决方案。