搜索 API 的 ElasticSearch 未返回所有日志

Search API for ElasticSearch not returning all the logs

我想使用 NEST 从 asp.net 核心网络 api 应用程序中获取来自 elasticsearch 的所有日志。我创建了一个名为 ESController 的控制器来获取 elasticsearch 中的日志。但是,当我这样做时,它大摇大摆地只显示第一个日志而不是整个日志列表。我什至写信给控制台,看看我是否也可以在那里查看这些日志,但它没有显示。我没有日志的模型 class。 我对 .net 应用程序中来自 elasticsearch 的日志 retrieve/extract 做错了什么吗?

控制台显示:“根据 POST 上的成功 (200) 低级别调用构建的有效 NEST 响应:/elastic-search-app-logs%2A/_search?typed_keys=true”

大摇大摆:

如果我错了请纠正我,但是在 ElasticSearch CLI 运行 下面的命令将显示来自 elasticsearch 的日志:

GET elastic-search-app-logs*/_search
{
  "query": {
    "match_all": {}
  }
}

所以我想做的是用 NEST 将这段代码翻译成 .net。

我想要从 elasticsearch read/extract 到 .net 应用程序的日志

任何 pointers/suggestions 将不胜感激!!

即使使用 match_all 过滤器,_search API 的结果数量也会受到限制 return。

从 Elasticsearch 获取 所有 结果的传统方法是 scroll search。最近,推荐的方法是改用 search_after(有关更多信息,请参阅滚动搜索 link)。

NEST 客户端的文档涵盖了 search_after and scrolling

_search API 默认限制为 10,000 个结果。虽然不推荐,但您可以使用 index.max_result_window index setting.

更改限制

[编辑:错字修复]