这不是与代码本身直接相关的问题,而是更多关于实现某些东西的最佳方法。
我的应用程序是使用JavaScript构建的,特别是使用React来完成的,它允许用户拥有多个产品,每个产品都有多个子项目。例如,用户可能创建了一个名为“手工木制雕花狗碗”的产品,然后为其列出产品的每个网站都有子项目。数据集看起来像这样:
{
"name": "Handmade Wooden Engraved Dog Bowl",
"tags": ["wooden", "handmade", "engraved", "pet", "dog", "bowl"],
"item": {
id1: {
"name": "Handmade Dog Bowl",
"website": "amazon",
"active": true,
},
id2: {
"name": "Handmade Wooden Dog Bowl",
"website": "etsy",
"active": false,
}
}
}
我需要能够搜索产品名称,产品选项卡,然后还要搜索每个项目中的数据。
例如,显示所有产品,其中标签包含engraved dog bowl
,标签包含handmade
和标签etsy = false
也许可以通过Firestore在客户端进行此操作,但是它将需要大量调用,并且数据处理将取决于用户的计算机。
这里的问题是每个用户平均拥有大约2,000种产品,而我们可能正在寻找2,000个用户,并且由于成本极高,因此排除了像Algolia这样的产品。
有人对我如何解决这个搜索问题有任何建议吗?
答案 0 :(得分:1)
您询问如何实现搜索算法。 Meet Zaveri Algorithms I : Searching and Sorting algorithms的这篇文章很好地介绍了这些想法。
渐近符号 大哦(O) 大欧米茄(Ω) 大Theta(Θ)
空间复杂度
线性搜索
二进制搜索
散列/散列函数