[LUCENE] PositionIncrementAttribute

PositionIncrementAttribute 인터페이스는
토큰 스트림과 현재 토큰과의 관계를 정의 한다.

(인도양) 이라는 이전 토큰이 있다고 하자,

다음으로 분석한 (남태평양) 토큰의 PositionIncrementAttribute 값을 1로 설정한다면, 이 토큰은 (인도양)의 다음에 위치하게 된다.

(인도양) -- (남태평양) 

setPositionIncrement(1) 방법으로 이런 조작이 가능하다.

다른 setPositionIncrement(0)으로 설정 시 같은 포지션에 여러 개의 텀을 위치하게 하는 것이 가능한데, 이 방법은 꽤 유용하다.

 (남태평양)
 (남) (태평양) 

위와 같은 낱말 분석형의 분기(stemming)가 있다고 할 때, 이 방법으로 두 분석형 모두 검색 대상이 되도록 할 수 있다. 
즉, (남)(태평양) 을 추가할 때 포지션을 '0'으로 설정하자.

(인도양)(남태평양)
            (남)(태평양) 

위와 같은 토큰 스트림을 만들 수 있다.


출처:https://lucene.apache.org/core/2_9_4/api/core/org/apache/lucene/analysis/tokenattributes/PositionIncrementAttribute.html

덧글

댓글 입력 영역