包含elasticsearch的大数据的HTML表

时间:2016-07-13 19:23:19

标签: javascript elasticsearch

我有一个弹性搜索索引,有大约200万条记录,我想在HTML表格中查看。 我面临的问题是我不想用所有数据污染浏览器的内存,而是我想做以下事情:

  1. 加载表后,查询弹性搜索以查找 总计有多少记录(此数字将用于估算滚动条的大小)
  2. 进行另一次查询以获取前1000条记录并将其显示在表格中。
  3. 修改表格的滚动条,给用户留下印象 所有记录都已加载
  4. 用户开始向下滚动后,向表中添加更多记录 并删除旧记录(以节省内存)
  5. 我需要有关如何设计此系统和可能的实施解决方案的建议。

    谢谢

1 个答案:

答案 0 :(得分:1)

elasticsearch为其所有查询提供“from”和“size”选项。默认情况下,您会获得查询的前10个结果,因此您可以设置“从”字段以指定要从中开始的结果中的位置,并使用“大小”字段指定要检索的文档数。有点像:

{
    from: 1,
    size: 1000,
    query: {
      "match": {
         "text":{
            "query": "search_text"
          }
       }
    }
}

将在文档的文本字段中为您提供与“search_text”匹配的前1000个文档。您可以在查询中使用变量而不是1,并继续更新变量并调用查询来执行您所描述的操作。

<强>更新

为前端查看此问题: jQuery load more data on scroll

您必须执行类似的操作,并将更改的查询添加到函数中。