CN101963977A - 无城市搜索方法及移动终端 - Google Patents
无城市搜索方法及移动终端 Download PDFInfo
- Publication number
- CN101963977A CN101963977A CN 201010287449 CN201010287449A CN101963977A CN 101963977 A CN101963977 A CN 101963977A CN 201010287449 CN201010287449 CN 201010287449 CN 201010287449 A CN201010287449 A CN 201010287449A CN 101963977 A CN101963977 A CN 101963977A
- Authority
- CN
- China
- Prior art keywords
- database
- search
- field
- critical field
- module
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种无城市搜索方法及移动终端,其中方法包括:接收到用户输入的检索词后,根据该检索词在第一数据库中查找与该检索词相匹配的关键字段;根据查找到的所述关键字段,在第二数据库中查找与该关键字段属于同一条记录的非关键字段;将查找到的所述关键字段的内容及所述非关键字段的内容合并为搜索结果;将所述搜索结果显示给所述用户。本发明通过将能够被索引的主键字段与不能被索引的非主键字段分离存储,当执行无法城市搜索时,先在第一数据库中查找主键字段,再在第二数据库中查找非主键字段,从而形成搜索结果,因此,大大减少了搜索的处理量,加快了搜索速度,提高了搜索效率。
Description
技术领域
本发明涉及一种无城市搜索方法及移动终端,属于移动搜索技术领域。
背景技术
无城市搜索是指无需区分城市而在全国范围内搜索兴趣点(Point of Interest,简称:POI)的技术。该技术在进行索引之前预先建议索引文件,其中包括多条记录(document),每一条记录中存储有一个POI的字段信息,如表1所示,包括中文名称、拼音、地址及电话等信息。
表1记录举例
当用户需要进行无城市搜索时,向移动终端输入检索词,移动终端根据该检索词在相应搜索服务器中保存的索引文件中查找相匹配的记录,并返回搜索结果。
现有技术中至少存在如下问题:现有索引文件中,针对一个POI的一条记录的所有字段信息作为一个文件存储于搜索服务的磁盘中,当移动终端为用户执行检索时,需要对一条记录中的所有字段信息进行匹配查找;并且,当进行无城市搜索时,又需要对不同城市的不同记录中的所有字段信息进行匹配查找,因此需要消耗大量的运算资源。而现有移动终端的处理能力又是非常有限的,因此在进行无城市搜索时处理速度很慢,搜索效率很低。
发明内容
本发明提供一种无城市搜索方法及移动终端,用以提高搜索速度。
本发明一方面提供一种无城市搜索方法,其中包括:
接收到用户输入的检索词后,根据该检索词在第一数据库中查找与该检索词相匹配的关键字段;
根据查找到的所述关键字段,在第二数据库中查找与该关键字段属于同一条记录的非关键字段;
将查找到的所述关键字段的内容及所述非关键字段的内容合并为搜索结果;
将所述搜索结果显示给所述用户。
本发明另一方面提供一种移动终端,其中包括:
第一查找模块,用于当接收到用户输入的检索词后,根据该检索词在第一数据库中查找与该检索词相匹配的关键字段;
第二查找模块,用于根据第一查找模块查找到的所述关键字段,在第二数据库中查找与该关键字段属于同一条记录的非关键字段;
合并模块,用于将第一查找模块查找到的所述关键字段的内容及第二查找模块查找到的所述非关键字段的内容合并为搜索结果;
显示模块,用于将合并模块生成的所述搜索结果显示给所述用户。
本发明通过将能够被索引的主键字段与不能被索引的非主键字段分离存储,当执行无法城市搜索时,先在第一数据库中查找主键字段,再在第二数据库中查找非主键字段,从而形成搜索结果,因此,大大减少了搜索的处理量,加快了搜索速度,提高了搜索效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所述无城市搜索方法实施例一的流程图;
图2为图1所示方法中提到的词频率的数据结构示意图;
图3为本发明所述移动终端实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明所述无城市搜索方法实施例一的流程图,如图所示,该方法包括如下步骤:
步骤101,接收到用户输入的检索词后,根据该检索词在第一数据库中查找与该检索词相匹配的关键字段。
其中,关键字段是指在索引文件中能够唯一确定一条记录的字段,如:主键字段、地址字段以及中文名称字段等。用户输入的检索词一旦与索引文件中的某个关键字段中的内容相匹配时,则可以确定一条相应的记录。
在本实施例中,所有的关键字段及其相关内容均保存在第一数据库中。具体地,该第一数据库例如可以为内存对象缓存数据库(简称:memcache),移动终端可以根据所述检索词在所述memcache中查找与该检索词相匹配的关键字段。其中,memcache是一个高性能的分布式的内存对象缓存***,通过在内存里维护一个统一的巨大的哈希(hash)表来存储数据库检索的结果等。由于其缓存采用分布式结构,因此可以允许不同移动终端同时访问这个缓存***,不仅解决了共享内存只能是单机的弊端,同时也解决了数据库检索的压力,大大提高了访问获取数据的速度。
步骤102,根据查找到的所述关键字段,在第二数据库中查找与该关键字段属于同一条记录的非关键字段。
其中,非关键字段是指在索引文件中不能够唯一确定一条记录的字段,如:邮编字段(zipcode)、行政区划代码字段(areacode)以及道路名称字段(pathname)等。用户输入的检索词与索引文件中的非关键字段中的内容匹配后,会出现多条记录,而不能确定一条记录,因此这些字段通过不用于索引,而仅用于为用户提供补充信息。
具体地,移动终端可以先读取查找到的所述关键字段所属记录的主键值;然后再根据所述主键值在所述第二数据库中查找具有相同主键值的非关键字段。其中,所述主键值是指主键字段的内容。在第一数据库及第二数据库中均存储主键字段,以标识哪些字段属于同一条记录。
在本实施例中,所有的非关键字段及其相关内容均保存在第二数据库中。具体地,该第二数据库例如可以为伯克力数据库(简称:Berkeley db)。其中,Berkeley DB是一种高性能的嵌入数据库编程库,它可以保存任意类型的键/值对,而且可以为一个键保存多个数据,其可以支持数千的并发线程同时操作数据库,因此广泛应用于实时操作***等多种***。
步骤103,将查找到的所述关键字段的内容及所述非关键字段的内容合并为搜索结果。
其中,当用户输入的检索词与所述关键字段的内容部分匹配时,得到的搜索结果则有可能为多条记录,例如,当检索词为“国贸”时,搜索结果为“国贸公交车站”、“国贸桥”、“国贸公寓”等多条记录;当用户输入的检索词与所述关键字段的内容完全匹配时,得到的搜索结果则为一条记录,例如,当检索词为“国贸桥”时,搜索结果则为“国贸桥”这一条记录。
步骤104,将所述搜索结果显示给所述用户。
具体地,当搜索结果为多条记录时,可以根据查找到的所述关键字段的内容的词频率,从由高到底的顺序对所述搜索结果进行排序;将排序后的所述搜索结果显示给所述用户。
其中,词频率是指词语(Term)在索引文件中出现的次数,其数据结构如图2所示。例如,“国贸公交车站”的词频率为5次、“国贸桥”的词频率为3次、“国贸公寓”的词频率为4次,则最终端显示给用户的搜索结果依次为:“国贸公交车站”、“国贸公寓”及“国贸桥”。
另外,为了保证数据的安全性,所述第一数据库作为第一主要库,还与作为该第一数据库备份的第一辅助库进行同步更新;所述第二数据库作为第二主要库,还与作为该第二数据库备份的第二辅助库进行同步更新。具体地,当进行同步更新时,可以采用通过同步软件(rsync)在需要同步的时候进行同步更新,例如:当主要库更新了一个索引文件时,辅助库也要进行相应地更新。
本实施例所述方法通过将能够被索引的主键字段与不能被索引的非主键字段分离存储,当执行无法城市搜索时,先在第一数据库中查找主键字段,再在第二数据库中查找非主键字段,从而形成搜索结果,因此,大大减少了搜索的处理量,加快了搜索速度,提高了搜索效率。
图3为本发明所述移动终端实施例的结构示意图,如图所示,该移动终端10包括:第一查找模块11、第二查找模块12、合并模块13及显示模块14,其工作原理如下:
当移动终端10接收到用户输入的检索词后,由第一查找模块11根据该检索词在第一数据库中查找与该检索词相匹配的关键字段。其中,关键字段是指在索引文件中能够唯一确定一条记录的字段,用户输入的检索词一旦与索引文件中的某个关键字段中的内容相匹配时,则可以确定一条相应的记录。在本实施例中,所有的关键字段及其相关内容均保存在第一数据库中。具体地,该第一数据库例如可以为内存对象缓存数据库(简称:memcache),有关memcache的说明请参见前述方法实施例的相关内容,此处不再赘述。
此后,由第二查找模块12根据第一查找模块11查找到的所述关键字段,在第二数据库中查找与该关键字段属于同一条记录的非关键字段。其中,非关键字段是指在索引文件中不能够唯一确定一条记录的字段,用户输入的检索词与索引文件中的非关键字段中的内容匹配后,会出现多条记录,而不能确定一条记录,因此这些字段通过不用于索引,而仅用于为用户提供补充信息。
具体地,移动终端可以先读取查找到的所述关键字段所属记录的主键值;然后再根据所述主键值在所述第二数据库中查找具有相同主键值的非关键字段。其中,所述主键值是指主键字段的内容。在第一数据库及第二数据库中均存储主键字段,以标识哪些字段属于同一条记录。在本实施例中,所有的非关键字段及其相关内容均保存在第二数据库中。具体地,该第二数据库例如可以为伯克力数据库(简称:Berkeley db),有关Berkeley db的说明请参见前述方法实施例的相关内容,此处不再赘述。
接下来,由合并模块13将第一查找模块11查找到的所述关键字段的内容及第二查找模块12查找到的所述非关键字段的内容合并为搜索结果。具体地,当用户输入的检索词与所述关键字段的内容部分匹配时,得到的搜索结果则有可能为多条记录;当用户输入的检索词与所述关键字段的内容完全匹配时,得到的搜索结果则为一条记录。具体的举例请参见前述方法实施例的相关内容,此处不再赘述。
最后,由显示模块14将合并模块13生成的所述搜索结果显示给所述用户。具体地,当搜索结果为多条记录时,还可以通过另设排序模块15先根根据第一查找模块11查找到的所述关键字段的内容的词频率,从由高到底的顺序对合并模块生成的所述搜索结果进行排序,然后再由所述显示模块14将排序模块15排序后的所述搜索结果显示给所述用户。
本实施例所述移动终端通过将能够被索引的主键字段与不能被索引的非主键字段分离存储,当执行无法城市搜索时,先在第一数据库中查找主键字段,再在第二数据库中查找非主键字段,从而形成搜索结果,因此,大大减少了搜索的处理量,加快了搜索速度,提高了搜索效率。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (11)
1.一种无城市搜索方法,其特征在于包括:
接收到用户输入的检索词后,根据该检索词在第一数据库中查找与该检索词相匹配的关键字段;
根据查找到的所述关键字段,在第二数据库中查找与该关键字段属于同一条记录的非关键字段;
将查找到的所述关键字段的内容及所述非关键字段的内容合并为搜索结果;
将所述搜索结果显示给所述用户。
2.根据权利要求1所述的方法,其特征在于所述根据查找到的所述关键字段,在第二数据库中查找与该关键字段属于同一条记录的非关键字段包括:
读取查找到的所述关键字段所属记录的主键值;
根据所述主键值,在所述第二数据库中查找具有相同主键值的非关键字段。
3.根据权利要求1所述的方法,其特征在于所述根据该检索词在第一数据库中查找与该检索词相匹配的关键字段包括:根据该检索词在内存对象缓存数据库中查找与该检索词相匹配的关键字段。
4.根据权利要求1所述的方法,其特征在于所述在第二数据库中查找与该关键字段属于同一条记录的非关键字段包括:在伯克力数据库中查找与该关键字段属于同一条记录的非关键字段。
5.根据权利要求1所述的方法,其特征在于将所述搜索结果显示给所述用户包括:
根据查找到的所述关键字段的内容的词频率,从由高到底的顺序对所述搜索结果进行排序;
将排序后的所述搜索结果显示给所述用户。
6.根据权利要求1所述的方法,其特征在于所述方法还包括:所述第一数据库与作为该第一数据库备份的第一辅助库进行同步更新。
7.根据权利要求1所述的方法,其特征在于所述方法还包括:所述第二数据库与作为该第二数据库备份的第二辅助库进行同步更新。
8.一种移动终端,其特征在于包括:
第一查找模块,用于当接收到用户输入的检索词后,根据该检索词在第一数据库中查找与该检索词相匹配的关键字段;
第二查找模块,用于根据第一查找模块查找到的所述关键字段,在第二数据库中查找与该关键字段属于同一条记录的非关键字段;
合并模块,用于将第一查找模块查找到的所述关键字段的内容及第二查找模块查找到的所述非关键字段的内容合并为搜索结果;
显示模块,用于将合并模块生成的所述搜索结果显示给所述用户。
9.根据权利要求8所述的移动终端,其特征在于所述第一数据库为内存对象缓存数据库。
10.根据权利要求8所述的移动终端,其特征在于所述第二数据库为伯克力数据库。
11.根据权利要求8所述的移动终端,其特征在于还包括:
排序模块,用于根据第一查找模块查找到的所述关键字段的内容的词频率,从由高到底的顺序对合并模块生成的所述搜索结果进行排序;
所述显示模块还用于将排序模块排序后的所述搜索结果显示给所述用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010287449 CN101963977A (zh) | 2010-09-19 | 2010-09-19 | 无城市搜索方法及移动终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010287449 CN101963977A (zh) | 2010-09-19 | 2010-09-19 | 无城市搜索方法及移动终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101963977A true CN101963977A (zh) | 2011-02-02 |
Family
ID=43516850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010287449 Pending CN101963977A (zh) | 2010-09-19 | 2010-09-19 | 无城市搜索方法及移动终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101963977A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999628A (zh) * | 2012-12-07 | 2013-03-27 | 北京网秦天下科技有限公司 | 搜索方法和信息搜索终端 |
CN103092860A (zh) * | 2011-11-02 | 2013-05-08 | ***通信集团四川有限公司 | 搜索提示信息生成方法及装置 |
CN103136236A (zh) * | 2011-11-28 | 2013-06-05 | 腾讯科技(深圳)有限公司 | 信息搜索的方法及*** |
CN106874411A (zh) * | 2017-01-22 | 2017-06-20 | 网易(杭州)网络有限公司 | 一种表格的搜索方法及搜索平台 |
CN107133362A (zh) * | 2017-06-01 | 2017-09-05 | 北京凤凰理理它信息技术有限公司 | 商品信息搜索方法、***、计算机程序及电子设备 |
CN110019213A (zh) * | 2017-12-04 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 数据管理方法、装置、电子设备及存储介质 |
CN110222015A (zh) * | 2019-06-19 | 2019-09-10 | 北京泰迪熊移动科技有限公司 | 一种文件数据的读取、查询方法、装置及可读存储介质 |
CN111104426A (zh) * | 2019-11-22 | 2020-05-05 | 深圳智链物联科技有限公司 | 一种数据查询方法及*** |
CN111930747A (zh) * | 2020-07-31 | 2020-11-13 | 广州威尔森信息科技有限公司 | 一种线上数据购买的方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101276368A (zh) * | 2007-03-28 | 2008-10-01 | 株式会社东芝 | 信息检索装置和方法 |
CN101382949A (zh) * | 2008-10-28 | 2009-03-11 | 阿里巴巴集团控股有限公司 | 一种数据库表的管理方法及装置 |
CN101727502A (zh) * | 2010-01-25 | 2010-06-09 | 中兴通讯股份有限公司 | 一种数据查询方法及装置、*** |
CN101738196A (zh) * | 2009-12-10 | 2010-06-16 | 东软集团股份有限公司 | 导航设备的信息检索方法及装置 |
US7792812B1 (en) * | 2006-03-31 | 2010-09-07 | Netlogic Microsystems, Inc. | Search engine devices that support high speed parallel decoding of digital search tries |
-
2010
- 2010-09-19 CN CN 201010287449 patent/CN101963977A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7792812B1 (en) * | 2006-03-31 | 2010-09-07 | Netlogic Microsystems, Inc. | Search engine devices that support high speed parallel decoding of digital search tries |
CN101276368A (zh) * | 2007-03-28 | 2008-10-01 | 株式会社东芝 | 信息检索装置和方法 |
CN101382949A (zh) * | 2008-10-28 | 2009-03-11 | 阿里巴巴集团控股有限公司 | 一种数据库表的管理方法及装置 |
CN101738196A (zh) * | 2009-12-10 | 2010-06-16 | 东软集团股份有限公司 | 导航设备的信息检索方法及装置 |
CN101727502A (zh) * | 2010-01-25 | 2010-06-09 | 中兴通讯股份有限公司 | 一种数据查询方法及装置、*** |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103092860A (zh) * | 2011-11-02 | 2013-05-08 | ***通信集团四川有限公司 | 搜索提示信息生成方法及装置 |
CN103136236A (zh) * | 2011-11-28 | 2013-06-05 | 腾讯科技(深圳)有限公司 | 信息搜索的方法及*** |
WO2013078935A1 (zh) * | 2011-11-28 | 2013-06-06 | 腾讯科技(深圳)有限公司 | 信息搜索方法及*** |
CN103136236B (zh) * | 2011-11-28 | 2017-05-17 | 深圳市世纪光速信息技术有限公司 | 信息搜索的方法及*** |
CN102999628A (zh) * | 2012-12-07 | 2013-03-27 | 北京网秦天下科技有限公司 | 搜索方法和信息搜索终端 |
WO2014086123A1 (zh) * | 2012-12-07 | 2014-06-12 | 北京网秦天下科技有限公司 | 搜索方法和信息搜索终端 |
CN106874411A (zh) * | 2017-01-22 | 2017-06-20 | 网易(杭州)网络有限公司 | 一种表格的搜索方法及搜索平台 |
CN106874411B (zh) * | 2017-01-22 | 2019-10-15 | 网易(杭州)网络有限公司 | 一种表格的搜索方法及搜索平台 |
CN107133362A (zh) * | 2017-06-01 | 2017-09-05 | 北京凤凰理理它信息技术有限公司 | 商品信息搜索方法、***、计算机程序及电子设备 |
CN110019213A (zh) * | 2017-12-04 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 数据管理方法、装置、电子设备及存储介质 |
CN110222015A (zh) * | 2019-06-19 | 2019-09-10 | 北京泰迪熊移动科技有限公司 | 一种文件数据的读取、查询方法、装置及可读存储介质 |
CN111104426A (zh) * | 2019-11-22 | 2020-05-05 | 深圳智链物联科技有限公司 | 一种数据查询方法及*** |
CN111104426B (zh) * | 2019-11-22 | 2024-04-05 | 深圳智链物联科技有限公司 | 一种数据查询方法及*** |
CN111104426B8 (zh) * | 2019-11-22 | 2024-04-23 | 北京傲速科技有限公司 | 一种数据查询方法及*** |
CN111930747A (zh) * | 2020-07-31 | 2020-11-13 | 广州威尔森信息科技有限公司 | 一种线上数据购买的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101963977A (zh) | 无城市搜索方法及移动终端 | |
CN108563923B (zh) | 一种基因变异数据分布式存储方法及*** | |
CN110764706B (zh) | 存储***、数据管理方法及存储介质 | |
CN102129458B (zh) | 关系型数据库的存储方法及装置 | |
CN102156751B (zh) | 一种提取视频指纹的方法及装置 | |
CN103150397B (zh) | 一种数据索引创建方法、数据检索方法和*** | |
CN106874348B (zh) | 文件存储和索引方法、装置及读取文件的方法 | |
CN103116661B (zh) | 一种数据库的数据处理方法 | |
CN102541757B (zh) | 写缓存方法、缓存同步方法和装置 | |
CN104731896B (zh) | 一种数据处理方法及*** | |
CN113821171B (zh) | 一种基于哈希表与lsm树的键值存储方法 | |
CN103870492A (zh) | 一种基于键排序的数据存储方法和装置 | |
US10983909B2 (en) | Trading off cache space and write amplification for Bε-trees | |
CN102831222A (zh) | 一种基于重复数据删除的差量压缩方法 | |
CN102880854B (zh) | 基于分布式和哈希映射的室外海量物体识别方法和*** | |
CN109240607B (zh) | 一种文件读取方法和装置 | |
CN103164490A (zh) | 一种不固定长度数据的高效存储实现方法和装置 | |
CN104239377A (zh) | 跨平台的数据检索方法及装置 | |
CN103399823A (zh) | 业务数据的存储方法、设备和*** | |
US8880553B2 (en) | Redistribute native XML index key shipping | |
CN103150362A (zh) | 一种视频搜索方法及*** | |
CN103914483A (zh) | 文件存储方法、装置及文件读取方法、装置 | |
CN103186617A (zh) | 一种存储数据的方法和装置 | |
CN114138193A (zh) | 一种分区命名空间固态硬盘的数据写入方法、装置及设备 | |
CN103984507A (zh) | 一种生物信息学高性能计算平台的存储配置以及优化策略 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20110202 |