NEST ElasticSearch过滤器不返回所有值

时间:2014-09-08 13:39:01

标签: elasticsearch nest

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

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

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

D Volsky是正确的,默认大小为10.您可以在此处的文档中看到此内容:http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-from-size.html

这样做的原因是,即使分数较低,也可能会返回看似完全不相关的结果。您可以尝试让查询返回1000或更多结果,但将min_score应用于结果。 min_score可能有助于确保您的结果仍然相关。 min_score的文档在这里: http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-min-score.html