CN103279525B - 一种基于哈希优化的多条件联动搜索方法 - Google Patents
一种基于哈希优化的多条件联动搜索方法 Download PDFInfo
- Publication number
- CN103279525B CN103279525B CN201310206626.3A CN201310206626A CN103279525B CN 103279525 B CN103279525 B CN 103279525B CN 201310206626 A CN201310206626 A CN 201310206626A CN 103279525 B CN103279525 B CN 103279525B
- Authority
- CN
- China
- Prior art keywords
- condition
- search
- search condition
- classification
- combobox
- 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.)
- Expired - Fee Related
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种基于哈希优化的多条件联动搜索方法,建立数据库和搜索条件类目;遍历搜索条件类目中设置计数器,统计搜索条件类目下存在查询结果的条件个数,每个条件都作为一个搜索条件类目的下拉框;当计数器的计数结果为0或1,遍历结束;当计数器的计数结果大于1,采用多条件联动;每种搜索条件都由一个条件类目下拉框构成,每个下拉框中包含了各搜索条件和其对应的搜索结果个数;点击搜索条件类目下拉框,选择搜索条件预判值;将已选择搜索条件预判值的搜索结果个数显示在搜索栏顶部的位置。本发明为达到提供良好可预测性的目的,通过搜索条件类目的算法提高条件查询速度,尽可能减少每个搜索条件类目查询次数,提升计算响应时间。
Description
技术领域
本发明涉及信息检索和分析技术领域,特别与一种基于哈希优化的多条件联动搜索方法有关。
背景技术
随着互联网的发展,网站包含的信息量越来越大,搜索成为每一个网站都不可或缺的功能。与被搜索的信息爆炸式增长不同的是搜索的形式在最近10到20年内并没有发生很大的改变,当前主流网站的搜索模式主要还是两类,一类是以Google为代表的输入框式,一类是Yahoo为代表的类目式。这两类搜索模式特色鲜明,同时代表着两种截然不同的搜索理念。而其它大多数网站的搜索模式则是既结合了Google简洁明了的输入框,又结合了Yahoo整齐实用的类目形式。而在用户通过搜索入口搜索到结果之后,大多会有一个提供再次搜索的搜索栏,本质上搜索栏就是对搜索结果的过滤。如图1所示,是淘宝鞋帽类的搜索栏,因为没有统一的模式,网站的搜索栏形式千变万化。即便是同一个网站,有时也有几种甚至上百种搜索模式。淘宝网站的搜索模式就是按照产品线各不相同。这些搜索栏模式有的使用方便又符合网站本身的特点,可是仍然有很大部分的搜索栏形式单一表现无力,使用也不太方便。
良好的搜索模式可以有效缩短用户与信息之间的距离,而出色的搜索功能和搜索体验可以让用户与信息之间几乎没有距离。如何让搜索栏更好地发挥帮助用户过滤信息的功能,既让用户快速上手,又可以获得更好的使用体验,成为每一个网站都不得不应对的实际情况。
发明内容
本发明的目的是为用户使用搜索功能时,提供更高的可预测性,帮助用户提前对下一步的搜索条件进行筛选。用户不必真正选择搜索条件,就已经得到了如果选择该条件将得到的搜索结果个数。在预知搜索结果个数的情况下,用户可以方便的组织自己想要的搜索条件,程序也会帮助用户自动组织搜索条件,让用户获得最佳的信息检索结果。本发明的实质是计算出用户下一步可能会进行的所有搜索条件组合情况,并且遍历这些搜索条件,将搜索结果数值一一记录。
为了达到上述目的,本发明通过以下技术方案来实现:
一种基于哈希优化的多条件联动搜索方法,包括
步骤一,建立数据库和搜索条件类目;
步骤二,在遍历搜索条件类目过程中设置计数器,统计搜索条件类目下存在查询结果的条件个数,每个条件都作为一个搜索条件类目的下拉框;
步骤三,当计数器的计数结果为0或1,遍历结束;
步骤四,当计数器的计数结果大于1,采用多条件联动;每种搜索条件都由一个条件类目下拉框构成,每个下拉框中包含了各搜索条件和其对应的搜索结果个数;
步骤五,点击搜索条件类目下拉框后,选择搜索条件预判值;
步骤六,将已选择搜索条件预判值的搜索结果个数显示在搜索栏顶部的位置。
本技术方案可以进一步优化:
所述的步骤四中,多条件联动,是建立四种搜索条件类目下拉框状态,如下表1所示;当用户在一个下拉框中选择一个搜索条件后,被选择条件自身的类目下拉框将被置为状态A;程序将所有的搜索条件类目下拉框中的条件遍历计算,如果该类目下所有的搜索条件都没有结果,则这个类目下拉框将置为状态D;若该类目下搜索条件只有一个有结果,那么这个类目下拉框将被置为状态C;若该类目下的搜索条件有两个有结果,那么这个类目下拉框将被置为状态B;
所述的步骤一中,建立数据库时,采用B+树的形式,在B+树查找算法之前增加一层哈希表,通过哈希表来查找符合条件的B+树。
采用上述技术方案后,由于搜索的查询速度存在性能瓶颈,为达到提供良好可预测性的目的,本发明中通过搜索条件类目的算法提高条件查询速度,尽可能的减少每个搜索条件类目的查询次数,提升计算响应时间。
同时本发明中还可以通过使用前置的哈希表,将1个B+树分成了若干个小B+树,树的节点数量成倍数减小,性能也成倍数提高。通过前置哈希表的第一次过滤以后,找到条件所对应的小型B+树,然后再对这个小型B+树继续查找。
附图说明
图1为现有技术中淘宝页面鞋帽类的其中一种搜索栏示意图;
图2为本发明较佳实施例中B+树的示意图;
图3为本发明较佳实施例中四种搜索条件类目下拉框状态D示意图;
图4为本发明中四种搜索条件类目下拉框状态ABC示意图;
图5为本发明较佳实施例中四种搜索条件类目下拉框状态D示意图。
具体实施方式
下面结合本发明的方法与具体实施例结合,做进一步的描述:
首先对要查找的数据进行索引。根据对需要索引的数据格式观察,查找条件中的每个字段都是符合哈希的条件。它们的个数有限并且每个数据都是具备的。
虽然这些字段本身的个数都是有限的,但是这些条件组合在一起就可能存在2.4009216e+13种组合。因此按照每个字段,将这些总数为2146的13大类条件分成了13个哈希表和2146个小B+树,每个哈希表中存在对应个数的小B+树,如图2所示。
按照上述步骤,对索引的性能提升很大,根据每个哈希表的容量,理论上最高可提升1856倍,最少可提升3倍。
当未加载任何条件的情况下,浏览器显示搜索栏页面时,需要做两个事情,第一件是计算当前搜索条件下的搜索结果个数,并在搜索结果个数位置显示,第二件是遍历各个搜索条件类目下拉框中的条件。
本发明中设置四种搜索条件类目下拉框状态,分别是未选择已激活、已选择已激活、未选择未激活、已选择未激活。
当用户在一个下拉框中选择一个搜索条件后,被选择条件自身的类目下拉框将被置为状态A,如图4中1所示;程序将所有的搜索条件类目下拉框中的条件遍历计算,如果该类目下所有的搜索条件都没有结果,则这个类目下拉框将置为状态D,如图3所示;若该类目下搜索条件只有一个有结果,那么这个类目下拉框将被置为状态C,如图4中3所述;若该类目下的搜索条件有两个有结果,那么这个类目下拉框将被置为状态B,如图4中2所示;
本实施例中,由于未选择任何条件,每个类目下拉框都是未选择已激活状态,如图5所示。
当用户选择了一个条件:“品牌:A奥迪”时,首先找到品牌哈希表,通过哈希找到奥迪这个品牌所对应的B+树,此时的B+树的大小是未使用该方法之前B+树大小的192分之一,因此性能也提高了192倍。
条件类目下拉框“品牌”由于被用户选择,状态被置为已选择已激活。条件类目下拉框“国别”由于只有一个搜索条件存在结果,因此被置为了已选择未激活状态。而其他搜索类目下拉框由于存在2个及以上搜索条件有结果,因此都被置为了未选择已激活状态。
用户点击“车型”条件类目下拉框后,出现了可选择的搜索条件及与其对应的预判值。已选择搜索条件的搜索结果个数显示在搜索栏顶部的位置。
上述实施例仅用于解释说明本发明的发明构思,而非对本发明权利保护的限定,凡利用此构思对本发明进行非实质性的改动,均应落入本发明的保护范围。
Claims (2)
1.一种基于哈希优化的多条件联动搜索方法,其特征在于:包括
步骤一,建立数据库和搜索条件类目;
步骤二,在遍历搜索条件类目过程中设置计数器,统计搜索条件类目下存在查询结果的条件个数,每个条件都作为一个搜索条件类目的下拉框;
步骤三,当计数器的计数结果为0 或1,遍历结束;
步骤四,当计数器的计数结果大于1,采用多条件联动;每种搜索条件都由一个条件类目下拉框构成,每个下拉框中包含了各搜索条件和其对应的搜索结果个数;
步骤五,点击搜索条件类目下拉框后,选择搜索条件预判值;
步骤六,将已选择搜索条件预判值的搜索结果个数显示在搜索栏顶部的位置;
所述的步骤四中,多条件联动,是建立四种搜索条件类目下拉框状态,状态A为已选择已激活;状态B为未选择已激活;状态C为已选择未激活;状态D为未选择未激活;当用户在一个下拉框中选择一个搜索条件后,被选择条件自身的类目下拉框将被置为状态A;程序将所有的搜索条件类目下拉框中的条件遍历计算,如果该类目下所有的搜索条件都没有结果,则这个类目下拉框将置为状态D;若该类目下搜索条件只有一个有结果,那么这个类目下拉框将被置为状态C;若该类目下的搜索条件有两个有结果,那么这个类目下拉框将被置为状态B。
2.如权利要求1 所述的一种基于哈希优化的多条件联动搜索方法,其特征在于:所述的步骤一中,建立数据库时,采用B+树的形式,在B+树查找算法之前增加一层哈希表,通过哈希表来查找符合条件的B+树。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310206626.3A CN103279525B (zh) | 2013-05-29 | 2013-05-29 | 一种基于哈希优化的多条件联动搜索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310206626.3A CN103279525B (zh) | 2013-05-29 | 2013-05-29 | 一种基于哈希优化的多条件联动搜索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103279525A CN103279525A (zh) | 2013-09-04 |
CN103279525B true CN103279525B (zh) | 2016-12-28 |
Family
ID=49062044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310206626.3A Expired - Fee Related CN103279525B (zh) | 2013-05-29 | 2013-05-29 | 一种基于哈希优化的多条件联动搜索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103279525B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103810273B (zh) * | 2014-02-12 | 2018-03-27 | 中国联合网络通信集团有限公司 | 一种基于云计算的数据筛选方法及装置 |
CN106776601B (zh) * | 2015-11-19 | 2021-01-29 | 北京国双科技有限公司 | 搜索条件的配置方法及装置 |
CN108038142A (zh) * | 2017-11-24 | 2018-05-15 | 平安科技(深圳)有限公司 | 实现多级联动下拉框的方法、电子装置及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101194257A (zh) * | 2005-03-30 | 2008-06-04 | 电子湾有限公司 | 处理搜索信息的方法和系统 |
CN102339322A (zh) * | 2011-11-10 | 2012-02-01 | 武汉大学 | 基于搜索交互信息和用户搜索意图的词义提取方法 |
CN102841946A (zh) * | 2012-08-24 | 2012-12-26 | 北京国政通科技有限公司 | 商品数据检索排序及商品推荐方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7225182B2 (en) * | 1999-05-28 | 2007-05-29 | Overture Services, Inc. | Recommending search terms using collaborative filtering and web spidering |
-
2013
- 2013-05-29 CN CN201310206626.3A patent/CN103279525B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101194257A (zh) * | 2005-03-30 | 2008-06-04 | 电子湾有限公司 | 处理搜索信息的方法和系统 |
CN102339322A (zh) * | 2011-11-10 | 2012-02-01 | 武汉大学 | 基于搜索交互信息和用户搜索意图的词义提取方法 |
CN102841946A (zh) * | 2012-08-24 | 2012-12-26 | 北京国政通科技有限公司 | 商品数据检索排序及商品推荐方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103279525A (zh) | 2013-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10657161B2 (en) | Intelligent navigation of a category system | |
CN107145496B (zh) | 基于关键词将图像与内容项目匹配的方法 | |
Zhao et al. | SmartCrawler: a two-stage crawler for efficiently harvesting deep-web interfaces | |
JP5423676B2 (ja) | データ分類システム、データ分類方法、及びデータ分類プログラム | |
JP5616444B2 (ja) | 文書インデックス化およびデータクエリングのための方法およびシステム | |
AU2014259978B2 (en) | Tagged search result maintenance | |
US20240012798A1 (en) | Computer implemented method for creating database structures without knowledge on functioning of relational database system | |
US20130275466A1 (en) | Retrieval method and system | |
CN104978408A (zh) | 基于Berkeley DB数据库的主题爬虫系统 | |
JP2005525657A5 (zh) | ||
US9218394B2 (en) | Reading rows from memory prior to reading rows from secondary storage | |
US20130204879A1 (en) | Web page retrieval method and device | |
CN102541631B (zh) | 以多线程不同驱动源执行计划处理查询的方法和系统 | |
CN106682145A (zh) | 一种企业信息的处理方法、服务器及客户端 | |
US20170193058A1 (en) | System and Method for Performing Blended Data Operations | |
US20160103913A1 (en) | Method and system for calculating a degree of linkage for webpages | |
US20130311451A1 (en) | Information providing method and system | |
CN107203532A (zh) | 索引系统的构建方法、搜索的实现方法及装置 | |
CN103279525B (zh) | 一种基于哈希优化的多条件联动搜索方法 | |
CN102214216B (zh) | 一种层次关系数据上关键字检索结果的聚合摘要方法 | |
CN110321446A (zh) | 相关数据推荐方法、装置、计算机设备及存储介质 | |
CN103902743A (zh) | 通过业务名词操控数据的自助查询方法 | |
CN104537047A (zh) | 一种基于Lucene的服装基样板检索系统 | |
Alghamdi et al. | Object-based semantic partitioning for XML twig query optimization | |
CN103399937A (zh) | 一种基于coreseek查询分页的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20161228 |