C# 无需滚动即可获取文档属性值-弹性搜索下一步
我用这种简化的结构为文档编制了索引:C# 无需滚动即可获取文档属性值-弹性搜索下一步,c#,
elasticsearch,nest,C#,
elasticsearch,Nest,我用这种简化的结构为文档编制了索引: public class Document { public string Id { get; set; } public string x { get; set; } } 我正在这样搜索它们: var initialResponse = client.Search<Document>(s => s.From(0) .Size(100).Scroll(scrollTimeout) .Query(q =&g
public class Document
{
public string Id { get; set; }
public string x { get; set; }
}
我正在这样搜索它们:
var initialResponse = client.Search<Document>(s => s.From(0)
.Size(100).Scroll(scrollTimeout)
.Query(q => q
.MatchPhrase(c => c
.Field(p => p.Attachment.Content)
.Analyzer("standard")
.Boost(1.1)
.Query(searchTerm)
)));
var initialResponse=client.Search(s=>s.From(0)
.Size(100).滚动(滚动超时)
.Query(q=>q
.MatchPhrase(c=>c
.Field(p=>p.Attachment.Content)
.分析仪(“标准”)
.Boost(1.1)
.Query(searchTerm)
)));
然后循环浏览文档(更多代码)。这显然需要时间,我想知道,我是否可以在一个负载中获得所有ID或更好的匹配文档的x值
谢谢 Elasticsearch有一个默认值为10000的
索引.max\u result\u窗口设置
这是您可以在单个请求中检索的最大文档数。如果您想获得更多信息,您需要使用滚动
或在
API之后搜索,就像您已经做的那样。谢谢。然而,一个聚合服务器端可以只获得聚合负载吗?@cs0815我相信你做不到。你必须在你的客户端完成。谢谢。哇,不知怎的,我看不出有什么意义。假设我只需要包含(模糊)术语的文档数量?在这种情况下,您可以发出一个查询,它会告诉您使用该术语找到的文档的确切数量。至于ES看不到点,ES作为搜索引擎被优化为返回top-k文档,因此限制:)