2010-08-20 52 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