elasticsearch NEST ElasticSearch过滤器不';t返回所有值,elasticsearch,nest,elasticsearch,Nest" /> elasticsearch NEST ElasticSearch过滤器不';t返回所有值,elasticsearch,nest,elasticsearch,Nest" />

elasticsearch NEST ElasticSearch过滤器不';t返回所有值

elasticsearch NEST ElasticSearch过滤器不';t返回所有值,elasticsearch,nest,elasticsearch,Nest,所以我尝试下面的查询,但只得到10个结果。我想要所有匹配的结果 elasticSearchQuery = (q => q.Filtered(frd => frd .Query(qf => qf.MatchAll()) .Filter(f => f.Bool(b => b.Must(mt =>

所以我尝试下面的查询,但只得到10个结果。我想要所有匹配的结果

elasticSearchQuery = (q => q.Filtered(frd => frd
                     .Query(qf => qf.MatchAll())
                     .Filter(f => f.Bool(b =>
                             b.Must(mt =>
                             mt.Term("productType", productTypeId)
                     )))));

MatchAll部分似乎不起作用。我做错了什么?

您必须指定结果的数量。From和size可以设置为请求参数,也可以在搜索正文中设置。从默认值到0,大小默认值为10。

D沃斯基正确,默认大小为10。您可以在以下文档中看到:

原因是,即使分数很低,看起来完全不相关的结果也可能返回。您可以尝试让查询返回1000个或更多结果,但对结果应用min_分数。min_分数可能有助于确保您的结果仍然相关。关于min_分数的文件如下:

但我想要全部!我不知道可能有多少?那么,就像将int.MaxValue设置为Size一样?您有两个选项,执行count query并获取所有结果,或者使用From和Size对结果进行迭代。