我正在尝试Nest插件来查询elasticsearch数据。我有一个基于领域的年度工作计数报告。目前,我为此使用了日期直方图报告,下面是弹性查询。
POST insight/_search
{
"size": "0",
"query": {
"filtered": {
"query": {
"query_string": {
"query": "(onet.familycode: 11)"
}
}
}
},
"aggregations": {
"jobcounts_by_year": {
"date_histogram": {
"field": "jobdate",
"interval": "year",
"format": "yyyy"
},
"aggregations": {
"count_by_occupation_family": {
"terms": {
"field": "onet.family"
}
}
}
}
}
}
等效嵌套查询
result = ElasticSearchClient.Instance.Search<Job>(s => s.Size(0)
.Query(query => query
.Filtered(filtered => filtered
.Query(q => q
.QueryString(qs => qs.Query(queryString)))))
.Aggregations(a => a
.DateHistogram("jobcounts_by_year", dt => dt
.Field(ElasticFields.JobDate)
.Interval("year")
.Format("yyyy")
.Aggregations(a1 => a1
.Terms("top_agg", t => t
.Field(criteria.GroupBy.GetElaticSearchTerm())
.Exclude("NA|Unknown|Not available")
.Size(Constants.DataSizeToCompare)))
)));
一切正常,但是现在问题是遍历结果以获取值,对于正常的聚合,我目前正在执行以下操作
data = result.Aggs.Terms("top_agg").Items.Select(item =>
new JobReportResult
{
Group = item.Key,
Count = item.DocCount
}).ToList();
但似乎Nest不支持带有日期直方图存储桶的存储桶。
如果我尝试如下所示,我将得到null引用异常。
result.Aggs.DateHistogram("jobcounts_by_year").Terms("top_agg")
看来我们必须使用如下所示的方法。d2现在具有IAggregation
var d1 = result.Aggs.DateHistogram("jobcounts_by_year").Items;
var d2 =(TermsAggregator)d1[0].Aggregations["top_agg"];
但是Aggregation属性没有公开任何值。
我被困在这里。有人可以让我知道如何使用NEST访问DateHistogram桶中的桶吗
问候,
试试这个
var dateHistogram = searchResponse.Aggs.DateHistogram("jobcounts_by_year");
foreach (var item in dateHistogram.Items)
{
var bucket = item.Terms("top_agg");
}
希望这可以帮助。
问题内容: 我在为elasticsearch实现自动完成功能时遇到问题,这是我的设置: 创建自动完成的分析器 然后,使用“别名”属性中的分析器在自动完成中创建一个类型: 之后; 添加文档: 当我运行以下命令时: 结果是 和 但是我应该在“别名”字段中获取我的文档,我有一个“ bs as”。 我尝试使用API,并得到了我认为是预期令牌的正确答案: 结果: 有什么提示吗? 编辑: 当我用实际类型运行分
本文向大家介绍javascript日期格式化方法汇总,包括了javascript日期格式化方法汇总的使用技巧和注意事项,需要的朋友参考一下 方法一: 调用方式: var time1 = new Date().Format("yyyy-MM-dd"); var time2 = new Date().Format("yyyy-MM-dd HH:mm:ss"); 方法二: 方法三: 方法四: 方法五:
本文向大家介绍Java处理日期时间的方法汇总,包括了Java处理日期时间的方法汇总的使用技巧和注意事项,需要的朋友参考一下 一、java.util.Calendar介绍 Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示
本文向大家介绍Java日期时间使用方法汇总,包括了Java日期时间使用方法汇总的使用技巧和注意事项,需要的朋友参考一下 一、Java中的日期概述 日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间之间的转换,日期的加减运算,日期的展示格式都是非常复杂的问题。 在Java中,操作日期主要涉及到一下几个类: 1、java.util.Date
我希望能够结合Kibana术语图(能够基于特定属性值的唯一性创建bucket)和直方图(基于查询将数据分离为bucket,然后基于时间说明日期)的功能。 总的来说,我想创建一个直方图,但我只想根据一个查询的结果创建直方图,而不是像Kibana演示应用程序中那样创建多个查询。相反,我希望每个bucket都是根据特定字段的唯一值动态创建的。例如,考虑以下查询返回的数据: 还假设每个记录都有一个字段,用
另外,类型中的所有文档都存储了上面提到的community的值。感谢帮助。