我正在尝试遍历 elasticSearch 中的多个文档,并使用 Sense(谷歌浏览器插件来执行此操作)。使用扫描和滚动来提高效率,我得到的滚动 ID 为:
POST _search?scroll=10m&search_type=scan
{
"query": { "match_all": {}}
}
结果是:
{
"_scroll_id": "c2Nhbjs1OzE4ODY6N[...]c5NTU0NTs=",
"took": 10,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 20000,
"max_score": 0,
"hits": []
}
}
然后将其传递给 GET 为:
GET _search/scroll?scroll=1m&scroll_id="c2Nhbjs1OzE4ODY6N[...]c5NTU0NTs="
但我得到 0 个结果,特别是:
{
"_index": "my_index",
"_type": "_search",
"_id": "scroll",
"found": false
}
最佳答案
我发现了问题,我在服务器框中指定了索引my_index
。删除它并重新执行 post 命令:
POST /my_index/_search?scroll=10m&search_type=scan
{
"query": { "match_all": {}}
}
并将生成的 scroll_id 传递为:
GET _search/scroll?scroll=1m&scroll_id="c2Nhbjs1OzE4ODY6N[...]c5NTU0NTs="
成功了!
关于elasticsearch - 在 sense 上使用扫描和滚动进行 elasticSearch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31723570/