2010-08-20 42 views
0

我一直在寻找像疯了一样的答案,但是这个我还蒙在鼓里:Lucene的TermPositionVector和检索索引位置方面

我使用

int[] getTermPositions(int index) 
一个TermPositionVector我的

必须有一个字段(已设置为存储偏移量和位置)以获取术语位置,我有兴趣在上下文中突出显示关键字。

问题:这些职位对应什么?显然不是由TermFreqVector接口返回的

String[] getTerms() 

,因为它只包含我的术语的原始计数。

我正在寻找的是一个办法让我的场“标记化”阵列,所以我可以再拔出各地通过getTermPositions(int index)

帮助返回的索引值周围的条款?谢谢一堆。

回答

0
int[] getTermPositions(int index) 

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

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} 
+0

我那么远,但现在如果我想在源5位和7获得的话所以我可以在上下文中输出“over the lazy”来显示'the'? – ebabchick 2010-08-22 07:18:28