gpt4 book ai didi

java - 在 noSQL "counting QL"数据存储上运行大量 "GAE"

转载 作者:行者123 更新时间:2023-12-01 15:56:36 26 4
gpt4 key购买 nike

在我们开始之前,让我向您提供一些有关我们环境的信息:

  • 它完全用 Java/J2EE 编写。
  • 它的开发目的是部署在 GAE“Google App Engine”上
  • 其 GUI 由 GWT 开发。
  • 我们的问题是核心开发问题。

这是我的问题

  • 我正在构建一个网络应用程序,“在线”用户可以在其中搜索该网站中的列表。
  • 首先请打开网站 Careerbuilder.com 并搜索任何关键字,例如“会计”。
  • 将打开一个页面,[窄搜索]有一种方法可以让您更轻松地找到目标工作“让我们称之为过滤器”,那里有很多工作。
  • 搜索过滤器包括子过滤器[类别、公司、城市、州]。
  • 每个子过滤器都有许多案例或选项。就像“州有(加利福尼亚州、爱荷华州、堪萨斯州……等)”一样,每个州旁边都是与您当前的过滤器/子过滤器选择相匹配的职位数量。你会发现它位于括号之间,即 (23)

现在我们希望允许此过滤器功能,并且希望使其速度更快。为每个子过滤器选项进行计数查询将是一个有效的想法。

请记住:

  • 用户可以添加/删除列表。
  • 列表也可能会过期。
  • 子过滤器的数量对我们来说更高“可以达到20个”。
  • 每个子过滤器都有 2 到 200 个选项。

我们正在寻找最佳实践或算法建议或任何解决此问题的方法。

到目前为止,我们已经达成了 2 个选项:

1.建立一个统计表来保存这些结果,然后在每次房源数量发生变化时更新它,并保留每晚的后台作业来重新计算结果。我们可以直接从这个表中显示结果的数量。

2.构建一个树形数据结构,每次更新时都会加载到内存中并保存在表中。该树包含子过滤器每个选项中的列表结果数量。

尽管我仍然认为这还不够!谁能提出更好的主意?非常欢迎所有意见、问题、建议。

问候

穆罕默德·S.

最佳答案

您是否注意到 Google 应用程序很少对任何事物进行精确计数?特别是在使用过滤器时?您总是会得到这些猜测,例如“超过 1000 个”或“数万个”,或“显示大约 23123123 个结果中的 20 个”。好吧,现在你明白为什么了。欢迎来到 noSQL 世界

(尽管,坦率地说,使用过滤器进行计数在 SQL 领域也很糟糕)。

这不是解决方案,而是一种解决方法,但很常见:

  • 进行查询;
  • 尝试加载 1001 个实体,即使您只想显示 20 个;
  • 如果有效,显示“超过1000”;如果您得到的数字小于 1001,请显示确切的数字。

这非常有效,用户似乎并不介意(也没有注意到)。

关于java - 在 noSQL "counting QL"数据存储上运行大量 "GAE",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4930746/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com