CN105518655A - 无缝分页 - Google Patents
无缝分页 Download PDFInfo
- Publication number
- CN105518655A CN105518655A CN201480048918.1A CN201480048918A CN105518655A CN 105518655 A CN105518655 A CN 105518655A CN 201480048918 A CN201480048918 A CN 201480048918A CN 105518655 A CN105518655 A CN 105518655A
- Authority
- CN
- China
- Prior art keywords
- page
- user
- rollable
- refinement
- paging
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims description 62
- 230000004044 response Effects 0.000 claims description 41
- 230000003993 interaction Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 29
- 238000010586 diagram Methods 0.000 description 26
- 230000006399 behavior Effects 0.000 description 15
- 230000006870 function Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 15
- 230000008859 change Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 5
- 230000003542 behavioural effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000003825 pressing Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 201000003152 motion sickness Diseases 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 235000021400 peanut butter Nutrition 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000008521 reorganization Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9577—Optimising the visualization of content, e.g. distillation of HTML documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0485—Scrolling or panning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- User Interface Of Digital Computer (AREA)
- Information Transfer Between Computers (AREA)
Abstract
搜索引擎基于各种因素中的一项或多项来确定向用户呈现的页面的数量。搜索引擎可以向客户机发送搜索结果,客户机可以在可卷动界面中将结果的子集与分页控制一起呈现。分页控制可以呈现由搜索引擎确定的页面的数量。搜索引擎还可以基于相同或不同的因素在呈现不可卷动的用户界面(UI)要素之前确定要呈现的搜索结果的数量。在卷动量超过阈值之后,可以显示不可卷动的UI要素。附加阈值可以存在,使得可随着用户继续进行卷动而添加附加的不可卷动UI要素。
Description
本PCT申请要求于2014年3月7日提交的题为“SEAMLESSPAGINATION”的美国专利申请(序号14/201,000)的递交日权益,该美国专利申请要求于2013年9月5日提交的题为“SeamlessPagination”的美国临时申请(序号61/874,286)和2013年12月13日提交的题为“ContextualRefinementDuringSeamlessPagination”的美国临时申请(序号61/915,634)的递交日权益。
本专利文档的公开内容的一部分包含受版权保护的材料。版权所有者不反对任何人对该专利文献或专利公开内容的传真复制,只要其出现在专利和商标局专利文件或记录中,但是保留所有其他版权权利。以下申明适用于如下文和形成本文件的一部分的附图所描述的软件和数据:版权eBay,Inc.2013-2014,保留所有权利。
技术领域
本文公开的主题总体上涉及具有分页控制的数据呈现。具体地,本公开提出了用于对所呈现数据进行无缝分页的系统和方法。
背景技术
发明内容
附图说明
在附图的图中以作为示例而非限制的方式示出了一些实施例。
图1是示出根据示例实施例的适用于无缝分页的网络环境的网络图。
图2是示出根据示例实施例的适用于无缝分页的应用服务器的组件的框图。
图3是示出根据示例实施例的适用于无缝分页的客户机的组件的框图。
图4是根据示例实施例的适用于无缝分页的用户界面(UI)的屏幕图。
图5是根据示例实施例的适用于无缝分页的UI的屏幕图。
图6是根据示例实施例的适用于无缝分页的UI的屏幕图。
图7是根据示例实施例的适用于无缝分页的UI的屏幕图。
图8是根据示例实施例的适用于无缝分页期间的上下文求精的UI的屏幕图。
图9是根据示例实施例的适用于无缝分页期间的上下文求精的UI的屏幕图。
图10是根据示例实施例的适用于无缝分页期间的上下文求精的UI的屏幕图。
图11是根据示例实施例的适用于无缝分页期间的上下文求精的UI的屏幕图。
图12是根据示例实施例的适用于无缝分页期间的上下文求精的UI的屏幕图。
图13是根据示例实施例的适用于无缝分页期间的上下文求精的UI的屏幕图。
图14是示出了根据示例实施例的适用于无缝分页的应用服务器的操作的流程图。
图15是示出了根据示例实施例的适用于无缝分页的客户机的操作的流程图。
图16是示出了根据示例实施例的适用于无缝分页的应用服务器的操作的流程图。
图17是示出了根据示例实施例的适用于无缝分页的客户机的操作的流程图。
图18是示出了根据示例实施例的适用于无缝分页的客户机的操作的流程图。
图19是示出了根据示例实施例的适用于无缝分页的客户机的操作的流程图。
图20是示出了根据示例实施例的适用于无缝分页的客户机的操作的流程图。
图21是示出了根据示例实施例的适用于无缝分页的对查询数据特征的使用的框图。
图22是示出了根据示例实施例的适用于无缝分页的对用户数据特征的使用的框图。
图23是示出了根据示例实施例的在决定是否启用无缝分页时可以考虑的因素的框图。
图24是示出了根据一些示例实施例的机器的组件的框图,该机器能够从机器可读介质中读取指令并且执行本文讨论的任何一个或多个方法。
具体实施方式
示例方法和系统涉及无缝分页和在无缝分页期间对搜索的上下文求精。示例仅仅作为可能的变化的典型例子。除非另行明确声明,否则组件和功能是可选的,且可被合并或细分,且操作可以在顺序上变化或被组合或细分。在以下描述中,出于解释的目的,对多个具体细节进行阐述,以提供对示例实施例的透彻理解。然而,对于本领域技术人员将显而易见的是:本公开的主题可以在没有这些具体细节的情况下实施。
用户可以向搜索引擎(例如,在应用服务器上运行的搜索应用)提交搜索查询(例如,从客户机提交)。搜索引擎可以处理搜索查询并生成结果集合。搜索引擎可以基于各种因素中的一项或多项来确定向用户呈现的搜索结果的数量(或搜索结果的页面的数量)。示例因素包括:在由之前使用过该查询的其他用户执行动作(例如,进行购买)之前查看的搜索结果的数量、在提交先前查询之后由本用户执行动作(例如,进行购买)之前查看的搜索结果的数量等。搜索引擎可以将搜索结果的数量或页面的数量连同搜索结果一起向客户机发送。客户机可以将结果的子集与分页控制一起呈现。分页控制上的页面数量可以基于由搜索引擎确定的搜索结果(或搜索结果的页面)的数量。可以许可用户查看超出原始呈现页面数量的附加搜索结果。
根据搜索查询获得的结果可以在可卷动界面中呈现。还可以在可卷动界面中呈现求精建议。求精建议是所建议的针对搜索的修改。在一些示例实施例中,建议的修改通过添加附加搜索项或过滤器对搜索求精,减少了与搜索查询相匹配的结果的数量。例如,初始搜索可以针对“鞋”。求精建议可以将搜索限制为特定品牌、在特定价格范围内、或以特定方式销售(例如,固定价格或拍卖)的鞋。
例如,每次用户在卷动条上按下“向下翻页”键或下箭头时,UI中呈现的信息可以卷动,使得新信息被呈现。用户可以通过在卷动条上按下“向上翻页”键或上箭头沿相反方向卷动。每次用户向下卷动时,呈现新信息,直到已呈现了所有信息为止。该信息可以包括各种类型的数据,包括求精建议和搜索结果。当将多种类型的数据一起呈现时,一种类型的所有信息可以在显示另一种类型的所有信息之前显示。例如,在呈现很多屏幕的结果的同时,可以呈现值得一个或两个屏幕的求精建议。因此,一旦用户向下卷动超过求精建议的末尾,则仅呈现搜索结果。可以使用不可卷动UI要素来呈现求精建议。例如,求精建议可被固定在屏幕上恰当位置,且在用户卷动时不移动。同时,可以在可卷动UI中呈现结果,使得当用户进行卷动时,在保持求精建议可用的同时显示新的结果。
求精建议可以初始呈现在可卷动界面中,且检测执行的卷动量。当卷动量超过阈值时,可以显示不可卷动的UI要素。用户可以沿相反方向卷动。当卷动量降到低于阈值时,可以移除不可卷动的UI要素。附加阈值可以存在,使得可随着用户继续进行卷动而添加附加的不可卷动UI要素。不可卷动的UI要素可以提供与可卷动的UI要素相同的功能。不可卷动的UI要素可以用于呈现在可卷动的UI要素中可用的选项。例如,可卷动的要素可以覆盖两个屏幕。可以将两个屏幕设为阈值。用户可以卷动超过第二屏幕。基于用户卷动超过阈值,可以呈现两个UI要素,被卷动超过的每个屏幕对应于一个UI要素。每个UI要素可以用于(例如,可以是对鼠标点击进行响应的按钮)显示在对应屏幕中曾显示的选项。可以设置其他阈值,以变更所呈现的不可卷动的UI要素。例如,在用户向下卷动一个屏幕之后,可以在左手侧显示用于显示选项的按钮。可以在用户向下卷动第二屏幕之后,移除该按钮并呈现选项本身。在用户向下卷动第三屏幕之后,可以将选项从屏幕的左侧移动到屏幕的中心。
图1是示出了可以部署一个示例实施例的客户端-服务器系统100的网络图。具有基于网络的市场或发布系统的示例形式的联网系统102经由网络104(例如互联网或广域网(WAN))向一个或多个客户端提供服务器侧功能。例如,图1示出了web客户端106(例如,浏览器)和在相应的客户机110和112上执行的编程客户端108。
应用程序接口(API)服务器114和web服务器116耦合到一个或多个应用服务器118,并且分别提供针对该一个或多个应用服务器118的编程接口和web接口。应用服务器118容宿(host)一个或多个市场应用120、搜索应用121、和支付应用122。应用服务器118进而被示出耦合到一个或多个数据库服务器124,该一个或多个数据库服务器124便于对一个或多个数据库126的访问。
市场应用120可以向访问联网系统102的用户提供多个市场功能和服务。搜索应用121可以向访问联网系统102的用户提供多个搜索功能和服务。搜索应用121可以允许用户提交查询并接收响应于查询的结果。搜索应用121可以关联到市场应用120或者是市场应用120的一部分。因此,搜索可以由搜索应用121来运行,以通过市场应用120来找到销售项目。
支付应用122类似地可向用户提供多个支付服务和功能。支付应用122可允许用户在账户中累积值(例如,商业货币(如美元)或者专用货币(例如“点数”)),然后使用累积值来兑换经由市场应用120可获取的产品(例如,商品或服务)。尽管在图1中市场应用120、搜索应用121和支付应用122均被示出为形成联网系统102的一部分,可以理解:在备选实施例中,搜索应用121可形成与联网系统102分离且不同的搜索服务的一部分。类似地,支付应用122可以形成与联网系统102分离且不同的支付服务的一部分。
此外,虽然图1所示出的系统100采用客户端-服务器架构,但是本发明当然不限于此种架构,并且可以同样良好地应用于例如分布式或对等架构系统。各种市场应用120、搜索应用121和支付应用122也可被实现为不一定具有联网能力的孤立的软件程序。
Web客户端106经由由web服务器116支持的web接口来访问各种市场应用120、搜索应用121和支付应用122。类似地,编程客户端108经由由API服务器114提供的编程接口来访问由市场应用120、搜索应用121和支付应用122提供的各种服务和功能。例如,编程客户端108可以是卖家应用(例如,由SanJose,California的eBayInc.开发的TurboLister应用),以使得卖家能够以离线方式创作和管理联网系统102上的列表,并且执行编程客户端108与联网系统102之间的批处理模式通信。
客户机110或112可以向用户呈现信息。例如,客户机110可以正在运行呈现网页的web浏览器。用户可以向客户机110指示搜索查询。例如,用户可以向文本字段中键入搜索查询,选择项目以搜索相似或相关项目,上传图像以搜索相似或相关项目,或者以上的任何合适的组合。如果一个项目和另一个项目是彼此的替代品,则该一个项目类似于该另一个项目。例如,一个电视可以类似于另一个电视。如果一个项目和另一个项目一起工作或者经常被一起购买,则该一个项目与该另一个项目相关。例如,花生酱可以与果酱相关,或者通用遥控器可以与电视相关。
客户机110或112可以向运行搜索应用121的应用服务器118提交搜索查询。应用服务器118可以向项目数据库(例如,数据库126)提交搜索查询。应用服务器118可以向客户机110或112发回搜索查询的结果。在一些示例实施例中,向客户机110或112发送搜索查询的结果的子集。子集中的项目的数量可以基于与客户机110或112的显示器相符的项目的数量、客户机110或112上的可用存储器、在提交搜索查询之后由平均用户查看的项目的数量、在提交其他搜索查询之后由本用户查看的项目的数量、或它们的任何合适组合。客户机110或112可以将结果的第一页面连同用于选择结果的附加页面的分页控制一起呈现。客户机110或112可以从应用服务器118预先加载结果的一个或多个附加页面。被预先加载的附加结果的页面的数量可以基于客户机110或112上的可用存储器、在提交搜索查询之后由平均用户查看的项目的数量、在提交其他搜索查询之后由本用户查看的项目的数量、或它们的任何合适组合。在提交搜索查询之后由平均用户查看的项目的数量可以由运行搜索应用121的应用服务器118通过分析用户运行的先前搜索以及后续的用户活动来确定。以下参照图2来更详细地讨论对由平均用户查看的项目的数量的计算。
图1还示出了在第三方服务器机器130上执行的第三方应用128,该第三方应用128能够经由API服务器114提供的编程接口来编程访问联网系统102。例如,通过利用从联网系统102取回的信息,第三方应用128可以支持由第三方主持的网站上的一个或多个特征或功能。例如,第三方网站可以提供由联网系统102的相关应用支持的一个或多个促销、市场、搜索或支付功能。
图2是示出了根据一些示例实施例的运行搜索应用121的应用服务器118的组件的框图200。应用服务器118被示出为包括全都被配置为彼此通信(例如,经由总线、共享存储器、交换机、或者API)的通信模块210、分页模块220、求精模块230、历史模块240和查询模块250。本文描述的任何一个或多个模块可以使用硬件(例如机器的处理器)或硬件与软件的组合来实现。例如,本文描述的任何模块可以将处理器配置为执行本文中针对该模块描述的操作。此外,这些模块中的任何两个或更多个模块可被合并为单一模块,且本文中针对单一模块描述的功能可以在多个模块之间细分。此外,根据各种示例实施例,本文描述为在单个机器、数据库或设备中实施的模块可以分布在多个机器、数据库或设备中。
通信模块210可以控制与客户机110或112和数据库126的通信。通信模块210还可以发送用于在应用服务器118或数据库126上存储的数据。
在从用户设备(例如,客户机110或客户机112)接收到搜索查询时,通信模块210可以向历史模块240发送搜索查询,以识别在过去提交类似搜索查询时用户的过去行为。例如,在与项目交互之前查看的项目的平均数量可以基于搜索字符串而变化。为了说明,用户可能希望购买iPhone5并搜索“iPhone5”。由查询所生成的结果可以恰好是用户正在寻找的东西,且因此用户可以选择与结果的第一页面上的结果进行交互。当针对很多用户聚合了该行为时,在搜索“iPhone5”之后在与项目交互之前查看的项目的平均数量可以较低。作为对比,用户可能希望购买一双鞋,但是不确切清楚希望哪种风格,或者可能简单地希望浏览,且因此搜索“鞋”。在找到关注的一双鞋之前,用户可能浏览了结果的若干页面。当针对很多用户聚合了该行为时,在搜索“鞋”之后在与项目交互之前查看的项目的平均数量可以较高。
尽管本具体实施方式讨论了在与项目交互时进行确定,本领域技术人员将意识到可以使用特定形式的交互。例如,与项目的交互可以包括:查看项目、对项目进行出价、购买项目、订购项目、以及在社交网络上分享项目。在一些示例实施例中,仅考虑交互的子集。例如,仅将购买项目视为与项目的交互。附加地,在单一实施例中可以考虑不同类型的交互。为了说明,示例实施例可以认为当前用户的任何形式的交互是交互,但是仅将其他用户的购买认为是交互。从而,尽管以下描述经常提及交互,应当将交互类型的各种可能组合识别为在本发明的范围内。
在另一示例实施例中,将交互分组为相关性的类别,且将类别用作要显示的结果或页面的数量的基础。类别的示例可以是指示购物会话结束的交互。这种类别中可以包括的交互可以包括例如:购买项目、在不同的项目类别中执行新的搜索、结束浏览会话、导航至完全不同的网站等。
分页模块220可以将在与项目交互之前查看的结果的平均数目转换为结果的页面的平均数。用于对结果的页面的数量进行确定的每页项目数量可以是预定值(例如针对所有客户机估计的平均值),或者可以基于从客户机110或112向应用服务器118发送的信息来确定。例如,客户机110或112可以发送显示设备的像素高度或能够被立刻显示的项目的数量。分页模块220可以使用附加因素来在分页控制中确定每页结果数量或页面数量,如下面参照图21~23所讨论的。
求精模块230可以确定呈现哪些求精、在哪里呈现求精选项、以及何时呈现求精选项。例如,可以呈现通用求精选项、基于上下文的求精选项、以及基于用户的求精选项。基于原始查询的上下文来呈现基于上下文的求精选项。例如,可以呈现选项,以将搜索结果限制为在用于生成查询的设备的位置的10英里半径内可获得的项目。作为另一示例,可以呈现选项来对针对软件的搜索进行求精,以将结果限制为在用于生成查询的设备的操作系统上运行的软件。基于与进行查询的用户有关的知识来呈现基于用户的求精选项。例如,基于用户的对偏好基于拍卖的销售进行指示的先前搜索,可以呈现求精,以将当前结果限制为基于拍卖的销售。基于除了上下文特定数据和用户特定数据之外的因素,来呈现通用求精选项。可以将求精选项连同结果一起在可卷动界面中呈现。备选地,结果的初始呈现可以不包括求精选项。基于在与项目交互之前查看的结果的平均数量或者在与项目交互之前查看的结果的页面的平均数量,可以设置阈值。一旦用户已卷动超过该阈值,则可以呈现不可卷动的求精选项。可以没置附加阈值,在该点处,可以呈现附加求精选项,可以移除已经呈现的求精选项,或者可以改变所呈现的求精选项的位置。
对启用不可卷动求精选项的确定可以基于针对相同查询的其他用户的卷动数据、针对不同查询的本用户的卷动数据、客户机110的浏览器类型、客户机110或112的设备类型、客户机110或112的屏幕解析度、结果集合、客户机110或112的位置、会话上下文、以及其他信号。因此,可以基于提交了查询的其他用户的之前行为,针对某些查询来禁用不可卷动的求精选项。类似地,可以基于在提交先前查询之后用户的之前行为,针对某些用户来禁用不可卷动的求精选项。
来自查询模块250的结果可被限制为由分页模块220所确定的结果的数量。通信模块210可以向客户端设备发送全部结果或结果子集,以向用户显示。例如,通信模块210可以向客户端设备发送值两个页面的结果,且其余结果在被请求时可获得。在一些示例实施例中,经由以超文本标记语言(HTML)格式发送结果的Ajax命令向客户机110或112发送结果。结果可以在标准分页模式或无缝分页模式下发送。标准分页模式一次示出一个页面的结果,使得在示出新的结果页面时,不再示出之前的结果页面的。作为对比,随着用户从一个页面“无缝”卷动到另一个页面时,无缝分页模式提供来自一个页面和下一个页面的结果,以在屏幕上同时示出。这也可以被称为“无限卷动”,其中,连续向下卷动将新的项目添加到显示,由此消除了对显式地请求项目的附加页面的用户需求。
应用服务器118可以确定是否启用无缝分页。应用服务器118可以经由通信模块210来接收客户机110或112的能力。能力可以与结果项目的显示或存储有关。例如,可以提供以像素或文本行为单位的显示设备的高度、宽度或面积。这些值对于确定可在页面上显示的项目的数量可以是有用的。这些值对于确定是否呈现不可卷动求精选项、在呈现不可卷动求精选项之前卷动的阈值应当是什么、以及呈现哪些不可卷动的求精选项也是有用的。
可以向应用服务器118提供客户机上可用的存储器的量。这些值对于确定可预先获取的项目的数量可以是有用的。预先获取项目是在用户请求显示它们之前取回它们。预先获取的项目的数量也可以基于分页模式。在正常分页模式下,一次显示一整页新结果,因此可能希望一次预先获取一页或多页的结果。在无缝分页模式下,可以显示新结果的部分页面,因此可能希望预先获取部分页面中的结果。其他标准也可以用于确定预先获取的结果的数量、预先获取结果的频率、或这二者。例如,可以使用特定用户在结果中进行卷动的速率。对于想要在结果中更快速卷动的用户,为了减少用户将不得不等待加载结果的可能性,一次预先获取更多的结果(或者更经常地预先获取结果)可能是有利的。类似地,可以使用之前用户在类似查询的结果中卷动的速率。对于经常提示更快速卷动的查询,为了减少用户将不得不等待加载结果的可能性,一次预先获取更多的结果(或者更经常地预先获取结果)可能是有利的。在一些示例实施例中,缺省一次预先获取一页结果,但是对于更快速卷动的用户或者对于导致更快速卷动的查询而言,一次预先获取两页或三页结果。
图3是示出了根据一些示例实施例的执行无缝分页的客户机110或112的组件的框图。客户机110或112被示出为包括通信模块310、分页模块320、求精模块330、能力模块340和UI模块350,其全都被配置为彼此通信(例如,经由总线、共享存储器、交换机、或者API)。本文描述的任何一个或多个模块可以使用硬件(例如机器的处理器)或硬件与软件的组合来实现。例如,本文描述的任何模块可以将处理器配置为执行本文中针对该模块描述的操作。此外,这些模块中的任何两个或更多个模块可被合并为单一模块,且本文中针对单一模块描述的功能可以在多个模块之间细分。此外,根据各种示例实施例,本文描述为在单个机器、数据库或设备中实施的模块可以分布在多个机器、数据库或设备中。
通信接口310可以从应用服务器118接收结果。通信模块310还可以接收要在分页控制中显示的页面的数量。在一些示例实施例中,通信模块310接收要在分页控制中显示的项目的数量,且在客户机110或112上执行项目到页面的转换。
在显示不可卷动的求精选项之前,通信模块310还可以接收要在可卷动界面中显示的页面或项目的数量。在一些示例实施例中,通信模块310接收要在显示不可卷动的求精选项之前显示的项目的数量,且在客户机110或112上执行项目到页面的转换。
通信模块310可在结果显示开始之前接收到针对在分页模块中示出的所有页面的结果,可以随着用户在结果中进行卷动而接收到新的结果,或这二者。例如,可以从应用服务器118初始发送两个页面的结果。一旦用户开始查看第二页面的结果,通信模块310可以向应用服务器118发送针对附加结果的请求,并可以接收附加结果。例如,通信模块310可以接收下一个页面的结果。通过减少用户在决定查看附加结果与呈现这些结果之间必须等待的时间量,预先获取结果可以提供更好的用户体验。
通信模块310可在结果显示开始之前接收到所有阈值和对应的不可卷动的求精选项,可以随着用户在结果中进行卷动而接收到新的阈值和对应的不可卷动的求精选项,或这二者。例如,可以从应用服务器118初始发送一个阈值和对应的不可卷动的求精选项。一旦用户卷动超过第一阈值,通信模块310可以向应用服务器118发送针对附加阈值和对应的求精选项的请求,且可以接收附加阈值和对应的求精选项。例如,通信模块310可以接收下一个阈值和对应的求精选项。
当分页模块320检测到用户正在尝试卷动超过当前分页范围(例如,超过由应用服务器118指示的用于显示的项目中的最后一个项目),分页模块320可以阻止用户查看更多结果,或者允许用户继续观看附加结果。不管是否阻止用户查看附加结果,可以呈现通知,向用户建议已经呈现了最相关的结果。通知可以请求对用户希望看到更多结果的确认。在一些示例实施例中,分页模块320使得UI模块350将当前页面号码替换为具有相同大小的下一个号码集合。例如,如果当前页面列表是1、2、3,且用户想要看到附加结果,则可以将页面列表更新为4、5、6。在备选实施例中,分页模块320使得UI模块350递增或递减当前页面列表,同时将当前页面列表保持为相同大小。例如,如果当前页面列表是1、2、3,且用户想要看到附加结果,则可以将页面列表更新为2、3、4。在其他实施例中,分页模块320使得UI模块350向页面列表中添加新的页面,同时保持当前要素在恰当位置。例如,如果当前页面列表是1、2、3,且用户想要看到附加结果,则可以将页面列表更新为1、2、3、4。可以如上所述预先获取新的页面的结果,或者可以响应于用户请求不是当前分页范围的一部分的页面而获取新的页面的结果。
当求精模块330检测到用户正在尝试卷动超过最终阈值(例如,超过由应用服务器118指示的阈值中的最后一个阈值)时,求精模块330可以呈现通知,建议用户:选择求精选项可以是有帮助的。该通知可以请求对用户希望看到更多结果而不应用求精选项的确认。
能力模块340也可以识别正被用于查看结果集合的web浏览器。应用服务器118可以要求某些web浏览器以启用某些选项,阻止某些web浏览器访问某些选项,或这二者。例如,能力模块340可以识别不支持无缝分页的浏览器。在该情况下,服务器可以使用要在缺省分页模式下呈现的数据对搜索查询进行响应。能力模块340还可以识别结果的视图类型,例如列表视图或图库视图。在列表视图中示出项目的列表。在图库视图中示出项目的二维阵列。应用服务器118可以支持针对列表视图、图库视图、或这二者的无缝分页,或者不支持针对这二者的无缝分页。能力模块340可以识别每页的项目的数量在每页项目低于阈值(例如,50)、高于阈值(例如,5)、或在指定范围内(例如,5~50)时,应用服务器118可以支持无缝分页。能力模块340可以识别显示项目的排序类型。例如,项目可以按相关性、日期、价格、与用户的接近度、或它们的任何恰当组合来排序。应用服务器118可以支持针对某些排序类型的无缝分页,而不支持针对其他排序类型的无缝分页。在一些示例实施例中,能力模块340确定可以在页面上显示的项目的数量,并向通信模块310提供该数据,以向应用服务器118发送。
能力模块340可以识别不支持不可卷动的要素的浏览器。在该情况下,服务器可以使用在不使用不可卷动的求精选项的情况下呈现的数据对搜索查询进行响应。应用服务器118可以支持针对列表视图、图库视图、或这二者的不可卷动的求精选项,或者不支持针对这二者的不可卷动的求精选项。在每页项目低于阈值(例如,50)、高于阈值(例如,5)、或在指定范围内(例如,5~50)时,应用服务器118可以支持对不可卷动的求精选项的呈现。应用服务器118可以支持针对某些排序类型的不可卷动的求精选项,而不支持针对其他排序类型的不可卷动的求精选项。
UI模块350可以向用户呈现用于提交搜索查询的UI。通信模块310可以向运行搜索应用121的应用服务器118提交搜索查询。能力模块340可以识别客户机110或112的能力,以由通信模块310向应用服务器118发送。能力可以与结果项目的显示或存储有关。例如,可以提供以像素或文本行为单位的显示设备的高度、宽度或面积。作为其他示例,可以提供以下各项的任意组合:可用存储器的量、用于查看结果集合的web浏览器、结果的视图类型(例如,列表视图还是图库视图)、每页的项目数量、以及显示项目的排序类型。
UI模块350可以将第一页结果连同分页模块320生成的分页控制一起显示。用户可以在结果中卷动。分页模块320可以检测屏幕何时开始示出新的页面、屏幕何时示出新的页面比老的页面更多、或者屏幕何时不再示出老的页面。基于这些事件中的任何事件,分页模块320可以确定老的页面不再是当前页面,且确定新的页面现在是当前页面。UI模块350可以更新分页控制,以指示新的当前页面。
UI模块350可以将第一页结果连同分页模块320生成的分页控制一起显示。用户可以在结果中卷动。求精模块330可以检测用户何时卷动超过阈值。基于该事件,求精模块330可以确定呈现不可卷动的求精选项。UI模块350可以更新UI,以显示不可卷动的求精选项。
在一些示例实施例中,将唯一的标识符(UID)用于每一页。所显示的每个项目的高度可以是已知的(例如,高度可以是112个像素)。可以根据每个项目的高度和每个页面上的项目的数量来计算每个页面的高度。例如,如果每个页面上有48个项目且每个项目的高度是112个像素,则页面的高度可以是5376个像素。当用户想要移动到下一页时(例如,通过按下图4中的下一页箭头440,在下面讨论),可以使用页面的高度来创建空白的HTMLDIV。可以对应用服务器118进行Ajax调用,以请求新页面的数据。应用服务器118发送的数据可以存储在HTML会话存储设备中。也可以从会话中删除其他页面的数据。例如,可以存储当前、前一个和后一个页面的数据,且可以从会话存储设备中移除任何其他页面的数据。在一些示例实施例中,当用户向尚未被加载数据的页面卷动时,当用户进入该新页面的阈值距离内时加载该页面的数据。例如,页面可以大于屏幕,使得用户初始仅看到第一页的一部分。用户可以向下卷动距离,且依然仅在第一页的中间。然后用户可以卷动接近第一页的末尾,并触发对第二页的加载。阈值距离可以按像素(例如,1000个像素)、项目(例如,10个项目)、或它们的任何合适组合来测量。
图4示出了根据一些示例实施例的用于无缝分页的UI的屏幕图400。文本输入字段410示出了当前搜索查询并允许用户输入新的搜索查询。项目420是响应于搜索查询的项目。页面指示符430指示了当前页面,并示出了当前页面范围内的其他页面。箭头440允许用户在结果集合中一次一页地向前或向后移动。分页工具包括页面指示符430和箭头440。卷动工具450允许用户在结果集合中一次一行的向前或向后移动。屏幕图400示出了在第一页面上显示的前16个项目420,如页面指示符430所指示的。
图5示出了根据一些示例实施例的用于无缝分页的UI的屏幕图500。文本输入字段510示出了当前搜索查询并允许用户输入新的搜索查询。在用户相对于屏幕图400向下卷动两行之后,显示项目520(标记9~24)。页面指示符530指示这依然被视为页面1。页面指示符530、箭头540和卷动工具550与上面参照屏幕图400的对应要素所描述的实质上相同。
图6示出了根据一些示例实施例的用于无缝分页的UI的屏幕图600。文本输入字段610示出了当前搜索查询并允许用户输入新的搜索查询。在用户相对于屏幕图500向下卷动附加行之后,显示项目620(标记13~28)。页面指示符630现在示出当前页面是页面2。如果用户选择卷动回到页面1,则可以从会话存储设备中取回页面1的项目。用户可以选择在页面指示符630中示出的页面号码。响应于这种选择,分页工具可以使项目的显示跳到选定页面。可以创建空白空间,以表示被跳过的页面。例如,如果用户当前正在查看页面2并选择页面6,可以创建与被跳过的页面3、4和5相对应的空白空间,且可以将当前位置更新到页面6的顶部。在一些示例实施例中,页面3~6中的一个或多个会被预先加载。在这些实施例中,可仅针对尚未被预先加载的页面来创建空白空间。可以通过将每一页的高度(以像素为单位)乘以页面的号码来计算页面的像素位置。可以在会话存储设备中存储当前页面和所访问页面的总数。当用户卷动到新的页面或者按动下一页箭头时,可以递增当前页面号码和页面总数。当用户卷动到前一页面或者按动前一页箭头时,可以递减当前页面号码。
在一些示例实施例中,文本输入字段610可以是“不动的”或者不可卷动的,且随着用户在结果中卷动或分页而保持其在屏幕上的位置。类似地,分页工具可以是不动的。分页工具还可以包括用于返回搜索结果的第一页面的要素(未示出)。页面指示符630、箭头640和卷动工具650与上面参照屏幕图400的对应要素所描述的实质上相同。
图7示出了根据一些示例实施例的适用于无缝分页的UI的屏幕图700。文本输入字段710示出了当前搜索查询并允许用户输入新的搜索查询。例如,在到达初始六页的末尾之后,在用户已选择观看更多项目之后,显示项目720(标记97~112)。页面指示符730指示当前页面是页面7,并呈现页面范围7~12。页面指示符730、箭头740和卷动工具750与上面参照屏幕图400的对应要素所描述的实质上相同。
用户可以选择所显示项目中的项目,使得该项目的页面被显示。在查看该项目的页面之后,用户可以点击web浏览器的“后退”按钮以返回结果列表,或以其他方式使得浏览器返回结果列表。缺省地,web浏览器可以重新加载页面并显示结果列表的顶部。用户可以优选返回最近查看的页面。在一些示例实施例中,存储最近查看的页面(例如,存储在web浏览器的会话存储设备中、在专用应用的数据结构中等),使得在用户返回结果列表之后,将用户返回先前位置,而不是结果的顶部。为了便于显示先前查看的页面,可以通过从会话存储设备中访问当前页面和访问页面总数来确定用户最近查看的页面的像素位置。可以通过在document.ready()函数中创建具有固定高度的空白DIV,使用文档对象模型(DOM)来创建空白页面。可以从会话存储没备中访问针对当前页面和前一页面中的项目的数据。备选地,可以从应用服务器118(例如,经由Ajax调用)取回要显示的项目的数据。从应用服务器118取回数据的决定可以基于数据在会话存储设备中的不可用性。用户可以使用web浏览器在结果页面中加上书签。对书签的稍后使用可以让用户返回结果的第一页面。
在用户从查看项目返回结果列表之后,可以在屏幕上指示结果列表中已被用户查看过的项目。例如,可以使用特定颜色的背景、特定颜色的边界、图标、复选框、或它们的任何合适组合来指示用户之前已经卷动超过的项目。可以使用不同颜色的背景、不同颜色的边界、不同图标、不同位置上的复选框或它们的任何合适组合来指示用户先前已选择进行详细查看的项目。这些视觉指示符可以帮助用户在相同位置上继续浏览,并识别正在查看的结果是新结果还是已经看到过的结果,这可以帮助用户更快速地找到关注项目。
图8示出了根据一些示例实施例的用于在无缝分页期间的上下文求精的UI的屏幕图800。文本输入字段810示出了当前搜索查询并允许用户输入新的搜索查询。可卷动求精类别(例如,可卷动求精类别860)和可卷动求精选项(例如,可卷动求精选项870)可以用于实现求精选项。屏幕图800示出了在第一页面上显示的前12个项目820,如页面指示符830所指示的。页面指示符830指示了当前页面,并示出了当前页面范围内的其他页面。箭头840允许用户在结果集合中向前或向后移动(例如,一次一页)。分页工具包括页面指示符830和箭头840。卷动工具850允许用户在结果集合中向前或向后移动(例如,一次一行或一次一页)。在一些示例实施例中,文本输入字段810可以是不可卷动的,且随着用户在结果中卷动或分页而保持其在屏幕上的位置。类似地,分页工具可以是不可卷动的。分页工具还可以包括用于返回搜索结果的第一页面的要素(未示出)。
图9示出了根据一些示例实施例的用于在无缝分页期间的上下文求精的UI的屏幕图900。可以在屏幕图800的用户已向下卷动三行之后呈现屏幕图900。文本输入字段910示出了当前搜索查询并允许用户输入新的搜索查询。可卷动求精类别(例如,可卷动求精类别860)和可卷动求精选项(例如,可卷动求精选项870)可能已经卷动离开屏幕。其他可卷动求精类别和可卷动求精选项(例如,可卷动求精选项960)可以用于实现求精选项。屏幕图900示出了在第一页面上显示的项目920(标记为10~21),如页面指示符930所指示的。页面指示符930指示了当前页面,并示出了当前页面范围内的其他页面。箭头940允许用户在结果集合中一次一页地向前或向后移动。分页工具包括页面指示符930和箭头940。卷动工具950允许用户在结果集合中向前或向后移动(例如,一次一行或一次一页)。
图10示出了根据一些示例实施例的用于在无缝分页期间的上下文求精的UI的屏幕图1000。屏幕图1000示出在用户相对于屏幕图900向下卷动附加行之后正在显示的项目1020(标记项目13~23)。文本输入字段1010示出了当前搜索查询并允许用户输入新的搜索查询。响应于用户卷动超过阈值,可以添加不可卷动的求精类别(例如,不可卷动的求精类别1060)作为UI要素。页面指示符1030指示了当前页面,并示出了当前页面范围内的其他页面。箭头1040允许用户在结果集合中一次一页地向前或向后移动。分页工具包括页面指示符1030和箭头1040。卷动工具1050允许用户在结果集合中向前或向后移动(例如,一次一行或一次一页)。
对呈现求精类别而不是求精选项的确定可以基于可用的屏幕实际面积(screenrealestate)。例如,求精选项的完整集合可能不适合屏幕。基于对屏幕过小而不能容纳所有求精选项的确定,可以呈现用于引起显示求精选项的求精类别。
对呈现求精类别的确定可以基于过去的用户行为。例如,如果被呈现了很多求精选项的用户难以承受选项的数量并代之以放弃其搜索,则呈现较少数量的类别对于用户来说可以较不令人害怕。通过示出针对被呈现了求精类别而不是求精选项的用户的较高交互率,过去的用户行为可以对此进行指导。
在一些示例实施例中,呈现求精类别和求精选项这二者。例如,求精类别可被呈现为求精选项的类别首部且是不可操作。作为另一示例,可以扩展常用的类别以显示求精选项,同时将很少使用的类别仅呈现为类别。通过示出针对被呈现了特定求精类别中的选项的用户的较高交互率,过去的用户行为可以对此进行指导。
图11示出了根据一些示例实施例的用于在无缝分页期间的上下文求精的UI的屏幕图1100。可以在用户激活(例如,点击)不可卷动的求精类别1160之后显示屏幕1100。文本输入字段1110示出了当前搜索查询并允许用户输入新的搜索查询。响应于对不可卷动的求精类别1160的激活,可以显示UI要素1170。UI要素1170包括对类别的指示(例如,“求精类别1”)以及三个求精选项(例如,“求精1A”、“求精1B”以及“求精1C”)。求精选项可以用于对搜索结果应用所指示的求精。例如,品牌求精可以将搜索结果限制为项目的特定品牌。因此,选择品牌求精可以使得向用户呈现具有针对求精查询的搜索结果的屏幕图400或800。屏幕图1100示出了正在显示项目1120(所标记的项目13~23)(与屏幕图1000示出相同的项目)。还依然显示屏幕图1000中示出的不可卷动的求精类别(例如,不可卷动的求精类别1160)。在一些示例实施例中,在显示UI要素1170的同时隐藏不可卷动的求精类别。页面指示符1130指示了当前页面,并示出了当前页面范围内的其他页面。箭头1140允许用户在结果集合中一次一页地向前或向后移动。分页工具包括页面指示符1130和箭头1140。卷动工具1150允许用户在结果集合中向前或向后移动(例如,一次一行或一次一页)。
图12示出了根据一些示例实施例的用于在无缝分页期间的上下文求精的UI的屏幕图1200。在用户查看图9的屏幕图900之后向下卷动附加行之后,屏幕图1200示出了正在显示项目1220(标记项目13~23)。文本输入字段1210示出了当前搜索查询并允许用户输入新的搜索查询。响应于用户卷动超过阈值,可以添加不可卷动的求精类别(例如,不可卷动的求精类别1260)作为UI要素。如图12所示,可以将不可卷动的求精类别1260放在与已卷动离开页面的可卷动求精类别不同的位置上。如图12进一步所示,标记为“求精类别3”的不可卷动的求精类别1260与已经被卷动离开页面的可卷动求精类别可以是不同的类别。例如,可卷动求精类别可以是通用类别,而不可卷动的求精类别1260可以是用户特定或上下文特定的。例如,通用类别可以基于搜索结果(例如,最高数量的结果所属的类别或者最高数量的经常购买的结果所属的类别)。同时,用户特定的求精类别可以基于用户应用的在先求精。例如,用户可经常按价格来过滤结果,偏好仅查看少于$100的项目。因此,基于用户的求精类别可以是价格过滤器类别,用户可以从该类别中选择针对价格的单独求精。类似地,上下文特定的求精类别可以基于查询的上下文。例如,可以从在位置上的移动设备发出查询。因此,基于上下文的求精类别可以是位置过滤器类别,用户可以从该类别中选择针对在移动设备的位置的某个距离内的结果的单独求精。
页面指示符1230指示了当前页面,并示出了当前页面范围内的其他页面。箭头1240允许用户在结果集合中一次一页地向前或向后移动。分页工具包括页面指示符1230和箭头1240。卷动工具1250允许用户在结果集合中向前或向后移动(例如,一次一行或一次一页)。
在到达初始六页的末尾之后,在用户已选择观看更多项目之后,图13的屏幕图1300示出了正在显示项目1320(标记97~111)。文本输入字段1310示出了当前搜索查询并允许用户输入新的搜索查询。页面指示符1330指示当前页面是页面7,并呈现页面范围7~12。
可以基于用户卷动超过阈值,根据不可卷动的求精类别1260来生成不可卷动的求精选项1360。例如,可以基于用户卷动超过第一阈值来呈现不可卷动的求精类别1260。基于用户卷动超过第二阈值,可以将不可卷动的求精类别选项向上移动至中心位置。基于用户卷动超过第三阈值,可以将不可卷动的求精类别选项扩展,以包括求精3A、3B和3C。UI要素1360包括对类别的指示(例如,“求精类别3”)以及三个求精选项(例如,“求精3A”、“求精3B”以及“求精3C”)。求精选项可以用于对搜索结果应用所指示的求精。例如,品牌求精可以将搜索结果限制为项目的特定品牌。因此,选择品牌求精可以使得向用户呈现具有针对求精查询的搜索结果的屏幕图400或800。
页面指示符1330指示了当前页面,并示出了当前页面范围内的其他页面。箭头1340允许用户在结果集合中向前或向后移动(例如,一次一页)。分页工具包括页面指示符1330和箭头1340。卷动工具1350允许用户在结果集合中向前或向后移动(例如,一次一行或一次一页)。
图14是示出了根据一些示例实施例的在执行无缝分页的方法时应用服务器118的操作的流程图。方法1400中的操作可以由应用服务器118上运行的搜索应用121使用上面参照图2描述的模块来执行。
搜索应用121可以从例如搜索销售项目的客户机110或112接收搜索查询(操作1410)。搜索应用121可以运行该查询并识别响应项目(操作1420)。响应于该搜索查询,搜索应用121可以向客户机110或112发送响应项目的子集(操作1430)。响应项目的子集可以足以覆盖多于一页的屏幕面积。发送的项目的数量可以基于从客户机110或112接收到的能力数据、应用服务器118可访问的历史数据、或这二者。应用服务器118可以接收针对附加响应项目的请求(操作1440),且响应于该请求来发送附加结果(操作1450)。
图15是示出了根据一些示例实施例的在执行无缝分页的方法1500时客户机110或112的操作的流程图。方法1500中的操作可以由客户机110或112使用上面参照图3描述的模块来执行。
客户机110或112可以发送搜索查询(操作1510)。例如,搜索查询可以由UI模块350所接收,或者被输入到文本输入字段410中。可以向执行上述方法1400的应用服务器118发送该搜索查询。响应于该搜索查询,客户机110或112可以接收响应项目的第一页面和第二页面(操作1520和1530)。客户机110或112可以将响应项目的第一页面连同分页控制一起呈现(操作1540和1550)。客户机110或112可以接收分页命令(操作1560)。例如,分页命令可以由UI模块350所接收,或者由分页控制430来产生。响应于分页命令,客户机110或112可以呈现响应项目的第二页面(操作1570),并向应用服务器118请求响应项目的第三页面(操作1580)。
图16是示出了根据一些示例实施例的在执行无缝分页的方法1600时应用服务器118的操作的流程图。方法1600中的操作可以由应用服务器118上运行的搜索应用121使用上面参照图2描述的模块来执行。
搜索应用121可以从例如搜索销售项目的客户机110或112接收搜索查询(操作1610)。搜索应用121可以使用上面参照图2讨论的标准的任何组合来确定向用户呈现的结果的项目数量或者结果的页面数量(操作1620)。响应于该搜索查询,搜索应用121可以向客户机110或112发送要呈现的页面的数量(操作1630)。
图17是示出了根据一些示例实施例的在执行无缝分页的方法1700时客户机110或112的操作的流程图。方法1700中的操作可以由客户机110或112使用上面参照图3描述的模块来执行。
客户机110或112可以发送搜索查询(操作1710)。例如,搜索查询可以由UI模块350所接收,或者被输入到文本输入字段410中。可以向执行上述方法1600的应用服务器118发送该搜索查询。响应于该搜索查询,客户机110或112可以接收要呈现的项目的页数(操作1720)。客户机110或112可以显示用于在第一页数的结果页面中进行选择的分页控制(操作1730)。例如,如果页数是3,则分页控制可以用于允许用户选择前三页中的任何页面。
图18是示出了根据一些示例实施例的在执行具有无缝分页的上下文求精的方法1800时客户机110或112的操作的流程图。方法1800中的操作可以使用上面参照图3描述的模块,结合在应用服务器118上运行的搜索应用121,使用上面参照图2描述的模块来执行。
在操作1810中,客户机110或112可以经由UI从用户接收搜索查询。例如,可以向用户呈现文本字段和提交按钮。用户可以向文本字段中输入搜索字符串,并按动提交按钮。
在操作1820中,客户机110或112可以接收针对搜索查询的响应项目。例如,客户机110或112可以向搜索应用121发送搜索查询。搜索应用121可以运行该查询并识别响应项目。响应于该搜索查询,搜索应用121可以向客户机110或112发送响应项目的全部或子集。
在操作1830中,客户机110或112可以在可卷动界面中显示响应项目。响应项目可以足以覆盖多于一页的屏幕面积。
在操作1840中,客户机110或112可以检测可卷动界面已经卷动超过阈值。例如,UI可以包括卷动条,用于向上和向下卷动UI。可以基于响应项目的数目、卷动页面的数目、卷动像素的数目、或另一卷动度量来设置阈值。阈值可以是固定的,可以是基于用户设备的,可以是基于用户的在先搜索交互的,或者可以是基于其他用户的搜索交互的。
在操作1850中,客户机110或112向UI添加不可卷动要素。例如,可以呈现不可卷动的求精选项,用于对用户的搜索进行求精。作为另一示例,可以呈现用于呈现求精选项的不可卷动的要素。
图19是示出了根据一些示例实施例的在执行具有无缝分页的上下文求精的方法1900时客户机110或112的操作的流程图。方法1900中的操作可以使用上面参照图3描述的模块,结合在应用服务器118上运行的搜索应用121,使用上面参照图2描述的模块来执行。
在操作1910中,客户机110或112可以经由UI从用户接收搜索查询。例如,可以向用户呈现文本字段和提交按钮。用户可以向文本字段中输入搜索字符串,并按动提交按钮。
在操作1920中,客户机110或112可以接收针对搜索查询的响应项目。例如,客户机110或112可以向搜索应用121发送搜索查询。搜索应用121可以运行该查询并识别响应项目。响应于该搜索查询,搜索应用121可以向客户机110或112发送响应项目的全部或子集。
在操作1930中,客户机110或112可以在可卷动界面中显示响应项目。响应项目可以足以覆盖多于一页的屏幕面积。
在操作1940中,客户机110或112可以检测可卷动界面已经卷动超过第一阈值。例如,UI可以包括卷动条,用于向上和向下卷动UI。可以基于响应项目的数目、卷动页面的数目、卷动像素的数目、或另一卷动度量来设置第一阈值。第一阈值可以是固定的,可以是基于用户设备的,可以是基于用户的在先搜索交互的,或者可以是基于其他用户的搜索交互的。
在操作1950中,客户机110或112向UI添加不可卷动要素。对不可卷动要素的添加可以基于检测到可卷动界面已经卷动超过第一阈值。例如,可以呈现不可卷动的求精选项,用于对用户的搜索进行求精。作为另一示例,可以呈现用于呈现求精选项的不可卷动的要素。
在操作1960中,客户机110或112可以检测可卷动界面已经卷动超过第二阈值。例如,UI可以包括卷动条,用于向上和向下卷动UI。可以基于响应项目的数目、卷动页面的数目、卷动像素的数目、或另一卷动度量来设置第二阈值。阈值可以是固定的,可以是基于用户设备的,可以是基于用户的在先搜索交互的,或者可以是基于其他用户的搜索交互的。可以将第二阈值定义为绝对位置(例如,从结果列表的顶部开始的五个屏幕)或相对位置(例如,从第一阈值开始的四个屏幕)。
在操作1970中,客户机110或112修改在操作1950中向UI添加的不可卷动要素。对不可卷动要素的修改可以基于检测到可卷动界面已经卷动超过第二阈值。例如,可以在将可卷动界面卷动超过第一阈值时呈现用于呈现求精选项的不可卷动要素,且在将可卷动界面卷动超过第二阈值时在没有来自用户的进一步交互的情况下修改该要素以实际呈现求精选项。
图20是示出了根据一些示例实施例的在执行具有无缝分页的上下文求精的方法2000时客户机110或112的操作的流程图。方法2000中的操作可以使用上面参照图3描述的模块,结合在应用服务器118上运行的搜索应用121,使用上面参照图2描述的模块来执行。操作2010~2060对应于上面参照图19描述的操作1910~1960。
在操作2070中,客户机110或112向在操作2050中向UI添加的不可卷动要素添加第二不可卷动要素。例如,第一不可卷动要素可以用于呈现与项目的品牌有关的求精选项,且第二不可卷动要素可以用于呈现与项目的价格有关的求精选项。
根据各种示例实施例,本文描述的一个或多个方法可以便于在无缝分页期间的上下文求精。因此,本文描述的一个或多个方法可以便于对用户请求的信息的取回和呈现,同时指示一个或多个所建议的求精,以增加用户搜索的精确度。
图21是示出了根据示例实施例的适用于无缝分页的对查询数据特征的使用的框图2100。数据库2110存储历史用户行为数据以及与系统的一定数量的用户的行为有关的数据。在一个实施例中,与所有用户的动作有关的数据存储在数据库2110中。可以对数据库2110进行挖掘,以确定针对查询的成功会话看到的页面和项目的数量2120以及针对查询的不成功会话而看到的页面和项目的数量2130。成功会话可以是用户以任何方式与项目交互(例如,查看项目、对项目出价、购买项目、订购项目等)的会话或者执行特定交互(例如,对项目出价、购买项目、或这二者)的会话。不成功会话可以是不成功的任何会话。也可以使用其他标准来识别成功和不成功会话。基于针对查询的成功会话看到的页面和项目的数量2120、针对查询的不成功会话看到的页面和项目的数量2130、或这二者,可以创建或更新查询分页数据的数据库2140。基于数据库2140中的信息,可以确定向进行查询的用户显示的页面的数量。附加地或备选地,基于数据库2140中的信息,可以确定在呈现或变更不可卷动UI要素之前向进行查询的用户显示的页面和项目的数量。
图22是示出了根据示例实施例的适用于无缝分页的对用户数据特征的使用的框图2200。在框图2200中,可以对包含历史用户行为数据的数据库2210进行挖掘,以确定针对用户的成功会话看到的页面和项目的数量2220以及针对用户的不成功会话而看到的页面和项目的数量2230。基于针对用户的成功会话看到的页面和项目的数量2220、针对用户的不成功会话看到的页面和项目的数量2230、或这二者,可以创建或更新用户分页数据的数据库2240。基于数据库2240中的信息,可以确定向进行查询的用户显示的页面的数量。针对用户和查询的历史用户行为数据可以合并或者独立使用。例如,如果单独基于用户数据,要呈现的页面的数量是5,且单独基于查询数据,要呈现的页面的数量是7,则某些示例实施例可以呈现5页,而其他示例实施例将呈现7页,且还有其他示例实施例将对这些值求平均并呈现6页。
图23示出了在确定是否启用无缝分页时可以考虑的一些因素。对启用无缝分页的确定可以基于针对相同查询的其他用户的分页数据2305、针对不同查询的本用户的分页数据2310、客户机110的浏览器类型2320、客户机110或112的设备类型2315、客户机110或112的屏幕解析度2325、结果集合2330、客户机110或112的位置2335、会话上下文2340、以及其他信号2345。在决定2350处,基于一个或多个输入因素来进行对启用还是禁用无缝分页的决定。因此,达成启用无缝分页的结果2355或者达成使用缺省分页的结果2360。例如,可以基于提交了查询的其他用户的先前行为,针对某些查询来禁用无缝分页。类似地,可以基于在提交先前查询之后用户的先前行为,针对某些查询来禁用无缝分页。
可以考虑设备类型2315。例如,使用全屏设备(例如,台式计算机)的用户可能比使用小屏幕设备(例如,移动设备)的那些用户倾向于在更多页面中卷动,因此呈现的页面数量对于全屏设备的用户来说可以更高。在访问其他用户的先前搜索时,还可以应用设备因素。例如,不考虑针对相同查询的其他用户的所有搜索,而是可以仅考虑来自相似设备的搜索。相似度可以基于以下各项的任意合适组合:设备的制造商(例如,苹果设备、HP设备等)、设备的种类(例如,电话、平板电脑、膝上型计算机、台式计算机等)、设备的能力(例如,屏幕大小、屏幕解析度、触摸屏、存储器、处理器速度等)、网络的能力(例如,应用服务器和客户机之间的带宽、应用服务器和客户机之间的时延等)或其他设备因素。
相关因素可以是设备的速度或其他环境条件。例如,更经常得运动病(motionsick)的用户在乘火车旅行时可以用与休息时不同的方式来进行浏览,且系统可以足够智能以至少部分基于设备的速度来修改分页。这可以扩展到车辆的驾驶员正在与搜索结果进行交互的实施例,例如通过车辆的车头单元。在这种实例中,用户注意力分散是重要因素,且可能希望宁可在这种条件下提供甚至更加简化的界面(可能具有更少的页面),以减少驾驶员注意力分散。
可以考虑会话上下文数据2340,例如由用户紧接在提交当前查询之前运行的一个或多个查询。例如,当用户搜索“iPhone5”时呈现的页面数量可以是八,但是当该搜索紧接在针对“电话”的搜索之后时,呈现的页面数量可以是5。另一上下文因素可以是用户运行搜索查询的频率。例如,周期性地搜索可收集项目的用户可以指示对搜索结果的加强级别的关注,且因此可以呈现附加的结果页面。
可以考虑地理位置数据2335,例如用户或设备的位置。例如,在都市区域中的用户比在乡村区域中的用户可能倾向于在更多的页面中卷动,且因此针对都市区域中的用户所呈现的页面数量可以较高。在访问其他用户的先前搜索时,还可以应用地理位置因素。例如,不考虑针对相同查询的其他用户的所有搜索,而是可以仅考虑来自用户区域的搜索。可以将用户的区域定义为政治单位,例如城市、郡、州等,或者定义为包含用户的特定半径(例如,5英里、50英里、或200英里)内的所有其他用户的地理区域。在另一示例实施例中,可以基于先前的用户行为对区域进行分类。例如,在从家中浏览时,与从工作中浏览时相比,用户可以按不同方式动作。可以跟踪用户的家庭和工作位置的地理位置,且在不仅基于用户还基于用户在家还是在工作来定制分页时利用该信息。
还可以应用时间因素。例如,不看针对用户或查询的所有历史数据,而可以仅使用来自特定时段的行为数据。可以将不同的时间因素用于用户的历史数据和查询的历史数据,可以将时间因素用于其中一个而不用于另一个,或者可以将相同的时间因素用于这二者。例如,可以考虑用户在过去两周的行为,且可以考虑其他用户针对该查询在过去两个月的行为。
还可以应用社交因素。例如,与作为经常查看更少结果页面的用户的朋友的用户相比,社交网络中作为经常查看更多结果页面的用户的朋友的用户可能查看更多的结果页面。在访问其他用户的先前搜索时,还可以应用社交因素。例如,不考虑针对相同查询的其他用户的所有搜索,而是可以仅考虑来自朋友的搜索。还可以考虑其他关系,例如,朋友的朋友、特定组中的成员资格、针对特定信息聚合(feed)的订购等。
还可以考虑广告因素。例如,可以将广告连同项目一起显示。广告主可以针对呈现的每个广告来按点击、按印象、或按销售费率来支付。因此,鼓励用户在选择项目以进行交互之前查看更多项目页面可能是受益的,且与具有较少广告或较低利润的广告的查询相比,与更多广告或者按更高费率来销售的广告相关联的查询可以呈现更多的结果页面。
还可以考虑直接获利(directmonetization)。出现在搜索结果的较晚页面上的项目的所有者可能关注支付用于鼓励呈现搜索结果的足够多的页面来包括该项目的费用。类似地,出现在搜索结果的较早页面上的项目的所有者可能关注支付用于减少所呈现页面的数量的费用,以鼓励用户与该项目交互。在一些示例实施例中,这允许搜索结果的顺序不受到获利影响,同时允许对搜索结果的获利。
在一些示例实施例中,在用户与项目交互之前显示的项目的平均数量被用于确定要显示的结果的页面的数量,如上所述。在其他示例实施例中,使用在用户与项目交互之前显示的项目的中位数。使用中位数将意味着50%的用户将偏好附加的项目查看,而50%的用户将偏好更少的项目查看。也可以使用其他百分比。例如,要显示的页面的数量可以基于95%的用户查看的页面的最大数量。在每种情况下,可以将识别出的项目或页面的数量视为在与项目交互之前由平均用户查看的项目的数量。
下面示出了交互百分比的示例表格。
页面号码 | 数量 | 总数 | 百分比 | 累加百分比 |
1 | 7619219 | 13620362 | 55.94% | 55.94% |
2 | 1398029 | 13620362 | 10.26% | 66.20% |
3 | 843538 | 13620362 | 6.19% | 72.39% |
4 | 581797 | 13620362 | 4.27% | 76.66% |
5 | 439465 | 13620362 | 3.23% | 79.89% |
6 | 334678 | 13620362 | 2.46% | 82.35% |
7 | 270301 | 13620362 | 1.98% | 84.33% |
8 | 220334 | 13620362 | 1.62% | 85.95% |
9 | 185165 | 13620362 | 1.36% | 87.31% |
10 | 168763 | 13620362 | 1.24% | 88.55% |
11 | 134624 | 13620362 | 0.99% | 89.54% |
12 | 115914 | 13620362 | 0.85% | 90.39% |
13 | 101197 | 13620362 | 0.74% | 91.13% |
14 | 92850 | 13620362 | 0.68% | 91.81% |
如在该示例表格中看到的,在当前查询之前用户已运行了13,620,362个相似搜索。在这些搜索中,55.94%(即7,619,219个搜索)导致了与第一页面上的项目的交互,10.26%(即1,398,029个搜索)导致了与第二页面上的项目的交互等。从而,如果选择50%阈值,则识别的页面的数量为一,而如果选择85%阈值,则识别的页面的数量为八。
根据各种示例实施例,本文描述的一个或多个方法可以便于无缝分页。因此,本文描述的一个或多个方法可以便于对用户请求的信息的取回和呈现,同时指示所建议数量的项目供考虑。在分页控制中仅呈现有限数目的页面可以鼓励用户在不观看多于所确定数目的项目的情况下与项目交互,这可以导致用户更好的体验、用户对搜索引擎或结果集合的更多参与、用户节约的时间、以及由搜索引擎向用户提供的项目的更大销售额。提供分页控制还可以帮助用户跟踪结果集合中的当前位置,使得用户能够更快速地返回已由用户精神标记的关注项目。
根据各种示例实施例,本文描述的一个或多个方法可以便于在无缝分页期间的上下文求精。因此,本文描述的一个或多个方法可以便于对用户请求的信息的取回和呈现,同时指示一个或多个所建议的求精,以增加用户搜索的精确度。
当总体来考虑这些效果时,本文描述的一个或多个方法可以消除针对某些工作量或资源的需求,该某些工作量或资源在其他情况下将在搜索中涉及。通过本文描述的一个或多个方法,可以减少用户在识别关注项目时所付出的努力。可以类似地减少由(例如在客户端-服务器系统100中的)一个或多个机器、数据库或设备使用的计算资源。这样的计算资源的示例包括处理器循环、网络业务、存储器使用状况、数据存储容量、功耗以及冷却能力。
模块、组件和逻辑
某些实施例在本文中被描述为包括逻辑或多个组件、模块或机制。模块可以构成软件模块(例如,在非瞬时机器可读介质上体现的代码)或硬件实施的模块。硬件实施的模块是能够执行某些操作且可以用某种方式来配置或布置的有形单元。在示例实施例中,一个或多个计算机系统(例如,独立、客户端或服务器计算机系统)或一个或多个处理器可以被软件(例如,应用或应用部分)配置为硬件实施的模块,该模块进行操作以执行如本文所述的某些操作。
在各种实施例中,硬件实施的模块可被以机械方式或电子方式来实现。例如,硬件实施的模块可以包括永久地被配置为执行某些操作的专用电路或逻辑(例如,配置为专用处理器,例如现场可编程门阵列(FPGA)或专用集成电路(ASIC))。硬件实施的模块还可以包括暂时由软件配置以执行某些操作的可编程逻辑或电路(例如,配置为被包含在通用处理器或其它可编程处理器中)。将会意识到的是:对以机械方式、在专用且永久配置的电路中、或在暂时配置的电路(例如由软件配置)中实现硬件实施的模块的决定可以受到成本和时间考虑因素的驱动。
因此,术语“硬件实施的模块”应当被理解为包含有形实体,应当是物理构成的、永久配置(例如硬连线的)或暂时或瞬时配置(例如编程的)以在某个方式下工作或以执行本文描述的某些操作的实体。考虑到临时配置(例如,被编程的)硬件实施的模块的实施例,每个硬件实施的模块不需要在任何一个时刻被配置或实例化。例如,在硬件实施的模块包括使用软件来配置的通用处理器的情况下,通用处理器可以在不同时间被配置为各个不同的硬件实施的模块。软件可以因此配置处理器,以例如在一个时刻构成特定硬件实施的模块,以及在不同时刻构成不同的硬件实施的模块。
硬件实施的模块可以向其他硬件实施的模块提供信息以及从其他硬件实施的模块接收信息。因此,描述的硬件模块可以看做是通信耦合的。在多个此类硬件实现的模块同时期存在的情况下,可以通过连接硬件实现的模块的信号传输(例如,通过适当的电路和总线)来实现通信。在多个硬件实施的模块被配置为在不同时间被配置或实例化的实施例中,这种硬件实施的模块之间的通信可以例如通过在多个硬件实施的模块可以访问的存储结构中存储和取回信息来实现。例如,一个硬件实现的模块可以执行操作,并且将该操作的输出存储在其以通信方式耦合的存储器设备中。然后另一硬件模块可以在之后的时间访问该存储设备以检索并处理所存储的输出。硬件实施的模块还可以发起与输入或输出设备的通信,且可以对资源(例如,信息的聚集)进行操作。
本文描述的示例方法的各种操作可以至少部分地由一个或多个处理器执行,该一个或多个处理器被暂时地配置(例如通过软件)或永久地配置以执行有关的操作。无论是暂时地还是永久地配置,这样的处理器可以构成进行操作以执行一个或多个操作或功能的处理器实现的模块。在一些示例实施例中,如本文中使用的“模块”包括处理器实现的模块。
类似地,本文中描述的方法可以至少部分由处理器实现。例如,方法的至少一些操作可以由一个或多个处理器或处理器实现的模块来执行。某些操作的执行可以分布在一个或多个处理器中,并不只位于单个机器中,而是布置在多个机器中。在一些示例实施例中,一个或多个处理器或处理器可以位于单个位置中(例如在家庭环境、办公室环境或服务器群中),而在其他实施例中,处理器可以分布在多个位置上。
一个或多个处理器还可以操作以支持在“云计算环境”下的相关操作的执行或作为“软件即服务”(SaaS)的相关操作的执行。例如,至少一些操作可以由一组计算机(例如,包括处理器的机器)来完成,这些操作是可经由网络(例如,互联网)以及经由一个或多个适当的接口(例如,API)访问的。
电子装置和系统
示例实施例可以用数字电子电路或者用计算机硬件、固件、软件或它们的组合来实现。示例实施例可以使用计算机程序产品来实现,例如在信息载体中有形地表现的计算机程序,信息载体例如是由数据处理装置执行的机器可读介质或用于控制数据处理装置的操作的机器可读介质,数据处理装置例如是可编程处理器、计算机、或多个计算机。
可以以任何形式的编程语言来编写计算机程序,该编程语言包括:编译或解释语言,并且可以以任何形式来部署计算机程序,包括部署为单独的程序或者部署为适合于用于计算环境的模块、子例程,或者其它单元。计算机程序可以被配置为在一个计算机执行或在位于一个地点处的多个计算机上执行或者在分布在多个地点上并通过通信网络互连的多个计算机上执行。
在示例实施例中,操作可以通过一个或多个可编程处理器执行计算机程序来执行,以通过操作输入数据并生成输出来执行功能。方法操作还可以通过专用逻辑电路来执行,并且示例实施例的装置可以实现为专用逻辑电路,例如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。
计算系统可以包括客户端和服务器。客户端和服务器一般相互远离并且通常通过通信网络进行交互。客户端和服务器的关系通过在相应计算机上运行并且相互具有客户端-服务器关系的计算机程序来产生。在部署可编程计算系统的实施例中,应当意识到,硬件架构和软件架构二者需要考虑。具体地,将会认识到的是,在永久配置的硬件(例如ASIC)中、在暂时配置的硬件中(例如软件与可编程处理器的组合)、还是在永久配置的与暂时配置的硬件的组合中实现特定功能可以是设计选择。下文是在各种示例实施例中可以部署的硬件架构(例如机器)和软件架构。
示例机器架构和机器可读介质
图24是具有计算机系统2400的示例形式的机器的框图,其中,可以执行可以使机器执行任意一个或多个本文讨论的方法的指令。在备选实施例中,机器可以作为独立设备来操作,或者可以连接(例如联网)到其它机器。在连网部署中,机器可以在服务器-客户端网络环境中以服务器机器或客户机的能力进行操作,或者作为对等(或分布式)网络环境中的对等机器进行操作。机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助手(PDA)、蜂窝电话、平板电脑、可穿戴设备(例如,智能表或智能眼镜)、web电器、网络路由器、交换机或桥接器、或能够(顺序地或以其他方式)执行指定要由该机器采取的动作的指令的任何机器。此外,虽然只示出了单个机器,术语“机器”还应当指单独或共同地执行指令集合(或多个集合)以执行本文描述的任意一个或多个方法机器的任意集合。
示例计算机系统2400包括处理器2402(例如中央处理单元(CPU)、图形处理单元(GPU)或这二者)、主存储器2404和静态存储器2406,它们经由总线2408来相互通信。计算机系统2400还可包括视频显示单元2410(例如液晶显示器(LCD)或阴极射线管(CRT))。计算机系统2400还包括字母数字输入设备2412(例如键盘或触敏显示屏)、光标控制设备2414(例如鼠标)、盘驱动单元2416、信号生成设备2418(例如扬声器)以及网络接口设备2420。
机器可读介质
盘驱动器单元2416包括在其上存储体现本文所描述的方法或功能中的一者或多者或者由其利用的一组或多组指令和数据结构(例如,软件)2424的机器可读介质2422。在计算机系统2400执行指令2424时,指令2424还可以完全地或至少部分地位于主存储器2404中和/或位于处理器2402中,主存储器2404和处理器2402还构成机器可读介质。
虽然在示例实施例中将机器可读介质2422示为单个介质,但是术语“机器可读介质”可以包括存储了一个或多个指令或数据结构的单个介质或多个介质(例如,集中式或分布式数据库、和/或关联的高速缓存和服务器)。术语“机器可读介质”还应当被视为包括能够存储、编码或承载用于由该机器执行并且使该机器执行本发明的方法中的任意一者或多者的指令或者能够存储、编码或承载由此类指令利用或与此类指令相关联的数据结构的任意有形介质。术语“机器可读介质”因此应当被看做包括但不限于:固态存储器以及光学和磁性介质。机器可读介质的具体示例包括:非易失性存储器,其中以示例的形式包括半导体存储器设备,例如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、以及闪存设备;磁盘,例如内部硬盘和可拆卸盘;磁光盘;以及CD-ROM和DVD-ROM盘。
传输介质
指令2424还可以使用传输介质来在通信网络2426上发送或接收。指令2424可以使用网络接口设备2420以及多个已知传输协议中的任意一个(例如HTTP)来传输。通信网络的示例包括局域网(“LAN”)、WAN、互联网、移动电话网络、普通老式电话(POTS)网络、以及无线数据网络(例如WiFi和WiMax网络)。术语“传输介质”应当被看做包括能够存储、编码或携带用于由机器执行的指令的任何无形介质,并且包括数字或模拟通信信号或其它无形介质,以促进这样的软件的通信。
尽管已经参照特定示例实施例描述了实施例,将显而易见的是:可以在不脱离更宽泛的发明的精神和范围的情况下对这些实施例做出各种修改和改变。因此,说明书和附图应当被看做说明性的而不是限制意义的。形成可以实现主题的具体实施例的一部分的附图是通过说明而不是限制的方式示出的。充分详细地描述示出的实施例以使得本领域技术人员能够实现本文公开的教义。可以利用并得出其它实施例,从而可以在不脱离离本公开的范围的情况下做出结构和逻辑上的替换和改变。因此,该“具体实施方式”部分不应当看做是限制意义,并且各种实施例的范围仅通过附加的权利要求以及权利要求授予的等同物的全部范围来定义。
本发明主题的这些实施例被单独地和/或统一地由术语“发明”来指代,其仅是为了方便,而不是旨在主动将本申请的范围限制到任意单个发明或发明性概念(如果实际上不止一个实施例被公开的话)。因此,尽管本文示出并描述了特定实施例,应当理解,被计算为实现相同目的的任何设置都可以用于替换所示出的特定实施例。本公开意在覆盖各种实施例的任意和所有改编或变体。通过研究上述内容,上述实施例的组合以及本文中没有具体描述的其它实施例对于本领域技术人员来说将是显而易见的。
Claims (21)
1.一种系统,包括:
一个或多个模块,被配置为:
向服务器提交搜索查询;
从所述服务器接收多个搜索结果,所述多个搜索结果对应于第一页面数量;
从所述服务器接收分页控制大小,所述分页控制大小指示小于所述第一页面数量的第二页面数量;以及
将所述多个搜索结果与具有所述分页控制大小的分页控制一起显示,所述分页控制用于选择第二页面数量的页面。
2.根据权利要求1所述的系统,其中,所述第二页面数量基于与搜索结果的在先用户交互,所述在先用户交互在类似于所述搜索查询的其他搜索查询之后。
3.根据权利要求1所述的系统,其中,所述第二页面数量基于所述用户与来自其他搜索查询的搜索结果的在先交互。
4.根据权利要求1所述的系统,其中,所述第二页面数量基于所述用户的位置。
5.根据在先权利要求中任一项所述的系统,其中,所述多个搜索结果在可卷动界面中显示;以及
所述一个或多个模块还被配置为:响应于所述可卷动界面的卷动量超过阈值,在不可卷动要素中显示求精数据,对所述不可卷动要素的显示是结合对所述多个搜索结果的显示来执行的。
6.根据权利要求5所述的系统,其中,在所述可卷动界面中对所述多个搜索结果的显示包括对初始求精数据的显示。
7.根据权利要求5所述的系统,其中,所述阈值基于对以下的确定:一个或多个求精选项中的第一求精选项已卷动离开所述显示。
8.根据权利要求7所述的系统,其中,所述求精数据是求精选项,以及所述不可卷动要素用于选择所述求精选项。
9.根据权利要求5所述的系统,其中,所述一个或多个模块还被配置为:响应于所述可卷动界面的附加卷动量超过附加阈值,移动所述不可卷动要素。
10.根据权利要求5所述的系统,其中,所述不可卷动要素是求精类别,以及所述不可卷动要素用于引起显示与所述求精类别相对应的求精选项;以及
所述一个或多个模块还被配置为:响应于所述可卷动界面的附加卷动量超过附加阈值,在所述不可卷动要素中显示所述求精选项。
11.一种方法,包括:
向服务器提交搜索查询;
从所述服务器接收多个搜索结果,所述多个搜索结果对应于第一页面数量;
从所述服务器接收分页控制大小,所述分页控制大小指示小于所述第一页面数量的第二页面数量;以及
将所述多个搜索结果与具有所述分页控制大小的分页控制一起显示,所述分页控制用于选择第二页面数量的页面。
12.根据权利要求11所述的方法,其中,所述第二页面数量基于与搜索结果的在先用户交互,所述在先用户交互在类似于所述搜索查询的其他搜索查询之后。
13.根据权利要求11所述的方法,其中,所述第二页面数量基于所述用户与来自其他搜索查询的搜索结果的在先交互。
14.根据权利要求11所述的方法,其中,所述第二页面数量基于所述用户的位置。
15.根据权利要求11至14中任一项所述的方法,其中,所述多个搜索结果在可卷动界面中显示;以及
所述方法还包括:响应于所述可卷动界面的卷动量超过阈值,在不可卷动要素中显示求精数据,对所述不可卷动要素的显示是结合对所述多个搜索结果的显示来执行的。
16.根据权利要求15所述的方法,其中,在所述可卷动界面中对所述多个搜索结果的显示包括对初始求精数据的显示。
17.根据权利要求15所述的方法,其中,所述阈值基于对以下的确定:一个或多个求精选项中的第一求精选项已卷动离开所述显示。
18.根据权利要求17所述的方法,其中,所述求精数据是求精选项,以及所述不可卷动要素用于选择所述求精选项。
19.根据权利要求15所述的方法,其中,所述方法还包括:响应于所述可卷动界面的附加卷动量超过附加阈值,移动所述不可卷动要素。
20.一种包括指令的非瞬时机器可读存储介质,所述指令在由机器的一个或多个处理器执行时,使得所述机器执行包括以下各项在内的操作:
向服务器提交搜索查询;
从所述服务器接收多个搜索结果,所述多个搜索结果对应于第一页面数量;
从所述服务器接收分页控制大小,所述分页控制大小指示小于所述第一页面数量的第二页面数量;以及
将所述多个搜索结果与具有所述分页控制大小的分页控制一起显示,所述分页控制用于选择第二页面数量的页面。
21.一种携带指令的机器可读介质,所述指令在由机器的一个或多个处理器执行时,使得所述机器执行根据权利要求11~19中任一项所述的方法。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361874286P | 2013-09-05 | 2013-09-05 | |
US61/874,286 | 2013-09-05 | ||
US201361915634P | 2013-12-13 | 2013-12-13 | |
US61/915,634 | 2013-12-13 | ||
US14/201,000 | 2014-03-07 | ||
US14/201,000 US9613161B2 (en) | 2013-09-05 | 2014-03-07 | Seamless pagination |
PCT/US2014/054126 WO2015035069A1 (en) | 2013-09-05 | 2014-09-04 | Seamless pagination |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105518655A true CN105518655A (zh) | 2016-04-20 |
Family
ID=52584704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480048918.1A Pending CN105518655A (zh) | 2013-09-05 | 2014-09-04 | 无缝分页 |
Country Status (8)
Country | Link |
---|---|
US (5) | US9613161B2 (zh) |
EP (1) | EP3042313A4 (zh) |
JP (1) | JP6397028B2 (zh) |
KR (1) | KR20160051871A (zh) |
CN (1) | CN105518655A (zh) |
AU (1) | AU2014315161B2 (zh) |
CA (1) | CA2922743C (zh) |
WO (1) | WO2015035069A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9613161B2 (en) | 2013-09-05 | 2017-04-04 | Paypal, Inc. | Seamless pagination |
CN107273393A (zh) * | 2016-04-06 | 2017-10-20 | 百度(美国)有限责任公司 | 用于移动设备的图像搜索方法、装置及数据处理系统 |
CN109101658A (zh) * | 2018-08-31 | 2018-12-28 | 优视科技新加坡有限公司 | 信息搜索方法、装置及设备/终端/服务器 |
CN111066307A (zh) * | 2017-08-28 | 2020-04-24 | 思杰系统有限公司 | 包装延续令牌以支持跨不同地理位置的多个服务器的分页 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9934207B1 (en) * | 2014-05-02 | 2018-04-03 | Tribune Publishing Company, Llc | Online information system with continuous scrolling and previous section removal |
US10459608B2 (en) * | 2014-12-01 | 2019-10-29 | Ebay Inc. | Mobile optimized shopping comparison |
US10120938B2 (en) * | 2015-08-01 | 2018-11-06 | MapScallion LLC | Systems and methods for automating the transmission of partitionable search results from a search engine |
KR101714218B1 (ko) | 2015-09-11 | 2017-03-08 | 현대자동차주식회사 | 환경차량의 정지 전 크립토크 제어 해제 방법 |
US20170124161A1 (en) * | 2015-11-02 | 2017-05-04 | Ebay Inc. | Presentation of digital data |
CN105389386B (zh) * | 2015-12-10 | 2019-03-26 | 无锡天脉聚源传媒科技有限公司 | 一种基于搜索结果的分页处理方法和装置 |
US20170293593A1 (en) * | 2016-04-12 | 2017-10-12 | International Business Machines Corporation | Managing node pagination for a graph data set |
JP6721049B2 (ja) * | 2016-08-01 | 2020-07-08 | 富士通株式会社 | ページ表示プログラム、ページ表示装置、及びページ表示方法 |
US10620816B2 (en) * | 2016-10-11 | 2020-04-14 | Salesforce.Com, Inc. | System for displaying elements of a scrollable list |
CN106843901B (zh) * | 2017-02-10 | 2020-08-25 | 广州优视网络科技有限公司 | 一种页面渲染和验证的方法和装置 |
US20190050455A1 (en) * | 2017-08-08 | 2019-02-14 | Rubrik, Inc. | Adaptive page rendering for a data management system |
US10257329B2 (en) * | 2017-09-08 | 2019-04-09 | National Instruments Corporation | Wireless communications apparatus and method for performing low latency high throughput layer 2 operations |
EP3622383B1 (en) * | 2017-10-03 | 2022-12-07 | Google LLC | Data transfers from memory to manage graphical output latency |
US12056179B2 (en) * | 2018-09-26 | 2024-08-06 | Rovi Guides, Inc. | Systems and methods for generating query suggestions |
CN110442879B (zh) * | 2019-04-30 | 2024-02-13 | 华为技术有限公司 | 一种内容翻译的方法和终端 |
US11468054B2 (en) * | 2019-06-11 | 2022-10-11 | Jpmorgan Chase Bank, N.A. | Systems and methods for automated analysis of business intelligence |
US10997262B2 (en) | 2019-09-05 | 2021-05-04 | International Business Machines Corporation | Infinite scrolling search |
CN111787043A (zh) * | 2019-09-30 | 2020-10-16 | 北京京东尚科信息技术有限公司 | 数据请求方法和装置 |
US11789601B2 (en) * | 2019-11-05 | 2023-10-17 | Dell Products L.P. | System and method for identifying user intent using four-dimensional coordinates of an input pointer |
US11321737B2 (en) * | 2019-12-13 | 2022-05-03 | Ebay Inc. | Techniques of prefetching operation cost based digital content and digital content with emphasis |
CN111026993A (zh) * | 2019-12-26 | 2020-04-17 | 政采云有限公司 | 一种网页选框的选项展示方法及相关装置 |
CN113760272B (zh) * | 2020-08-24 | 2024-10-18 | 北京沃东天骏信息技术有限公司 | 信息展示方法、装置、设备及存储介质 |
US11593391B2 (en) | 2020-12-14 | 2023-02-28 | Microsoft Technology Licensing, Llc | Determination of result data for small multiples based on subsets of a data set |
US11663279B2 (en) * | 2021-05-05 | 2023-05-30 | Capital One Services, Llc | Filter list generation system |
US12067057B2 (en) * | 2021-10-29 | 2024-08-20 | Carvana Llc | Systems and methods for displaying search results |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070061332A1 (en) * | 2005-09-14 | 2007-03-15 | Jorey Ramer | User history influenced search results |
US20080148192A1 (en) * | 2006-12-15 | 2008-06-19 | Iac Search & Media, Inc. | Toolbox pagination |
CN102239491A (zh) * | 2008-12-04 | 2011-11-09 | 微软公司 | 用于建议的改进词语和纵向搜索的预览搜索结果技术 |
CN102591969A (zh) * | 2011-12-31 | 2012-07-18 | 北京百度网讯科技有限公司 | 基于用户历史行为提供搜索结果的方法及服务器 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000339339A (ja) * | 1999-05-31 | 2000-12-08 | Denso Corp | 情報検索装置 |
US7143362B2 (en) | 2001-12-28 | 2006-11-28 | International Business Machines Corporation | System and method for visualizing and navigating content in a graphical user interface |
US7539674B2 (en) | 2004-04-08 | 2009-05-26 | Yahoo! Inc. | Systems and methods for adaptive scheduling of references to documents |
US7296224B2 (en) * | 2004-04-23 | 2007-11-13 | Hewlett-Packard Development Company, L.P. | Method for assigning graphical images to pages |
US7483893B2 (en) * | 2005-09-26 | 2009-01-27 | Bae Systems, Inc. | System and method for lightweight loading for managing content |
US7667719B2 (en) * | 2006-09-29 | 2010-02-23 | Amazon Technologies, Inc. | Image-based document display |
US9395884B2 (en) | 2008-09-24 | 2016-07-19 | Sap Se | Method and system for navigating between pages |
US8326835B1 (en) | 2008-12-02 | 2012-12-04 | Adobe Systems Incorporated | Context-sensitive pagination as a function of table sort order |
JP2011122583A (ja) | 2009-12-10 | 2011-06-23 | Haruo Ichinoseki | 自動アイドリングストップシステム |
US10276170B2 (en) * | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
WO2011122583A1 (ja) * | 2010-03-29 | 2011-10-06 | 楽天株式会社 | サーバ装置、情報提供方法、情報提供プログラム、情報提供プログラムが記録された記録媒体、及び情報提供システム |
JP5190559B2 (ja) * | 2010-03-31 | 2013-04-24 | 楽天株式会社 | サーバ装置、情報処理プログラム、情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体及び評価集計システム |
US8548450B2 (en) | 2010-04-23 | 2013-10-01 | Blackberry Limited | Scrolling based pagination by mobile wireless communications device and method thereof |
US9754043B2 (en) | 2010-07-09 | 2017-09-05 | Facebook, Inc. | Rendering structured documents with place-markers |
US8812977B2 (en) * | 2010-08-12 | 2014-08-19 | Salesforce.Com, Inc. | Accessing multi-page data using a page index in a scrollbar |
US9645722B1 (en) * | 2010-11-19 | 2017-05-09 | A9.Com, Inc. | Preview search results |
US20130124496A1 (en) * | 2011-11-11 | 2013-05-16 | Microsoft Corporation | Contextual promotion of alternative search results |
US9786001B2 (en) | 2012-09-04 | 2017-10-10 | Ebay Inc. | Systems and methods for facilitating feed in a network-based marketplace |
US9613161B2 (en) | 2013-09-05 | 2017-04-04 | Paypal, Inc. | Seamless pagination |
-
2014
- 2014-03-07 US US14/201,000 patent/US9613161B2/en active Active
- 2014-09-04 WO PCT/US2014/054126 patent/WO2015035069A1/en active Application Filing
- 2014-09-04 EP EP14842311.4A patent/EP3042313A4/en not_active Ceased
- 2014-09-04 CA CA2922743A patent/CA2922743C/en active Active
- 2014-09-04 AU AU2014315161A patent/AU2014315161B2/en active Active
- 2014-09-04 CN CN201480048918.1A patent/CN105518655A/zh active Pending
- 2014-09-04 KR KR1020167008898A patent/KR20160051871A/ko not_active Application Discontinuation
- 2014-09-04 JP JP2016540390A patent/JP6397028B2/ja active Active
-
2017
- 2017-04-04 US US15/478,678 patent/US10282060B2/en active Active
-
2019
- 2019-05-07 US US16/405,815 patent/US11237700B2/en active Active
-
2021
- 2021-11-30 US US17/539,156 patent/US11995290B2/en active Active
-
2024
- 2024-04-09 US US18/630,145 patent/US20240345702A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070061332A1 (en) * | 2005-09-14 | 2007-03-15 | Jorey Ramer | User history influenced search results |
US20080148192A1 (en) * | 2006-12-15 | 2008-06-19 | Iac Search & Media, Inc. | Toolbox pagination |
CN102239491A (zh) * | 2008-12-04 | 2011-11-09 | 微软公司 | 用于建议的改进词语和纵向搜索的预览搜索结果技术 |
CN102591969A (zh) * | 2011-12-31 | 2012-07-18 | 北京百度网讯科技有限公司 | 基于用户历史行为提供搜索结果的方法及服务器 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9613161B2 (en) | 2013-09-05 | 2017-04-04 | Paypal, Inc. | Seamless pagination |
US10282060B2 (en) | 2013-09-05 | 2019-05-07 | Paypal, Inc. | Seamless pagination |
US11237700B2 (en) | 2013-09-05 | 2022-02-01 | Paypal, Inc. | Seamless pagination |
US11995290B2 (en) | 2013-09-05 | 2024-05-28 | Paypal, Inc. | Seamless pagination |
CN107273393A (zh) * | 2016-04-06 | 2017-10-20 | 百度(美国)有限责任公司 | 用于移动设备的图像搜索方法、装置及数据处理系统 |
US10909170B2 (en) | 2016-04-06 | 2021-02-02 | Baidu Usa Llc | Method for processing and rendering feed-like based images for mobile devices |
CN107273393B (zh) * | 2016-04-06 | 2021-05-25 | 百度(美国)有限责任公司 | 用于移动设备的图像搜索方法、装置及数据处理系统 |
CN111066307A (zh) * | 2017-08-28 | 2020-04-24 | 思杰系统有限公司 | 包装延续令牌以支持跨不同地理位置的多个服务器的分页 |
CN111066307B (zh) * | 2017-08-28 | 2022-08-26 | 思杰系统有限公司 | 包装延续令牌以支持跨不同地理位置的多个服务器的分页 |
CN109101658A (zh) * | 2018-08-31 | 2018-12-28 | 优视科技新加坡有限公司 | 信息搜索方法、装置及设备/终端/服务器 |
Also Published As
Publication number | Publication date |
---|---|
KR20160051871A (ko) | 2016-05-11 |
US9613161B2 (en) | 2017-04-04 |
US20150066907A1 (en) | 2015-03-05 |
EP3042313A4 (en) | 2017-04-26 |
WO2015035069A1 (en) | 2015-03-12 |
US20240345702A1 (en) | 2024-10-17 |
CA2922743C (en) | 2018-09-18 |
US11237700B2 (en) | 2022-02-01 |
US11995290B2 (en) | 2024-05-28 |
US20220091704A1 (en) | 2022-03-24 |
US10282060B2 (en) | 2019-05-07 |
CA2922743A1 (en) | 2015-03-12 |
EP3042313A1 (en) | 2016-07-13 |
US20200004390A1 (en) | 2020-01-02 |
AU2014315161A1 (en) | 2016-03-17 |
JP6397028B2 (ja) | 2018-09-26 |
AU2014315161B2 (en) | 2017-08-10 |
US20170205973A1 (en) | 2017-07-20 |
JP2016537741A (ja) | 2016-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105518655A (zh) | 无缝分页 | |
US20230087276A1 (en) | Facilitating purchase of objects | |
US8682736B2 (en) | Collection represents combined intent | |
CN107004205B (zh) | 向广告主建议用于在线内容项的创意类型的系统和方法 | |
US10387891B2 (en) | Method and system for selecting and presenting web advertisements in a full-screen cinematic view | |
US20160019604A1 (en) | Information display device, distribution device, information display method, and non-transitory computer readable storage medium | |
US8250454B2 (en) | Client-side composing/weighting of ads | |
US20140180798A1 (en) | Contextual selection and display of information | |
US9348496B2 (en) | Selecting content based on performance of a content slot | |
US20190026812A9 (en) | Further Improvements in Recommendation Systems | |
US10853864B1 (en) | Providing brand information via an offering service | |
CN102037484A (zh) | 联网广告环境中的自动广告群组创建 | |
CA2907874A1 (en) | On-site and in-store content personalization and optimization | |
KR102073183B1 (ko) | 지도상에 플로팅된 쇼핑 정보를 이용한 직관적인 쇼핑 서비스 제공 방법 | |
KR20130113309A (ko) | 인터랙티브 광고들 | |
US20150088693A1 (en) | Method for displaying and navigating internet search results | |
US20150248712A1 (en) | Systems and methods for providing mobile advertisements | |
US12020286B1 (en) | Immersive content items | |
CN116339591A (zh) | 用于交互的方法、装置、设备和存储介质 | |
US20140067532A1 (en) | Use of personal preferences to control presentation of advertisements | |
KR102159956B1 (ko) | 상품 사진들 및 상기 상품 사진들과 연관된 정보들을 포함하는 웹 페이지들을 제공하는 서버 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160420 |