带有每个选项结果计数的搜索菜单

Posted

技术标签:

【中文标题】带有每个选项结果计数的搜索菜单【英文标题】:search menu with result count per option 【发布时间】:2018-12-28 17:01:42 【问题描述】:

在各种网站上都有一个搜索栏,它已经描述了您可以选择的每个选项将获得的结果数量。

在某些情况下,您可以选择十倍的选项,如果您选择此选项,您已经看到每个选项,您将获得 102 个结果、88 个结果等。这一切都在几分之一秒内提供。

有人知道这是怎么做到的吗?如果您使用关系数据库,您将不得不运行数千个查询来计算每个选项的结果,每个用户检查网站。这将花费太多时间。同样缓存每个可能的选项几乎是不可能的,因为它会产生数百万种可能性,并且每当发生变化时,您都可以重新开始缓存。

是否有其他类型的决策树数据库已经提供了每个选项的结果数量?

例如查看这个房屋搜索网站,您可以在其中为您正在寻找的房屋选择数十个选项(左侧的菜单)。

https://www.funda.nl/koop/amsterdam/

【问题讨论】:

【参考方案1】:

如果您可以使用建议中可以显示的所有值填充表格,则可以添加另一列以针对每个建议映射可用性、成本等。当向表中添加新建议以及相关值发生变化时,您可以编写代码来计算该特定值。然后,您可以同时获取建议和所需值并将其显示给用户。

此方法将需要以下内容

1)了解所有可以建议的值,例如地点或产品

2)当新的建议值出现时触发事件,例如添加新产品/地点

3)当相关价值(例如价格或可用性)发生变化时触发事件

【讨论】:

【参考方案2】:

计算每个结果需要计算能力,但是这个网站似乎以这种方式运行功能

1: get lOCATION(input)  

2: SELECT COUNT(*)
  FROM LOCATION.COLUMNS
 WHERE room_catalog = 'database_name' 
   AND table_name = 'table_name

例如,SQL 可以快速迭代数据库,但返回所有可能性,然后选择哪些有 1 个房间,哪些有 2 个房间,这需要大量的计算能力和时间。

这就是为什么结构很重要并且使用正确的编程语言进行快速后端处理的原因。如果我没记错的话,这个网站很有可能像谷歌一样使用 Python 进行后端处理。

【讨论】:

以上是关于带有每个选项结果计数的搜索菜单的主要内容,如果未能解决你的问题,请参考以下文章

如何使用底部导航菜单处理屏幕旋转,其中每个菜单都引用一个带有有限选项卡的新查看器(3-4)?我正在使用 ViewModel

单击时需要不同结果的选项卡菜单

带有选项的菜单列表

获取选择菜单以根据 MySQL SELECT 结果动态显示特定的选择选项

Android TabActivity 中的奇怪选项菜单行为

如何在 listView 选项之间导航?