2013-05-28 2 views
0

시험 그룹화에 : 1 AND NOT 부울 : 사실조합하지

수익률 5 개 문서

하지만를

시험 : 1 AND (NOT 부울 : 참)

0을 반환 문서

,

왜? 당신이 쿼리 test:1 독립적으로 실행되는 하위 쿼리를하게 괄호 안에 (NOT bool:true)을 배치 할 때

는 루씬 쿼리 형성

답변

1

나에게 괄호의 가치를 설명해주십시오. NOT Lucene의 절 결과 집합에서 요소를 제거 할 때만 아무 것도 찾지 못합니다. 예를 들어, SQL에서 사용 가능한 모든 값으로 암시 적으로 시작하고 절과 일치하지 않는 요소를 필터링합니다. Lucene에서는 아무것도 시작하지 않고 절을 기반으로 결과를 찾습니다. 쿼리 NOT bool:true은 일치하지 않는 것을 알려주지 만 Lucene에게 찾아서 반환 할 것을 제공하지 않습니다. 양식의 모든 쿼리는 :

(any query finding results) AND (NOT something) 

, 그 자체에, NOT something 아무것도 발견하지 않기 때문에, 제로 결과를 찾아 (something) AND (nothing) 반환 아무것도 것이다.

test:1 AND NOT bool:true 

인가 : 매우 저조한 수행 할 것이다, 그러나

test:1 AND (*:* AND NOT bool:true) 

, 그리고 첫 번째 예 : 당신처럼 외로운 NOT 절하기 전에, 먼저 값을 얻어서, 같은 검색을 수행 할 수 있습니다 확실히 정확한 것.

+0

설명해 주셔서 감사합니다. – rrsk