2011-11-27 2 views
0

문서 당 더 많은 수의 NumericField을 사용하여 색인이 생성 된 문서가 이미 있습니다. 는 지금은> 간격 예컨대 :여러 개의 숫자 필드 검색 Lucene

쿼리 < -3에서 모든 필드를 가지고있는 문서 + 3을 검색 할 : n1=7,n2=10,n3=12을 - 그리고 검색 간격에서 번호가있는 모든 문서를 반환해야합니다 : n1=<4,10>,n2=<7,13>,n3=<9,15>를.

질문 : 어떤 분석기가 필요한가요, 검색어 작성 방법, 검색 자의 사용 방법은 무엇입니까?

범위에서 검색하기 위해 만들어진 다른 도구를 사용할 수 없기 때문에 Lucene을 사용해야합니다.

감사

입니다 어떤 analzer 또는 수색자,
이처럼 정확한 쿼리를 구축하도록해야 필요가 없습니다

답변

2

: -

예 1 : 또는 (의미 일치 조건 중 하나)

(일치해야 세 괄호를 의미) 그리고 :
n1:(4 10) n2:(7 13) n3:(9 15) 

예 3 : 범위

n1:[4 TO 10] n2:[7 TO 13] n3:[9 TO 15] 

예 4 (귀하의 질문에 범위 검색 같은 소리) : 그리고

+n1:[4 TO 10] +n2:[7 TO 13] +n3:[9 TO 15] 
+0

큰 범위를, 감사합니다. NumericRangeQuery 등을 사용할 필요가 없습니까? – myro

+0

나는 루신 검색을 위해 Java를 결코 사용하지 않는다. 하지만 lucene 스키마 및 쿼리 구문에 대한 이해가 있습니다. 숫자 (범위)를 검색하려면 정수 필드 유형을 사용하려면 모두 n1, n2, n3이 필요합니다. 올바른 쿼리 구문 – ajreal