请问Highlighter如何处理大文本。是否可以以文件流的形式处理

doingwell 2010-11-19
   请教您一个Lucene初学者的问题:在使用Highlighter做高亮显示的处理过程中Highlighter所提供的“getBestFragments”方法必须把要处理的内容以String的形式传参进去。而我现在遇到的问题是:
   我要处理的内容都是较大的文本(1M以上的TXT,以单独文件形式存储,没有存储到索引文件中)在这里如果全部当成字符串读取出来会发生内存溢出。而采用把文件分段处理的话,又会存在把一个完整的词拆开的可能。有没有办法以文件流的形式来处理高亮显示?


补充第二个新手问题,前辈们见笑了:
问题2:在建立索引的时候,如果把文件内容存储在索引文件中:
doc.add(new Field(FIELD_CONTENT,"文件内容",Field.Store.YES,Field.Index.ANALYZED,Field.TermVector.WITH_POSITIONS_OFFSETS));

这样的内容,在做高亮显示时就没有问题,但是如果不存储在索引文件中,而只存路径的话,在做高亮显示处理时再从TXT文本文件中读取的话,高亮处理时的定位就不准。请问这是为什么。
Global site tag (gtag.js) - Google Analytics