您好,我在nodejs中有一个网站,在Elasticsearch中有一个数据库。索引“bigData *”有366,844行,每行有25个项目,每个项目都有一个不同的字符串,大小不同,最大约为100个字符。我正在将此索引查询到页面上显示的数据表中,我使用滚动逐步将元素加载到表中并将其显示在页面上。数据表具有“全部下载”选项,但它只会下载页面上加载的内容。我正在尝试实现真正的“全部下载”,该功能将提取所有366,844行,将其编译为文件(csv),然后从网页下载。
我尝试使用滚动,就像它如何加载数据一样,反复调用数据库10,000行。每次花费30秒,因此总共需要20分钟。
我知道类似这样的事情可能会花费一些时间,我不希望即时解决方案。但是我的方法也使chrome非常缓慢且缓慢,甚至几乎崩溃了一点。有人建议下载这么多数据吗?甚至我项目的npm软件包或库都可以在后台准备好下载。
谢谢
最佳答案
这里有几件事:
<tr>
,<td>
,...)的数量保持在合理的水平,并防止滚动变慢和变乱。您在使用vanillaJS还是某些框架?那里有一堆虚拟滚动库。 <a href="..." target="_blank" >
中链接最新的文件。这样,您的网站将保持整洁,客户端可以在自己方便的时候下载CSV。 关于javascript - 从Elasticsearch下载300,000+行作为.csv文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62651804/