Lucene TermPositionVector并在索引位置检索术语

时间:2010-08-20 05:11:24

标签: indexing lucene keyword

我一直看起来很生气,但是我仍然处于黑暗中:

我正在使用

int[] getTermPositions(int index)
我对一个字段(已设置为存储偏移和位置)的TermPositionVector的

,以获得我感兴趣的术语位置,在上下文中突出显示为关键字。

问题:这些职位对应的是什么?

显然不是
String[] getTerms()

由TermFreqVector接口返回,因为它只包含我的术语的原始计数。

我正在寻找的方法是获取我的字段的“标记化”数组,以便我可以围绕getTermPositions(int index)

返回的索引值拉出周围的术语

帮助?非常感谢。

2 个答案:

答案 0 :(得分:0)

int[] getTermPositions(int index)

返回术语i的术语位置数组。您可以使用

获取索引
int indexOf(String term)

TermFreqVector的方法。术语位置是给定术语出现的位置(以术语为单位)。例如,

// 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}

答案 1 :(得分:0)