【问题标题】:Implementing trie for efficient search of products on my website在我的网站上实施 trie 以有效搜索产品
【发布时间】:2012-01-17 20:44:32
【问题描述】:

我有一份包含数百万种产品的清单。现在,当我网站上的用户输入内容时,我需要向他展示一些相关产品以寻求帮助。搜索应该很快。我认为 trie 实现对我来说会很好。

但我对实施的想法感到困惑。我需要随时准备好树,以便我可以立即搜索 n 显示结果。如果我在调用 javascript 函数时开始插入元素,则需要很长时间。

谁能建议我,我错过了什么?我的目标是在 MILLIONS

列表中显示 fast

谢谢:)

【问题讨论】:

  • 解决这个问题的常用方法是拥有一个包含数百万行的数据库表和一个适当的索引。一旦用户键入,就会发出 Ajax 请求,并通过 SQL 获取适当的产品并将其发送到客户端进行显示。有什么反对这种方法的吗?
  • hmm...那我也会这样做:)

标签: algorithm search javascript trie


【解决方案1】:

假设您在右侧有一个侧边栏,需要显示相关产品。

用户在搜索中输入,右侧仅显示前 X 个产品(比如前 50 个产品)。该列表底部还将有一个“显示更多产品”链接。例如 Twitter 使用这种方法。

即使有 100 万个可用产品,用户也不需要同时查看所有产品,因此针对 a) 前 X 个产品和 b) 总产品数发出 Ajax 请求(这样您知道是否需要“显示更多”链接)是完美的。

当用户点击“显示更多”时,您将显示另一个 X 产品等等。

【讨论】:

  • 嘿,我为我的搜索栏实现了相同的功能。但问题是,AJAX 请求需要我大约 1.5 秒才能获取结果。我认为每个人的打字速度都比那快,所以没用??反应迟钝有什么原因吗??这里是buyhatke.com/search.php
  • 你需要优化你的服务器端(&数据库)。
  • 即使,如果我只是从服务器端打印 Hello,我也需要 1.3 秒,这太多了。我不知道为什么:(
  • 那是你服务器的问题,抱歉。
猜你喜欢
  • 2010-11-18
  • 2012-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多