首页 > 解决方案 > 用于实时搜索/提前输入的 Firebase 数据建模

问题描述

我有一个过去十年左右的本地 10 英里跑步比赛的数据集。

每年看起来像这样: http ://www.nlaa.ca/results/rr/2018/20180722tely10results.php

对于我的 0.1 版,我将所有这些表组合成一个巨大的 json 对象:

[
    {
        "year": "2005",
        "position": "1",
        "name": "Colin Fewer",
        "chip-time": "52:05",
        "gun-time": "52:04",
        "class": "M25-29",
        "class-place": "1/58"
    },
    {
        "year": "2005",
        "position": "2",
        "name": "Dean Aylward",
        "chip-time": "52:57",
        "gun-time": "52:55",
        "class": "M25-29",
        "class-place": "2/58"
    },
    {
        "year": "2005",
        "position": "3",
        "name": "Peter Power",
        "chip-time": "54:49",
        "gun-time": "54:48",
        "class": "M40-44",
        "class-place": "1/126"
    }
]

我现在只是将整个文件转储到页面上并直接与之交互。这工作正常,但 json 文件很大——需要 5.5mb 下载。所以这不好。

相反,我想尝试将这些数据移动到 Firebase。麻烦的是,我不知道如何构造这些数据。

每年应该是一个集合,每个跑步者都是一个文件吗?

整个东西应该完全平坦吗?IE:一个集合,每个条目都是一个新文档?(基本上我的json文件现在是怎样的)

这是否足够有效地执行预先输入搜索并在您输入时显示实时结果?

当前数据集有大约 45,000 个条目(比赛每年有大约 4,000 人参加)。

感谢任何人的任何基本建议!

到目前为止,这是我的应用程序供参考: https ://saltcod.github.io/mytely

这是我目前正在考虑的结构:

在此处输入图像描述

标签: firebasegoogle-cloud-firestore

解决方案


推荐阅读