1

luceneで正確なフレーズのインデックスを取得する必要があります。これを使用して取得した1つの単語のインデックス:

TermFreqVector termFreqVector = reader.getTermFreqVector(docId, "content");
TermPositionVector termPositionVector = (TermPositionVector) termFreqVector;
int termIndex = termFreqVector.indexOf(searcWord);

これtermFreqVector.indexOf(searcWord)により、検索語のインデックスが返されます。

問題は、フレーズを検索し、そのインデックスを取得する必要があることです。termFreqVectorにフレーズを渡すと、常に返されます-1が、そのフレーズが存在することは100%確信しています。これに対する解決策はありますか?

4

1 に答える 1

1

手動で行う必要があります。たとえば、フレーズが である場合、オフセットの用語が であるすべての位置をpresident obama見つける必要があります。ipresidenti+1obama

于 2012-05-10T08:08:28.207 に答える