2011-03-25 56 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