我正在尝试搜索日期范围内的日期范围内的所有项目,但失败(不返回任何结果)
查询:
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"range": {
"last_updated": {
"from": "2013-01-01 00:00:00"
}
}
}
}
}
}
映射:
{
"my_doctype": {
"_timestamp": {
"enabled": "true"
},
"properties": {
"cards": {
"type": "integer"
},
"last_updated": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss"
}
}
}
}
结果是:
{
took: 1
timed_out: false
_shards: {
total: 1
successful: 1
failed: 0
}
hits: {
total: 0
max_score: null
hits: [ ]
}
}
通过一个带数字值的整数字段(“ cards”)的范围过滤的同一查询工作正常。将日期更改为非常早的开始(1900-01-01
00:00:00)也不会显示任何结果。
我究竟做错了什么?
顺便说一句,我知道我在映射中启用了_timestamp,但这不是我要过滤的字段。
似乎对我来说很好:
curl -XPUT localhost:9200/test -d '{
"settings": {
"index.number_of_shards": 1,
"index.number_of_replicas": 0
},
"mappings": {
"doc": {
"_timestamp": {
"enabled": "true"
},
"properties": {
"cards": {
"type": "integer"
},
"last_updated": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss"
}
}
}
}
}
'
curl -XPOST localhost:9200/test/doc/1 -d '{
"last_updated": "2012-01-01 12:13:14"
}
'
curl -XPOST localhost:9200/test/doc/2 -d '{
"last_updated": "2013-02-02 01:02:03"
}
'
curl -X POST 'http://localhost:9200/test/_refresh'
echo
curl -X GET 'http://localhost:9200/test/doc/_search?pretty' -d '{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"range": {
"last_updated": {
"gte": "2013-01-01 00:00:00"
}
}
}
}
}
}
'
我正在使用弹性搜索。我以前从未使用过的网络NEST客户端。我想做的是在得分前按日期范围过滤结果。 我使用对象初始值设定项语法,因为它最适合我。 我已经完成了我想要的: 这给了我一个JSON请求,就像我期望的那样: 但留档过滤查询说"弃用在2.0.0-beta1.改为使用bool查询,查询的必须子句和筛选器子句”。 因为这是我发现的唯一包含过滤器的方法,有没有更好的方法来使用嵌套对象初始值设定项语法
问题内容: 因此,该书来自rest api,并附有许多读者。我想获得“最近”的读者。 该字段具有将用户标识为最近的值。但是上面的代码给了我最老的读者。因此顺序需要颠倒吗?有什么办法可以使降序排序? 问题答案: 根据文档,您可以使用参数。 将您的过滤器更改为:
问题内容: 我想知道您的想法: 在会话期间,我必须获得与系统的所有连接。为了使这一过程自动化,我决定使用current_date%,因为current_date不是字符串,而是一个函数,因此该方法不起作用。 所以我的问题是,是否有人可以帮助我进行查询以获取当日所有连接的数量。 提前致谢! 我糟糕的代码: 问题答案: 最好的方法(从性能的角度来看)是使用如下逻辑: 并非所有数据库都支持日期的ISO
问题内容: 我有一个带有以下映射的字段“ aDate”(以及许多其他字段)的elasticsearch索引 当我查询文件时,我得到类似的结果 我知道这是时代,内部的java / elasticsearch日期格式,但是我想要一个类似的结果: 我玩脚本 但是它给出了奇怪的结果( 脚本基本上可以正常工作,但是aDate是唯一返回的字段,而_source丢失了 )。看起来像 如果可能的话,我希望没有脚本
问题内容: 我想在Elasticsearch中添加一个日期时间字符串时遇到问题。 该文件如下: 该文档提出了一个错误 我知道我可以在Elasticsearch中使用日期格式,但是即使阅读网站上的文档,我也不知道如何使用。 和 错了。 如何在Elasticsearch中将datetime字符串转换为日期格式? 如何将datetime字符串直接存储到Elasticsearch中? 问题答案: 你快到了
问题内容: 我正在使用Elasticsearch 6.6,尝试根据在日期范围内传递给查询(Bool)的多个值(email_address)提取多个结果/记录。例如:我想根据他们的email_address(annie@test.com,charles@test.com,heman@test.com)以及时期(即project_date(2019-01-01))提取有关少数雇员的信息。 我确实使用了