CN105468758B - 数据检索方法及装置 - Google Patents

数据检索方法及装置 Download PDF

Info

Publication number
CN105468758B
CN105468758B CN201510857487.XA CN201510857487A CN105468758B CN 105468758 B CN105468758 B CN 105468758B CN 201510857487 A CN201510857487 A CN 201510857487A CN 105468758 B CN105468758 B CN 105468758B
Authority
CN
China
Prior art keywords
index database
data
reconstructed
retrieval
index
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.)
Active
Application number
CN201510857487.XA
Other languages
English (en)
Other versions
CN105468758A (zh
Inventor
虞航仲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kingsoft Internet Security Software Co Ltd
Original Assignee
Beijing Kingsoft Internet Security Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Internet Security Software Co Ltd filed Critical Beijing Kingsoft Internet Security Software Co Ltd
Priority to CN201510857487.XA priority Critical patent/CN105468758B/zh
Publication of CN105468758A publication Critical patent/CN105468758A/zh
Application granted granted Critical
Publication of CN105468758B publication Critical patent/CN105468758B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供了一种数据检索方法及装置。该数据检索方法,应用于数据检索装置,所述方法包括:构建作为检索对象的基础数据所对应的两个相同的索引库;当获得作为检索对象的辅助数据时,从当前未被执行数据检索的至少一个索引库中,确定待重构的第一索引库;依据所述第一索引库当前所对应检索对象和本次所获得的辅助数据,重构所述第一索引库;所述方法还包括:当获得数据检索请求时,从当前未被执行重构操作的至少一个索引库中,确定待利用的第二索引库;基于所述第二索引库以及所对应的检索对象,确定所述数据检索请求所对应的检索结果。通过本方案,可以在利用辅助数据更新索引库过程中避免影响对数据检索请求的响应。

Description

数据检索方法及装置
技术领域
本发明涉及数据检索技术领域,特别是涉及数据检索方法及装置。
背景技术
为了提高检索效率,数据检索装置通常会为检索对象构建索引库,然后基于索引库进行数据检索,其中,索引库通常为:将从检索对象中所提取出的一些信息作为索引信息组织而成。举例而言:对于一篇文档,所对应的索引信息为从该文档中提取的文字内容或者文档的属性参数,文档的属性参数可以为:作者姓名,文档类别,等等。
其中,数据检索装置在启动时,会构建当前所存在的作为检索对象的基础数据所对应的索引库,进而基于该索引库执行后续的数据检索;并且,由于数据资源会不断增多,需要增加辅助数据来完善所存在的检索对象,此时,相应的索引库也需要更新,例如:对于百度、谷歌等的数据检索装置,由于每天的网络资源不断增加,这无疑使得需要不断增加辅助数据来完善检索对象,那么,相应的索引库也就需要不断更新。现有技术中,数据检索装置在获得所增加的辅助数据后,每次都基于所增加的辅助数据和当前所存在的检索对象,对当前所存在的索引库进行重构,从而在重构完成后,后续基于所重构的索引库来进行数据检索。
尽管现有的方式能够保证索引库与检索对象的有效对应,但是,每次获得辅助数据后对旧的索引库执行重构,无疑导致在更新过程中影响对数据检索请求的响应。
发明内容
本发明实施例的目的在于提供一种数据检索方法及装置,以在利用辅助数据更新索引库过程中避免影响对数据检索请求的响应。具体技术方案如下:
第一方面,本发明实施例提供了一种数据检索方法,应用于数据检索装置,所述方法包括:
构建作为检索对象的基础数据所对应的两个相同的索引库;
当获得作为检索对象的辅助数据时,从当前未被执行数据检索的至少一个索引库中,确定待重构的第一索引库;
依据所述第一索引库当前所对应检索对象和本次所获得的辅助数据,重构所述第一索引库;
所述方法还包括:
当获得数据检索请求时,从当前未被执行重构操作的至少一个索引库中,确定待利用的第二索引库;
基于所述第二索引库以及所对应的检索对象,确定所述数据检索请求所对应的检索结果。
可选的,所述从当前未被执行数据检索的至少一个索引库中,确定待重构的第一索引库,包括:
如果当前未被执行数据检索的索引库为两个,随机选择一个索引库作为待重构的第一索引库;
如果当前未被执行数据检索的索引库为一个,将当前未被执行数据检索的索引库作为待重构的第一索引库;
所述从当前未被执行重构操作的至少一个索引库中,确定待利用的第二索引库,包括:
如果当前未被执行重构操作的索引库为两个,随机选择一个索引库作为待利用的第二索引库;
如果当前未被执行重构操作的索引库为一个,将当前未被执行重构操作的索引库作为待利用的第二索引库。
可选的,所述从当前未被执行数据检索的至少一个索引库中,确定待重构的第一索引库,包括:
如果当前未被执行数据检索的索引库为两个,将未根据上一次所获得的辅助数据进行重构操作的索引库作为待重构的第一索引库;
如果当前未被执行数据检索的索引库为一个,将当前未被执行数据检索的索引库作为待重构的第一索引库;
所述从当前未被执行重构操作的至少一个索引库中,确定待利用的第二索引库,包括:
如果当前未被执行重构操作的索引库为两个,判断当前未被执行重构操作的两个索引库是否均未被重构过,如果是,随机选择一个索引库作为待利用的第二索引库,否则,将根据上一次所获得的辅助数据进行重构操作的索引库作为待利用的第二索引库;
如果当前未被执行重构操作的索引库为一个,将当前未被执行重构操作的索引库作为待利用的第二索引库。
可选的,所述基于所述第二索引库以及所对应的检索对象,确定所述数据检索请求所对应的检索结果,包括:
从所述第二索引库中,确定是否存在与所述数据检索请求所携带检索词相匹配的索引信息,如果存在,从所述第二索引库当前所对应的检索对象中,确定所述数据检索请求所对应的检索结果。
可选的,获得作为检索对象的辅助数据的方式包括:
基于网络爬虫定时上传数据的方式,获得作为检索对象的辅助数据;
或者,
基于定时从网络爬虫处请求数据的方式,获得作为检索对象的辅助数据。
可选的,获得作为检索对象的辅助数据的方式包括:
基于人工导入数据方式,获得作为检索对象的辅助数据。
可选的,重构所述第一索引库的方式与构建作为检索对象的基础数据所对应的两个相同的索引库的方式相同。
可选的,重构所述第一索引库的方式和构建作为检索对象的基础数据所对应的两个相同的索引库的方式均为:倒排表方式。
第二方面,本发明实施例提供了一种数据检索装置,包括:
索引库构建模块,用于构建作为检索对象的基础数据所对应的两个相同的索引库;
待重构索引库确定模块,用于当获得作为检索对象的辅助数据时,从当前未被执行数据检索的至少一个索引库中,确定待重构的第一索引库;
索引库重构模块,用于依据所述第一索引库当前所对应检索对象和本次所获得的辅助数据,重构所述第一索引库;
所述装置还包括:
待利用索引库确定模块,用于当获得数据检索请求时,从当前未被执行重构操作的至少一个索引库中,确定待利用的第二索引库;
索引结果确定模块,用于基于所述第二索引库以及所对应的检索对象,确定所述数据检索请求所对应的检索结果。
可选的,所述待重构索引库确定模块包括:
第一待重构索引库确定单元,用于当获得作为检索对象的辅助数据时,如果当前未被执行数据检索的索引库为两个,随机选择一个索引库作为待重构的第一索引库;如果当前未被执行数据检索的索引库为一个,将当前未被执行数据检索的索引库作为待重构的第一索引库;
所述待利用索引库确定模块包括:
第一待利用索引库确定单元,用于当获得数据检索请求时,如果当前未被执行重构操作的索引库为两个,随机选择一个索引库作为待利用的第二索引库;如果当前未被执行重构操作的索引库为一个,将当前未被执行重构操作的索引库作为待利用的第二索引库。
可选的,所述待重构索引库确定模块包括:
第二待重构索引库确定单元,用于当获得作为检索对象的辅助数据时,如果当前未被执行数据检索的索引库为两个,将未根据上一次所获得的辅助数据进行重构操作的索引库作为待重构的第一索引库;如果当前未被执行数据检索的索引库为一个,将当前未被执行数据检索的索引库作为待重构的第一索引库;
所述待利用索引库确定模块包括:
第二待利用索引库确定单元,用于当获得数据检索请求时,如果当前未被执行重构操作的索引库为两个,判断当前未被执行重构操作的两个索引库是否均未被重构过,如果是,随机选择一个索引库作为待利用的第二索引库,否则,将根据上一次所获得的辅助数据进行重构操作的索引库作为待利用的第二索引库;如果当前未被执行重构操作的索引库为一个,将当前未被执行重构操作的索引库作为待利用的第二索引库。
可选的,所述索引结果确定模块包括:
索引结果确定单元,用于从所述第二索引库中,确定是否存在与所述数据检索请求所携带检索词相匹配的索引信息,如果存在,从所述第二索引库当前所对应的检索对象中,确定所述数据检索请求所对应的检索结果。
可选的,所述待重构索引库确定模块获得作为检索对象的辅助数据的方式包括:
基于网络爬虫定时上传数据的方式,获得作为检索对象的辅助数据;
或者,
基于定时从网络爬虫处请求数据的方式,获得作为检索对象的辅助数据。
可选的,所述待重构索引库确定模块获得作为检索对象的辅助数据的方式包括:
基于人工导入数据方式,获得作为检索对象的辅助数据。
可选的,所述索引库重构模块重构所述第一索引库的方式和所述索引库构建模块构建作为检索对象的基础数据所对应的两个相同的索引库的方式相同。
可选的,所述索引库重构模块重构所述第一索引库的方式和所述索引库构建模块构建作为检索对象的基础数据所对应的两个相同的索引库的方式均为:倒排表方式。
与现有技术相比,本方案预先构建两个索引库,并在获得辅助数据后,从两个索引库中,确定当前未被执行数据检索的至少一个索引库,从当前未被执行数据检索的至少一个索引库中,确定待重构的第一索引库,并依据第一索引库当前所对应检索对象和本次所获得的辅助数据,重构该第一索引库;进一步的,当获得数据检索请求时,从两个索引库中,确定当前未被执行重构操作的至少一个索引库;从当前未被执行重构操作的至少一个索引库中,确定待利用的第二索引库;基于该第二索引库以及所对应的检索对象,确定该数据检索请求所对应的检索结果,最终实现了在利用辅助数据更新索引库过程中避免影响对数据检索请求的响应的目的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所提供的一种数据检索方法的流程图;
图2为本发明实施例所提供的一种数据检索装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了在利用辅助数据更新索引库过程中避免影响对数据检索请求的响应,本发明实施例提供了一种数据检索方法及装置。
下面首先对本发明实施例所提供的一种数据检索方法进行介绍。
需要说明的是,本发明实施例所提供的一种数据检索方法应用于数据检索装置。
如图1所示,本发明实施例所提供的一种数据检索方法,可以包括如下步骤:
S101,构建作为检索对象的基础数据所对应的两个相同的索引库;
该数据检索装置在启动时,可以采用预定的构建方式,构建作为检索对象的基础数据所对应的两个相同的索引库;并且,可以理解的是,基础数据的获得方式可以采用现有技术获得,例如:人工导入方式,或者,通过网络爬虫爬取方式,等等,这都是合理的。
其中,预定的构建方式可以采用现有方式,举例而言:该预定的构建方式可以为倒排表方式,等等。
需要强调的是,所谓的“基础数据”中的“基础”以及“辅助数据”中的“辅助”仅仅是为了不同时刻存在的作为检索对象的数据,并不具有任何限定意义;类似的,“第一索引库”中的“第一”和“第二索引库”中的“第二”仅仅为了区分待重构的索引库和待利用的索引库,并不具有任何限定意义。
S102,当获得作为检索对象的辅助数据时,从当前未被执行数据检索的至少一个索引库中,确定待重构的第一索引库;
为了丰富检索对象,可以多次获得作为检索对象的辅助数据,并且,当每次获得作为检索对象的辅助数据时,为了保证不影响数据检索以及对索引库重构,可以从当前未被执行数据检索的至少一个索引库中,确定待重构的第一索引库;其中,待重构的第一索引库为当前未被执行数据检索的一个索引库,以此保证在第一索引库重构过程中,另一索引库能够作为数据检索请求的依据,以在利用辅助数据更新索引库过程中避免影响对数据检索请求的响应。进一步的,每一索引库可以对应设置有状态标识符,通过该状态标识符可以得知索引库是否被重构过且当前所处状态,其中,当前所处状态包括:被执行重构状态、被执行数据检索状态和空闲状态,所述空闲状态为既未被执行重构也未被执行数据检索,举例而言:状态标识符000表示未被执行过重构且当前属于空闲状态;状态标识符010表示未被执行重构且当前属于被执行数据检索状态;状态标识符100表示被执行过重构且当前属于空闲状态;状态标识符110表示被执行过重构且当前属于被执行数据检索状态,状态标识符101表示被执行过重构且当前属于被重构状态,等等。
具体的,在一种实现方式中,所述从当前未被执行数据检索的至少一个索引库中,确定待重构的第一索引库,可以包括:
如果当前未被执行数据检索的索引库为两个,随机选择一个索引库作为待重构的第一索引库;
如果当前未被执行数据检索的索引库为一个,将当前未被执行数据检索的索引库作为待重构的第一索引库。
在第二种实现方式中,为了保证两个索引库均具有较高的可用性,两个索引库轮流被重构,基于该种思想,所述从当前未被执行数据检索的至少一个索引库中,确定待重构的第一索引库,可以包括:
如果当前未被执行数据检索的索引库为两个,将未根据上一次所获得的辅助数据进行重构操作的索引库作为待重构的第一索引库;
如果当前未被执行数据检索的索引库为一个,将当前未被执行数据检索的索引库作为待重构的第一索引库;
可以理解的是,在第二种实现方式中,如果当前未被执行数据检索的索引库为两个且两个索引库均未被执行过重构,可以随机选择一个索引库作为待重构的第一索引库。
另外,需要说明的是,获得作为检索对象的辅助数据的方式存在多种,为了方案清楚,下面介绍几种具体实现方式:
方式一,基于网络爬虫定时上传数据的方式,获得作为检索对象的辅助数据。
其中,在该种实现方式中,网络爬虫按照预定的爬取任务在网络上爬取用于作为检索对象的辅助数据,并且,定时将所爬取到的辅助数据上传至数据检索装置;所谓网络爬虫在网络上爬取辅助数据的方式可以采用现有技术中的网络爬虫在网络上爬取网络数据的方式。
方式二,基于定时从网络爬虫处请求数据的方式,获得作为检索对象的辅助数据。
其中,在该种实现方式中,网络爬虫按照预定的爬取任务在网络上爬取用于作为检索对象的辅助数据,并缓存所爬取的网络数据,进而,数据检索装置定时向网络爬虫请求所爬取的网络数据,其中,所谓网络爬虫在网络上爬取辅助数据的方式可以采用现有技术的网络爬虫爬取网络数据的方式。
方式三,基于人工导入数据方式,获得作为检索对象的辅助数据。
其中,在该种实现方式中,可以通过人工方式获取到作为检索对象的辅助数据,进而,通过数据检索装置所提供的数据导入入口来人工导入该辅助服务。
需要强调的是,上述的获得作为检索对象的辅助数据的方式仅仅作为示例,并不应该构成对本发明实施例的限定。
S103,依据该第一索引库当前所对应检索对象和本次所获得的辅助数据,重构该第一索引库;
在确定出待利用的第一索引库后,可以依据该第一索引库当前所对应检索对象和本次所获得的辅助数据,重构该第一索引库。
需要说明的是,重构该第一索引库的方式与构建作为检索对象的基础数据所对应的两个相同的索引库的方式相同,举例而言:重构该第一索引库的方式与构建作为检索对象的基础数据所对应的两个相同的索引库的方式均可以为倒排表方式,当然并不局限于此。
S104,当获得数据检索请求时,从当前未被执行重构操作的至少一个索引库中,确定待利用的第二索引库;
其中,当获得数据检索请求时,为了响应该数据检索请求,可以从当前未被执行重构操作的至少一个索引库中,确定待利用的第二索引库;其中,该第二索引库为当前未被执行重构操作的一个索引库,以保证在数据检索过程中,另一索引库可以基于所获得的辅助数据来进行重构操作。
在一种实现方式中,具体的,基于上述的确定待利用的第一索引库的第一种实现方式而言,相应的,所述从当前未被执行重构操作的至少一个索引库中,确定待利用的第二索引库,可以包括:
如果当前未被执行重构操作的索引库为两个,随机选择一个索引库作为待利用的第二索引库;
如果当前未被执行重构操作的索引库为一个,将当前未被执行重构操作的索引库作为待利用的第二索引库。
在另一种实现方式中,具体的,基于上述的确定待利用的第一索引库的第二种实现方式而言,相应的,所述从当前未被执行重构操作的至少一个索引库中,确定待利用的第二索引库,可以包括:
如果当前未被执行重构操作的索引库为两个,判断当前未被执行重构操作的两个索引库是否均未被重构过,如果是,随机选择一个索引库作为待利用的第二索引库,否则,将根据上一次所获得的辅助数据进行重构操作的索引库作为待利用的第二索引库;
如果当前未被执行重构操作的索引库为一个,将当前未被执行重构操作的索引库作为待利用的第二索引库。
其中,在该另一种实现方式中,为了保证索引库轮流被重构,如果当前未被执行重构操作的索引库为两个,可以判断当前未被执行重构操作的两个索引库是否均未被重构过,如果是,表明两个索引库完全相同,此时,可以随机选择一个索引库作为待利用的第二索引库,否则,为了保证索引库轮流被重构,可以将根据上一次所获得的辅助数据进行重构操作的索引库作为待利用的第二索引库。
S105,基于该第二索引库以及所对应的检索对象,确定该数据检索请求所对应的检索结果。
在确定出待利用的第二索引库后,可以基于该第二索引库以及所对应的检索对象,确定该数据检索请求所对应的检索结果。当然,在确定出该数据检索请求所对应的检索结果后,可以输出该检索结果,以使得该数据检索请求的发出者能够获知该检索结果。
具体的,所述基于该第二索引库以及所对应的检索对象,确定该数据检索请求所对应的检索结果,可以包括:
从所述第二索引库中,确定是否存在与所述数据检索请求所携带检索词相匹配的索引信息,如果存在,从所述第二索引库当前所对应的检索对象中,确定所述数据检索请求所对应的检索结果。
其中,可以理解的是,数据索引请求中携带有检索词,第二索引库中可以存在至少一个与检索词相匹配的索引信息,或者,不存在与检索信息相匹配的索引信息,这都是合理的。所谓检索词与索引信息相匹配具体指:检索词的部分内容与索引信息相同、检索词与索引信息相同和/或检索词包含于索引信息,等等。并且,当第二索引库中均不存在与该数据检索请求所携带检索词相匹配的索引信息,此时,则可以将该数据检索请求所对应的检索结果确定为内容为空。举例而言:假设检索词为”笔记本”,那么,对于检索词与索引信息匹配为检索词包含于索引信息的情况,与该检索词匹配的索引信息可以包括:“笔记本排名”,对于检索词与索引信息匹配为检索词的部分内容与索引信息相同的情况,与该检索词匹配的索引信息可以包括:“云笔记”,对于检索词与索引信息匹配为检索词与索引信息相同的情况,与该检索词匹配的索引信息可以包括“笔记本”。
进一步的,当第二索引库中存在一个与检索词相匹配的索引信息时,则该第二索引库当前所对应的检索对象中,该索引信息所对应检索结果即为该数据检索请求所对应的检索结果;而当第二索引库中存在至少两个与检索词相匹配的索引信息时,则从该第二索引库当前所对应的检索对象中,分别确定该至少两个索引信息所对应的初级检索结果,并将初级检索结果求并集后所得结果确定为该数据检索请求所对应的检索结果。
需要强调的是,从所述第二索引库当前所对应的检索对象中,确定该数据检索请求所对应的检索结果的具体实现方式可以采用现有技术,在此不做赘述。
举例而言:数据检索装置构建有作为检索对象的基础数据所对应的两个相同的索引库:索引库A和索引库B,其中,在首次依据辅助数据重构时,随机选择一个索引库来进行重构操作,后续,轮流对索引库A和索引库B执行重构;并且,在获得数据检索请求时,如果索引库A和索引库B当前均未被执行重构操作,则判断索引库A和索引库B是否均未被重构过,如果是,则随机选择一个索引库来执行数据检索,否则,将索引信息最新的索引库作为数据检索所依据的索引库,即将根据上一次所获得的辅助数据进行重构操作的索引库作为数据检索所依据的索引库。
与现有技术相比,本方案预先构建两个索引库,并在获得辅助数据后,从两个索引库中,确定当前未被执行数据检索的至少一个索引库,从当前未被执行数据检索的至少一个索引库中,确定待重构的第一索引库,并依据第一索引库当前所对应检索对象和本次所获得的辅助数据,重构该第一索引库;进一步的,当获得数据检索请求时,从两个索引库中,确定当前未被执行重构操作的至少一个索引库;从当前未被执行重构操作的至少一个索引库中,确定待利用的第二索引库;基于该第二索引库以及所对应的检索对象,确定该数据检索请求所对应的检索结果,最终实现了在利用辅助数据更新索引库过程中避免影响对数据检索请求的响应的目的。
相应于上述方法实施例,本发明实施例还提供了一种数据检索装置,如图2所示,该装置可以包括:
索引库构建模块210,用于构建作为检索对象的基础数据所对应的两个相同的索引库;
待重构索引库确定模块220,用于当获得作为检索对象的辅助数据时,从当前未被执行数据检索的至少一个索引库中,确定待重构的第一索引库;
索引库重构模块230,用于依据所述第一索引库当前所对应检索对象和本次所获得的辅助数据,重构所述第一索引库;
所述装置还包括:
待利用索引库确定模块240,用于当获得数据检索请求时,从当前未被执行重构操作的至少一个索引库中,确定待利用的第二索引库;
索引结果确定模块250,用于基于所述第二索引库以及所对应的检索对象,确定所述数据检索请求所对应的检索结果。
与现有技术相比,本方案预先构建两个索引库,并在获得辅助数据后,从两个索引库中,确定当前未被执行数据检索的至少一个索引库,从当前未被执行数据检索的至少一个索引库中,确定待重构的第一索引库,并依据第一索引库当前所对应检索对象和本次所获得的辅助数据,重构该第一索引库;进一步的,当获得数据检索请求时,从两个索引库中,确定当前未被执行重构操作的至少一个索引库;从当前未被执行重构操作的至少一个索引库中,确定待利用的第二索引库;基于该第二索引库以及所对应的检索对象,确定该数据检索请求所对应的检索结果,最终实现了在利用辅助数据更新索引库过程中避免影响对数据检索请求的响应的目的。
在一种实现方式中,所述待重构索引库确定模块220可以包括:
第一待重构索引库确定单元,用于当获得作为检索对象的辅助数据时,如果当前未被执行数据检索的索引库为两个,随机选择一个索引库作为待重构的第一索引库;如果当前未被执行数据检索的索引库为一个,将当前未被执行数据检索的索引库作为待重构的第一索引库;
所述待利用索引库确定模块240可以包括:
第一待利用索引库确定单元,用于当获得数据检索请求时,如果当前未被执行重构操作的索引库为两个,随机选择一个索引库作为待利用的第二索引库;如果当前未被执行重构操作的索引库为一个,将当前未被执行重构操作的索引库作为待利用的第二索引库。
在第二种实现方式中,所述待重构索引库确定模块220可以包括:
第二待重构索引库确定单元,用于当获得作为检索对象的辅助数据时,如果当前未被执行数据检索的索引库为两个,将未根据上一次所获得的辅助数据进行重构操作的索引库作为待重构的第一索引库;如果当前未被执行数据检索的索引库为一个,将当前未被执行数据检索的索引库作为待重构的第一索引库;
所述待利用索引库确定模块240可以包括:
第二待利用索引库确定单元,用于当获得数据检索请求时如果当前未被执行重构操作的索引库为两个,判断当前未被执行重构操作的两个索引库是否均未被重构过,如果是,随机选择一个索引库作为待利用的第二索引库,否则,将根据上一次所获得的辅助数据进行重构操作的索引库作为待利用的第二索引库;如果当前未被执行重构操作的索引库为一个,将当前未被执行重构操作的索引库作为待利用的第二索引库。
具体的,所述索引结果确定模块250可以包括:
索引结果确定单元,用于从所述第二索引库中,确定是否存在与所述数据检索请求所携带检索词相匹配的索引信息,如果存在,从所述第二索引库当前所对应的检索对象中,确定所述数据检索请求所对应的检索结果。
具体的,所述待重构索引库确定模块获得作为检索对象的辅助数据的方式包括:
基于网络爬虫定时上传数据的方式,获得作为检索对象的辅助数据;
或者,
基于定时从网络爬虫处请求数据的方式,获得作为检索对象的辅助数据。
具体的,所述待重构索引库确定模块获得作为检索对象的辅助数据的方式包括:
基于人工导入数据方式,获得作为检索对象的辅助数据。
具体的,所述索引库重构模块重构所述第一索引库的方式和所述索引库构建模块构建作为检索对象的基础数据所对应的两个相同的索引库的方式相同。
具体的,所述索引库重构模块重构所述第一索引库的方式和所述索引库构建模块构建作为检索对象的基础数据所对应的两个相同的索引库的方式均为:倒排表方式。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (16)

1.一种数据检索方法,其特征在于,应用于数据检索装置,所述方法包括:
构建作为检索对象的基础数据所对应的两个相同的索引库;
当每次获得作为检索对象的辅助数据时,从当前未被执行数据检索的至少一个索引库中,确定待重构的第一索引库;
依据所述第一索引库当前所对应检索对象和本次所获得的辅助数据,重构所述第一索引库;
所述方法还包括:
当获得数据检索请求时,从当前未被执行重构操作的至少一个索引库中,确定待利用的第二索引库;
基于所述第二索引库以及所对应的检索对象,确定所述数据检索请求所对应的检索结果;
其中,每一索引库对应设置有状态标识符,通过所述状态标识符得知该索引库是否被重构过且当前所处状态,其中,所述当前所处状态包括:被执行重构状态、被执行数据检索状态和空闲状态,所述空闲状态为既未被执行重构也未被执行数据检索。
2.根据权利要求1所述的方法,其特征在于,所述从当前未被执行数据检索的至少一个索引库中,确定待重构的第一索引库,包括:
如果当前未被执行数据检索的索引库为两个,随机选择一个索引库作为待重构的第一索引库;
如果当前未被执行数据检索的索引库为一个,将当前未被执行数据检索的索引库作为待重构的第一索引库;
所述从当前未被执行重构操作的至少一个索引库中,确定待利用的第二索引库,包括:
如果当前未被执行重构操作的索引库为两个,随机选择一个索引库作为待利用的第二索引库;
如果当前未被执行重构操作的索引库为一个,将当前未被执行重构操作的索引库作为待利用的第二索引库。
3.根据权利要求1所述的方法,其特征在于,所述从当前未被执行数据检索的至少一个索引库中,确定待重构的第一索引库,包括:
如果当前未被执行数据检索的索引库为两个,将未根据上一次所获得的辅助数据进行重构操作的索引库作为待重构的第一索引库;
如果当前未被执行数据检索的索引库为一个,将当前未被执行数据检索的索引库作为待重构的第一索引库;
所述从当前未被执行重构操作的至少一个索引库中,确定待利用的第二索引库,包括:
如果当前未被执行重构操作的索引库为两个,判断当前未被执行重构操作的两个索引库是否均未被重构过,如果是,随机选择一个索引库作为待利用的第二索引库,否则,将根据上一次所获得的辅助数据进行重构操作的索引库作为待利用的第二索引库;
如果当前未被执行重构操作的索引库为一个,将当前未被执行重构操作的索引库作为待利用的第二索引库。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述基于所述第二索引库以及所对应的检索对象,确定所述数据检索请求所对应的检索结果,包括:
从所述第二索引库中,确定是否存在与所述数据检索请求所携带检索词相匹配的索引信息,如果存在,从所述第二索引库当前所对应的检索对象中,确定所述数据检索请求所对应的检索结果。
5.根据权利要求1-3任一项所述的方法,其特征在于,获得作为检索对象的辅助数据的方式包括:
基于网络爬虫定时上传数据的方式,获得作为检索对象的辅助数据;
或者,
基于定时从网络爬虫处请求数据的方式,获得作为检索对象的辅助数据。
6.根据权利要求1-3任一项所述的方法,其特征在于,获得作为检索对象的辅助数据的方式包括:
基于人工导入数据方式,获得作为检索对象的辅助数据。
7.根据权利要求1-3任一项所述的方法,其特征在于,重构所述第一索引库的方式与构建作为检索对象的基础数据所对应的两个相同的索引库的方式相同。
8.根据权利要求7所述的方法,其特征在于,重构所述第一索引库的方式和构建作为检索对象的基础数据所对应的两个相同的索引库的方式均为:倒排表方式。
9.一种数据检索装置,其特征在于,包括:
索引库构建模块,用于构建作为检索对象的基础数据所对应的两个相同的索引库;
待重构索引库确定模块,用于当每次获得作为检索对象的辅助数据时,从当前未被执行数据检索的至少一个索引库中,确定待重构的第一索引库;
索引库重构模块,用于依据所述第一索引库当前所对应检索对象和本次所获得的辅助数据,重构所述第一索引库;
所述装置还包括:
待利用索引库确定模块,用于当获得数据检索请求时,从当前未被执行重构操作的至少一个索引库中,确定待利用的第二索引库;
索引结果确定模块,用于基于所述第二索引库以及所对应的检索对象,确定所述数据检索请求所对应的检索结果;
其中,每一索引库对应设置有状态标识符,通过所述状态标识符得知该索引库是否被重构过且当前所处状态,其中,所述当前所处状态包括:被执行重构状态、被执行数据检索状态和空闲状态,所述空闲状态为既未被执行重构也未被执行数据检索。
10.根据权利要求9所述的装置,其特征在于,所述待重构索引库确定模块包括:
第一待重构索引库确定单元,用于当获得作为检索对象的辅助数据时,如果当前未被执行数据检索的索引库为两个,随机选择一个索引库作为待重构的第一索引库;如果当前未被执行数据检索的索引库为一个,将当前未被执行数据检索的索引库作为待重构的第一索引库;
所述待利用索引库确定模块包括:
第一待利用索引库确定单元,用于当获得数据检索请求时,如果当前未被执行重构操作的索引库为两个,随机选择一个索引库作为待利用的第二索引库;如果当前未被执行重构操作的索引库为一个,将当前未被执行重构操作的索引库作为待利用的第二索引库。
11.根据权利要求9所述的装置,其特征在于,所述待重构索引库确定模块包括:
第二待重构索引库确定单元,用于当获得作为检索对象的辅助数据时,如果当前未被执行数据检索的索引库为两个,将未根据上一次所获得的辅助数据进行重构操作的索引库作为待重构的第一索引库;如果当前未被执行数据检索的索引库为一个,将当前未被执行数据检索的索引库作为待重构的第一索引库;
所述待利用索引库确定模块包括:
第二待利用索引库确定单元,用于当获得数据检索请求时,如果当前未被执行重构操作的索引库为两个,判断当前未被执行重构操作的两个索引库是否均未被重构过,如果是,随机选择一个索引库作为待利用的第二索引库,否则,将根据上一次所获得的辅助数据进行重构操作的索引库作为待利用的第二索引库;如果当前未被执行重构操作的索引库为一个,将当前未被执行重构操作的索引库作为待利用的第二索引库。
12.根据权利要求9-11任一项所述的装置,其特征在于,所述索引结果确定模块包括:
索引结果确定单元,用于从所述第二索引库中,确定是否存在与所述数据检索请求所携带检索词相匹配的索引信息,如果存在,从所述第二索引库当前所对应的检索对象中,确定所述数据检索请求所对应的检索结果。
13.根据权利要求9-11任一项所述的装置,其特征在于,所述待重构索引库确定模块获得作为检索对象的辅助数据的方式包括:
基于网络爬虫定时上传数据的方式,获得作为检索对象的辅助数据;
或者,
基于定时从网络爬虫处请求数据的方式,获得作为检索对象的辅助数据。
14.根据权利要求9-11任一项所述的装置,其特征在于,所述待重构索引库确定模块获得作为检索对象的辅助数据的方式包括:
基于人工导入数据方式,获得作为检索对象的辅助数据。
15.根据权利要求9-11任一项所述的装置,其特征在于,所述索引库重构模块重构所述第一索引库的方式和所述索引库构建模块构建作为检索对象的基础数据所对应的两个相同的索引库的方式相同。
16.根据权利要求15所述的装置,其特征在于,所述索引库重构模块重构所述第一索引库的方式和所述索引库构建模块构建作为检索对象的基础数据所对应的两个相同的索引库的方式均为:倒排表方式。
CN201510857487.XA 2015-11-30 2015-11-30 数据检索方法及装置 Active CN105468758B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510857487.XA CN105468758B (zh) 2015-11-30 2015-11-30 数据检索方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510857487.XA CN105468758B (zh) 2015-11-30 2015-11-30 数据检索方法及装置

Publications (2)

Publication Number Publication Date
CN105468758A CN105468758A (zh) 2016-04-06
CN105468758B true CN105468758B (zh) 2019-08-09

Family

ID=55606458

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510857487.XA Active CN105468758B (zh) 2015-11-30 2015-11-30 数据检索方法及装置

Country Status (1)

Country Link
CN (1) CN105468758B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108229358B (zh) * 2017-12-22 2020-09-04 北京市商汤科技开发有限公司 索引建立方法和装置、电子设备、计算机存储介质
CN108874983A (zh) * 2018-06-12 2018-11-23 陕西师范大学 一种计算机数据检索方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101246500A (zh) * 2008-03-27 2008-08-20 腾讯科技(深圳)有限公司 一种实现数据快速索引的检索系统和方法
CN101882142A (zh) * 2009-05-08 2010-11-10 富士通株式会社 索引合并方法和索引合并装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080052284A1 (en) * 2006-08-05 2008-02-28 Terry Stokes System and Method for the Capture and Archival of Electronic Communications

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101246500A (zh) * 2008-03-27 2008-08-20 腾讯科技(深圳)有限公司 一种实现数据快速索引的检索系统和方法
CN101882142A (zh) * 2009-05-08 2010-11-10 富士通株式会社 索引合并方法和索引合并装置

Also Published As

Publication number Publication date
CN105468758A (zh) 2016-04-06

Similar Documents

Publication Publication Date Title
Palagi et al. A survey of definitions and models of exploratory search
CN103810224B (zh) 信息持久化和查询方法及装置
US6728704B2 (en) Method and apparatus for merging result lists from multiple search engines
CN103853842B (zh) 一种自动问答方法和系统
CN102902717A (zh) 在应用商店中对多个应用程序进行组织的方法、系统和装置
CN104199969B (zh) 网页数据分析方法及装置
CN104765592B (zh) 一种面向网页采集任务的插件管理方法及其装置
CN103685228B (zh) 一种网站漏洞快速扫描方法及设备
CN103440199B (zh) 测试引导方法和装置
CN108197312A (zh) 获取房源数据方法、装置、设备及可读存储介质
CN103745006B (zh) 一种互联网信息搜索系统及方法
CN105468758B (zh) 数据检索方法及装置
CN104636368B (zh) 数据检索方法、装置及服务器
CN103226574B (zh) 信息搜索方法及装置
CN104967698B (zh) 一种爬取网络数据的方法和装置
CN106295252B (zh) 用于基因产品的检索方法
US20130073554A1 (en) Methods and systems for acquiring and processing veterinary-related information to facilitate differential diagnosis
KR20090120843A (ko) 사용자 웹 사용 정보에 기반한 멀티 컨셉 네트워크 생성시스템 및 방법
CN105608195B (zh) 一种给搜索结果中的官网添加网站图标的方法和系统
CN112015771B (zh) 数据检索方法、装置、电子设备及计算机存储介质
CN107644094B (zh) 构建精品资源库的方法、装置、服务器及存储介质
CN105488165B (zh) 基于索引库的数据检索方法及系统
CN106227661B (zh) 数据处理方法及装置
CN107679174A (zh) 知识组织系统的构建方法、装置及服务器
CN104050273B (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
GR01 Patent grant
GR01 Patent grant