본문 바로가기

Lucene

[lucene] PharseQuery

PharseQuery
색인에는 텀의 위치 정보가 있음. 두개의 텀 사이의 정확한 거리가 얼마인지에 대한 정보를 가지고 문서를 찾아냄.

검색하려는 텀을 본문의 텀과 일치시키는 방향으로 움직일 수 있는 이동 횟수의 최대값. -> 슬롭(slop)값
기본값은 0으로 정확히 일치하는 문장을 찾음.

test 구문
the quick brown fox jumped over the lazy dog

slop 0이면
quick fox 로 검색하면 검색 안됨

slop 1이면
검색 됨 fox를 한번만 움직이면 quick [brown] fox 가 되기 때문.

만약 fox quick으로 검색하면 fox를 3번 움직여야 quick [brown] fox가 됨.

다중텀도 지원한다. 한 문장에서 얼마나 많은 텀을 사용하는지에 관계 없이 슬롭 값은 텀을 순서대로 맞추기 위해 움직일 수
있는 최대 횟수가 됨

quick, jumped , lazy는 slop 4필요
lazy, jumped, quick은 slop 8 필요

QueryParser는 "quick fox"~3 식으로 표현하면
pharseQuery를 생성한다.


출처 : 루씬 인 액션