如何获取使用Nest找到的文档总数?

时间:2014-09-25 14:12:50

标签: elasticsearch nest

我使用嵌套执行相同的请求,并直接在ElastichSearch中执行。 当我看到直接请求时,有多少文档符合请求。

  "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));

如何使用Nest找出合适的文档数量?

2 个答案:

答案 0 :(得分:8)

Total上有ISearchResponse个属性,其中包含与查询匹配的文档总数。在您的示例中,这将是search.Total

答案 1 :(得分:1)

最好的方法是使用official documentation

建议的方法计数

这里是代码

RegistryKey regKey = Registry.LocalMachine.OpenSubKey("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AutoRotation", true);

if(regKey != null)
{
   regKey.SetValue("Enable", "0", RegistryValueKind.DWord);
   regKey.Close();
}