当我尝试使用Qlik Sense中的扫描滚动方法从Elasticsearch REST检索数据时遇到问题
(QlikSense 2017年6月补丁1-11.11.2)
2017-08-22 18:23:36 0379 userRoles", "
2017-08-22 18:23:36 0380 "viewportPixelHeight",
2017-08-22 18:23:36 0381 "viewportPixelWidth",
2017-08-22 18:23:36 0382 "__FK__source"
2017-08-22 18:23:36 0383 FROM "_source" FK "__FK__source")
2017-08-22 18:23:36 0384 FROM "hits" PK "__KEY_hits_u0" FK "__FK_hits_u0")
2017-08-22 18:23:36 0385 FROM "hits" PK "__KEY_hits" FK "__FK_hits")
2017-08-22 18:23:36 0386 FROM JSON (wrap on) "root" PK "__KEY_root"
2017-08-22 18:23:36 0387 WITH CONNECTION(Url "http://localhost:8090/_search/scroll?scroll=1m&size=100&scroll_id=cXVlcnlUaGVuRmV0Y2g7MzQ0OzQzOTA3MTM1OnZhdjJJMHJwUU5XZ29FQ25rZWNvRXc7NDM3Mjc1ODc6b3lpczBwdjJUV2lqaVVlMnc2RFgyZzs2NjY0Njg4OkZORXhURktjUVRXTThHTnZoR1pUOEE7NDM5MDcxMzY6dmF2MkkwcnBRTldnb0VDbmtlY29Fdzs0MzkwNzEzNzp2YXYySTBycFFOV2dvRUNua2Vjb0V3OzQyMDYzNzU5OmJreElTYnU4UUpDUUtXbFVSOUF....................")
2017-08-22 18:23:36 65 fields found,
2017-08-22 18:23:36 **Error: QVX_UNEXPECTED_END_OF_DATA: Connection with server closed prematurely.**
2017-08-22 18:23:36 Execution Failed
2017-08-22 18:23:36 Execution finished.
错误:QVX_UNEXPECTED_END_OF_DATA:与服务器的连接过早关闭。
注意:仅当我尝试从具有多列(> 60)和数千个文档的大型索引中检索数据时,才会引发此错误。
请让我知道如何解决此错误?
谢谢
最佳答案
尝试在正文中发送滚动ID,而不是作为参数发送。如果您使用的是浏览器版本,则URL上会有一个字符限制,这因浏览器而异。
因此,如下所示,由于使用的elasticseach版本不同,我们必须将其作为纯文本发送。WITH CONNECTION(Url "$(url)", HTTPHEADER "Content-Type" "text", BODY "$(vRequestBody2)");
其中vRequestBody2:let vRequestBody = '$(scrollId)' ; let vRequestBody2 = replace(vRequestBody,'"', chr(34)&chr(34));