我想检索所有的JSON对象中Elasticsearch有一个null的值awsKafkaTimestamp。这是我设置的查询:
{
"query": {
"bool": {
"must_not": {
"exists": {
"field": "tracer.awsKafkaTimestamp"
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我用 卷曲到我的 elasticsearch 端点时,DSL我只会得到几个值。我期待所有(10000+)个,因为我确信所有的awsKafkaTimestamp值都是null
这是我使用Postman. 如您所见,只有 10 个 JSON 对象返回给我:
这是 elasticsearch 的正确行为。默认情况下,它只返回 10 条记录,并在 hits.total 字段中提供有关匹配搜索条件的文档总数的信息。要检索超过 10 个的数据,您应该在查询中指定大小字段,如下所示(您可以在此处阅读更多相关信息:https : //www.elastic.co/guide/en/elasticsearch/reference/current/search-request- from-size.html ):
{
"from" : 0, "size" : 10,
"query" : {
"term" : { "user" : "kimchy" }
}
}
Run Code Online (Sandbox Code Playgroud)
默认情况下,elasticsearch 会给你 10 个结果,即使它与10212. 您可以设置大小参数,但限制为 10000,因此您唯一的选择是使用滚动 API 来获取,
来自elasticsearch网站Scroll API的示例
curl -XGET 'localhost:9200/twitter/tweet/_search?scroll=1m' -d '
{
"query": {
"match" : {
"title" : "elasticsearch"
}
}
}
'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2545 次 |
| 最近记录: |