2014-09-25 2 views
1

둥지를 사용하고 ElastichSearch에서 직접 동일한 요청을합니다. 직접 요청을 볼 때 요청과 일치하는 문서의 수.Nest를 사용하여 찾은 문서의 총 수는 어떻게 알 수 있습니까?

"hits": 
    { 
    "total": 1640, 
    "max_score": 1, 
    "hits": [...] 
    } 

내 쿼리 둥지를 사용하여 얼마나 많은 문서에 적합한 요청

var search = client.Search<RCompany>(s => s.Index("MyIndex") 
.Query(qq => qq 
.Filtered(m => m.Filter(f => f.Bool(b => b 
.Must(
a => a.Term(z => z.Company.Code, param1), 
a => a.Terms(z => z.Company.Id, param2), 
a => a.Terms(z => z.Company.Field1.Id, param3) 
))) 
.Query(b => b.Bool(q => q.Should 
    (n => n.Match(a => a.OnField(d => d.Company.Field2).Query(param5).Operator(Operator.And)), 
    n => n.Match(a => a.OnField(d => d.Company.Field3).Query(param5).Operator(Operator.And)), 
    n => n.Match(a => a.OnField(d => d.Company.Field4).Query(param5).Operator(Operator.And)), 
    n => n.Match(a => a.OnField(d => d.Company.Field5).Query(param5).Operator(Operator.And)) 
))))) 
    .Size(10) 
    .SortDescending(n => n.DtCreate)); 

은 어떻게 찾을 수 있습니까?

답변

6

ISearchResponse에는 Total 속성에 쿼리와 일치하는 총 문서 수가 들어 있습니다. 귀하의 예에서는 search.Total입니다.

+0

가, 그렉 당신을 감사합니다 official documentation

제안한 방법 카운트을 사용하는 것입니다! 몇 가지 요청을했지만, 항상 내 크기와 일치하는 총 10 번입니다. 이것은 오도 된 것입니다. – helvar

+0

'Size'와'Total'은 서로 다른 두 가지입니다. 'Size'는 요청과 함께 반환 할 결과 수를 나타내며 (기본값은 10) 'From'(오프셋에서 시작하여 인덱스에서 시작)과 함께 사용됩니다. 이들은 페이지 매김에 유용합니다. 반면에 '합계'는 쿼리와 일치하는 실제 문서 수입니다. –

1

가장 좋은 방법은 여기에 코드

var result = client.Count<ElasticsearchProject>(); 
관련 문제