我正试图使用Elasticsearch php 6.0构建一个分面搜索,但我很难想出如何使用日期范围聚合。以下是我想要做的:
映射示例:
"mappings": {
"_doc": {
"properties": {
...
"timeframe": {
"properties": {
"gte": {
"type": "date",
"format": "yyyy"
},
"lte": {
"type": "date",
"format": "yyyy"
}
}
}
...
在我的文档中,我有以下属性:
"timeframe":[{"gte":"1701","lte":"1800"}]
我希望能够使用日期范围滑块显示一个方面,用户可以在其中输入一个范围(最小值-最大值)。理想情况下,给定当前查询,这些最小值-最大值应该由Elasticsearch聚合自动返回。
这是我试图用“伪代码”编写的聚合,给你一个想法:
"aggs": {
"date_range": {
"field": "timeframe",
"format": "yyyy",
"ranges": [{
"from": min(timeframe.gte),
"to": max(timeframe.lte)
}]
}
}
我认为我需要使用日期范围聚合、最小/最大聚合和管道聚合,但我读得越多,就越感到困惑。我找不到如何把整个世界粘在一起。
请记住,如果这不是实现此目的的正确方法,我可以更改映射和/或文档结构。
谢谢
对于我来说,使用ES本身的官方“elasticsearch/elasticsearch”软件包,我能够通过该文档找到我所需的一系列文档。你需要阅读文档,因为你需要格式。
$from_date = '2018-03-08T17:58:03Z';
$to_date = '2018-04-08T17:58:03Z';
$params = [
'index' => 'your_index',
'type' => 'your_type',
'body' => [
'query' => [
'range' => [
'my_date_field' => [
//gte = great than or equal, lte = less than or equal
'gte' => $from_date,
// 'lte' => $to_date,
'format' => "yyyy-MM-dd||yyyy-MM-dd'T'HH:mm:ss'Z'",
'boost' => 2.0
]
]
],
]
];
$search = $client->search($params);
> 每个对象表示一个重复发生的事件。该事件可以在多个日期发生。因此,请考虑以下内容: 我有一个日历在客户端,用户可以选择一个日期范围。 > 对所选日期范围的每个条目进行调用,并在客户端处理聚合。问题是会有大量的读取,因为我们会多次读取重叠的日期范围内的同一个列表对象。 尝试使用类似ElasticSearch/Algolia的服务来完成此操作 任何建议都会很有帮助!
问题内容: 我有两张表。 带有客户和日期的订单表。数据仓库中的日期维度表。 订单表并不包含给定月份中每个日期的活动,但是我需要返回一个填充日期和客户缺口的结果集。 例如,我需要这个: 看起来像这样: 这似乎是一个左外部联接,但它没有返回预期的结果。这是我正在使用的内容,但这并没有按预期返回日期表中的每个日期。 问题答案: 问题是您需要所有日期的所有客户。当您执行时,customer字段将为NULL
问题内容: 我正在管理事件数据库。每个事件都有开始和结束时间戳记()。 目前,我可以通过一个SQL查询执行以下操作: 建立日历,并记下发生事件的日期 列出给定日期(YYYY / MM / DD,YYYY / MM)中发生的事件 问题是当一个事件跨越几天时,我无法在它的开始和结束时间戳之间的日期列出它。 例如: 活动开始于2011/05/25和结束于2011/05/27,但我无法在页面2011/05
以下弹性文件:https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-datehistogram-aggregation.html 如何进行日期范围聚合并显示与相关日期段匹配的所有文档,而不是文档计数。 聚合: 回应: 也许我需要做一些子聚合或其他什么? 有什么想法吗?
问题内容: 如何显示mysql中的剩余/互补日期? 例如,在我的表中有2列,其中有一个快照 将给出以下输出: 我希望能够显示我们之间有一个空白并且没有任何记录的日期,如下所示: 这可能吗?谢谢 问题答案: 遵循以下原则: 这意味着:在相邻的结束/开始日期将表与其自身连接,然后计算差异。
系统在数据库中具有以下文档信息: 我已经尝试了使用 mongo java 驱动程序进行重新设置,下面是以下代码片段: 上面为我提供了带有两个元素的ArrayList的输出,第0个元素是带有键“systemName”的Document,值是带有两个元件的Array List。第1个位置元素与键为“systemUsageAttrs”的Document一起,值为ArrayList,包含两个元素,即所有系