【发布时间】:2018-05-14 01:42:42
【问题描述】:
我一直在尝试使用 elastic 包从 R 中查询 elasticsearch。
我能够查询和获取数据
`Search(index = "tmp_test_data",
q = "_type: random AND log.type: regular", size = 10000)`
但是,当我尝试通过添加正文来增加size 时
`body1 <- '{"settings" : {"index" : {"max_result_window" : "170000"}}}'`
到搜索查询
`Search(index = "tmp_test_data",
q = "_type: random AND log.type: regular", body = body1)`
它返回,Error: 400 - Unknown key for a START_OBJECT in [settings].
编辑:
我尝试在 search 函数中使用 from 参数循环,每次搜索 size = 1000 返回多达 10,000 条记录,然后抛出 Error: 500 - all shards failed。
按照 R 文档/帮助中给出的一些示例,我还尝试在 search 函数中使用 elastic::scroll、tm_scroll = "5m",但它返回相同的错误 Error: 500 - all shards failed。
在 R elasticsearch 中增加查询大小的适当方法是什么?
【问题讨论】:
-
Elasticsearch 的默认最大值为 10K。如下所述,您可以在设置中更改它。当您想要大量数据使用滚动功能时,通常推荐使用,请参阅
elastic::scroll -
嘿,感谢您调查我的问题。我已经通过更多试验编辑了我的问题。我得到的结果不超过 10K。
-
您无法更改查询中的 10K 默认限制,您必须在 Elasticsearch 安装的设置中进行更改。我自己实际上并没有做过,但文档应该会有所帮助。请通过
connect(errors = "complete")查看来自 Elasticsearch 的详细堆栈跟踪 - 这应该可以深入了解发生了什么问题
标签: r elasticsearch