Elasticsearch NEST 搜索查询太慢

Elasticsearch NEST search query too slow

我有 700 万份文件作为我的索引。使用 NEST 客户端,我正在使用此代码搜索“*”查询。

    var node = new Uri("http://localhost:9200");

            var settings = new ConnectionSettings(
                node,
                defaultIndex: "evaluation"
                );
            var client = new ElasticClient(settings);

            var result = client.Search<FtsResult>(s => s
                    .From(0)
                    .Fields(new[] { "id" })
                    .Indices(indexName)

                    .Size(Int32.MaxValue)
                    .Query(q => q
                    .QueryString(qs => qs.OnFields(new[] { "agentText", "customerText" }).Query("*"))
                    )

结果运行时间为 59.6 秒。 在 Kibana 中,相同的查询结果运行时间约为 4 秒。为什么 Nest 搜索查询根据 Kibana 太慢?

因为你这样做:

.Size(Int32.MaxValue)

我很惊讶您的节点不会 运行 内存不足 Size。使用较小的尺寸,或者如果您确实需要所有文档,请使用 scan&scroll.