我是Elastic Ecosystem的新手,所以我不知道如何实际搜索我的问题。由于我对SQL更加了解,因此我将尝试解释使用它。
我有这个下面的索引模型
public class ElasticLogModel
{
//public Guid Id { get; set; }
public DateTime Datetime { get; set; }
public int Id1 { get; set; }
public int Id2 { get; set; }
public int Id3 { get; set; }
public int CategoryId { get; set; }
public string CategoryName { get; set; }
public int Counter1 { get; set; }
public int Counter2 { get; set; }
}
最后要列出的列表
public class POCO
{
public DateTime Datetime { get; set; }
public int Id1 { get; set; }
public int Id2 { get; set; }
public int Id3 { get; set; }
public string TopCategoryOfTheDay { get; set; }
public int TotalCounter1OfTheDay { get; set; }
public int TotalCounter2OfTheDay { get; set; }
public List<ElasticLogModel> LogModelsOfTheDay
}
我想过的最简单的解决方案是在获取我感兴趣的所有行之后利用Linq,但是我想知道是否可以通过将处理推迟到Elastic来实现
Id1,Id2,Id3是我的复杂密钥。我正在研究删除时间部分的DateTime对象上的Group By,我必须找到当天的TopCategory以及当天的Counter1和Counter 2的总和。最高类别是Counter1 + Counter2最高的类别。每天每个(Id1,Id2,Id3)最多可以有10000条记录,如果我无需重复每条记录就可以实现这一目标,那么表现出色是一个不错的附加奖励。
我希望我能传达我想要达到的目标。