lucene highlighter:我如何获得碎片的位置?

lucene highlighter:我如何获得碎片的位置?,lucene,highlighting,fragment,Lucene,Highlighting,Fragment,我知道如何使用Lucene highlighter,即使用 Highlighter highlighter = new Highlighter(scorer); String[] fragments = highlighter.getBestFragments(stream, fieldContents, fragmentNumber); 但是我能在原始内容中找到指向这些片段的指针吗?换句话说,我需要知道这些片段从哪里开始,如果可能的话,从哪里结束。如果改用GetBestTextFragmen

我知道如何使用Lucene highlighter,即使用

Highlighter highlighter = new Highlighter(scorer);
String[] fragments = highlighter.getBestFragments(stream, fieldContents, fragmentNumber);
但是我能在原始内容中找到指向这些片段的指针吗?换句话说,我需要知道这些片段从哪里开始,如果可能的话,从哪里结束。

如果改用GetBestTextFragments方法,您将返回一个TextFragments数组。它们具有textStartPos和textEndPos属性


它们在Lucene.NET中标记为internal,这将要求您进行一些代码更改以访问它们。我对Java Lucene不太确定。

也许这个链接可以帮助我,但我不确定它是否会有帮助,不过还是谢谢你的指针谢谢。Java Lucene 3.4.0有一个GetBestTextFragments方法,该方法返回TextFragment[],但TextFragment不允许访问任何位置信息。在Lucene的早期版本中似乎是这样的——不知道为什么会发生变化。