0
나는 필드가를 산출은 .IN()와 어디에요(), 그는 2566 개 레코드의 총 집합에RavenDB : 다른 결과
Index(x => x.Status, FieldIndexing.Default);
로 인덱싱합니다.
는 이제 다음과 같이 쿼리 할 때 :
query = query.Where(x => !x.Status.In("inactive", "invalid", "sold"));
내가 총 결과를 얻을 :이 같은 쿼리 경우
var query = _ravenSession
.Query<MyIndex.ReduceResult, MyIndex>()
.Statistics(out stats);
query = query.Where(x => x.Status != "inactive" && x.Status != "invalid" && x.Status != "sold");
내가 2512
의 총 결과 수를 얻을하지만, 이 숫자는 어떻게 다릅니 까?
내가 첫 번째 쿼리가
로 변환 것을 볼 수 있습니다 {((((-Status : 비활성 상태 : *) 및 -Status : 무효)) 및 -Status : 판매)}
와 두 번째 :
{(:와 - @ < in` 상태 > : (비활성, 무효, 판매))}
감사합니다. C# 관점에서는이 두 표현식이 동일해야합니다. 그리고 저는 Lucene 구문에 깊이 빠져들지 않아서 저를 버렸습니다. 내가 올바르게 이해한다면 첫 번째 질의 (처리 될 때)는 암시 적으로 널 검사를 포함합니다. 그리고 저는 실제로 몇몇 레코드에 대해 필드에 null 값을 가졌습니다. –