弹出搜索查询所有匹配文档的总计数值

时间:2017-09-19 16:03:09

标签: c# .net elasticsearch nest

我是ElasticSearch .NET集成的新手。我正在搜索我的索引数据(我已经索引了超过10000条记录,但是当我搜索时,我只得到最多250条记录,即使所有10000条记录都应该出现,因为所有记录都以搜索到的值开始

请查看我写的查询:

string UniqueID ='h';
var result = client.Search<MemberListDto>(s => s
                   .Query(q =>
                               q.MatchPhrasePrefix((mq => mq.Field(f => f.UniqueID).Query(UniqueID)))
                       ));

            return result.Total;

注意:所有UniqueID值均以&#39; h&#39;而我正在给予UniqueID =&#39; h&#39;只要。

请帮助我,如果满足查询字词值,如何计算所有10000条记录。

这是我想要索引的POCO C#类对象:

public class MemberListDto
{

    [String(Analyzer = "keyword", SearchAnalyzer = "keyword")]
    public string UniqueID { get; set; }
    [String(Analyzer ="keyword",SearchAnalyzer ="keyword")]
    public string Name{ get; set; }

}

以下是我试图对MemberListDto对象列表进行批量索引的通用代码:

public void CreateBulkIndex<T>(List<T> data, string indexName, string typeName) where T : class
    {

        if (!_client.IndexExists(ElasticConfig.IndexName).Exists)
        {
            var indexDescriptor = new CreateIndexDescriptor(ElasticConfig.IndexName)
                .Mappings(ms => ms
                    .Map<T>(m => m.AutoMap()));

            _client.CreateIndex(ElasticConfig.IndexName, i => indexDescriptor);
        }
        _client.Bulk(b => b.IndexMany(data, (d, doc) => d.Document(doc).Index(indexName)));

    }

1 个答案:

答案 0 :(得分:0)

尝试通过调用Size来设置尺寸。您将收到默认的响应文档。 请参阅this on Elastic了解如何设置尺寸