在执行_count
api时,我正在kibana查询下执行count:45
。但是如果我在同一个索引上使用_search
api执行相同的查询,我只会获得10
个文档而不是45
个文档
请找到以下kibana查询
GET documents_test2/_count
{
"query": {
"query_string" : {
"default_field" : "*",
"query" : "40011"
}
}
}
对于上述Kibana查询,我的count:45
{
"count": 45,
"_shards": {
"total": 5,
"successful": 5,
"skipped": 0,
"failed": 0
}
}
但是如果我使用_search
api而不是_count
执行以下查询,我只会获得10
个响应
GET documents_test2/_search
{
"query": {
"query_string" : {
"default_field" : "*",
"query" : "40011"
}
}
}
答案 0 :(得分:1)
这是因为,当您使用" _search " ,它使用" 尺寸" param返回no。相关文件。因为你没有在这里传递那个参数,所以传递了默认值,即10 。因此只返回10份文件。
Pass"尺寸" param值返回所需的文档数量。
GET documents_test2/_search
{
"size" : 45,
"query": {
"query_string" : {
"default_field" : "*",
"query" : "40011"
}
}
您还可以查看" 来自" param从弹性搜索中获取分页结果(滑动窗口)。 例如如果你想获得页面大小为10的第三页文档,你可以通过"尺寸" :10,"来自" :20(即pagesize X(pageno。 - 1)= 10 *(3-1)= 10 X 2 = 20
查看https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-from-size.html了解详情。