当我尝试使用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));

10-08 05:16