Indexing Lucene TermPositionVector和在索引位置检索术语

Indexing Lucene TermPositionVector和在索引位置检索术语,indexing,lucene,keyword,Indexing,Lucene,Keyword,我一直在疯狂地寻找答案,但我仍然一无所知: 我正在使用 int[] getTermPositions(int index) 一个TermPositionVector的一个字段,它被设置为存储偏移量和位置,以获得我感兴趣的术语的术语位置,作为上下文中的关键字突出显示 问题是:这些立场对应什么?显然不是 String[] getTerms() 这是由TermFreqVector接口返回的,因为它只包含我的术语的原始计数 我要寻找的是一种获取字段的标记化数组的方法,这样我就可以从getTermPo

我一直在疯狂地寻找答案,但我仍然一无所知:

我正在使用

int[] getTermPositions(int index)
一个TermPositionVector的一个字段,它被设置为存储偏移量和位置,以获得我感兴趣的术语的术语位置,作为上下文中的关键字突出显示

问题是:这些立场对应什么?显然不是

String[] getTerms()
这是由TermFreqVector接口返回的,因为它只包含我的术语的原始计数

我要寻找的是一种获取字段的标记化数组的方法,这样我就可以从getTermPositionsint index返回的索引值中提取周围的术语

帮忙?非常感谢

int[] getTermPositions(int index)
返回项i的项位置数组。您可以使用

int indexOf(String term)
矢量法。术语头寸是以术语为单位的头寸,在该单位出现给定的术语。比如说,

// source text:
// term position 0   1     2     3   4     5    6   7    8
//               the quick brown fox jumps over the lazy dog

// terms:
// term index 0     1   2   3    4    5    6     7
//            brown dog fox jump lazy over quick the

// Suppose we want to find the positions where "the" occurs

int index = termPositionVector.indexOf("the"); // 7
int positions = termPositionVector.getTermPositions(index); // {0, 6}

好的,这将实现我想要的:


我已经说了那么远,但是现在如果我想得到源代码中位置5和7处的单词,这样我就可以在上下文中显示“the”了?