【问题标题】:HTML table containing big data from elasticsearch包含来自 elasticsearch 的大数据的 HTML 表
【发布时间】:2016-11-16 12:52:55
【问题描述】:

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

  1. 加载表后,查询弹性搜索以查找 总共有多少条记录(这个数字将用于近似滚动条的大小)
  2. 再次查询以获取前 1000 条记录并将它们显示在表中。
  3. 修改表格的滚动条给用户的印象是 已加载所有记录
  4. 一旦用户开始向下滚动,向表中添加更多记录 并删除旧记录(以节省内存)

我需要有关如何设计此系统和可能的实施解决方案的建议。

谢谢

【问题讨论】:

    标签: javascript elasticsearch


    【解决方案1】:

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

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

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

    更新

    对于前端检查这个问题: jQuery load more data on scroll

    您必须执行类似的操作,然后将更改的查询放入函数中。

    【讨论】:

    • 查询数据不是问题,前端有挑战性。
    猜你喜欢
    • 2014-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-12
    • 1970-01-01
    • 2018-07-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多